Witam, jeżeli masz chwilę to prosiłbym abyś o sprawdzania mojego projektu i o porady co do projektu lub czego się uczyć albo to i to. Z góry dzięki :). Ogólnie to celuje w Java Developera, bo jednak te stronki to chyba nie dla mnie.
Link do strony:
- stronka na heroku: https://home-budget-site.herokuapp.com/home
Link do repozytoriów:
- strona: https://github.com/Oziaka/home-budget-site
- REST API: https://github.com/Oziaka/home-budget-api
Prośba o ocenę projektu Spring + Angular CLI
Wątek przeniesiony 2020-06-27 14:23 z Java przez Patryk27.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 26
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2787
Fajnie, że masz rozdzielone repozytoria na frontend i backend. Z angulara się nie znam, ale popatrzyłem na backendową część i parę uwag ode mnie:
- https://github.com/Oziaka/home-budget-api/blob/master/dev/database/dropTables.sql - ciekawi mnie, czemu jest tylko jeden plik sqlowy, który dropuje bazę? :) Często stosowanym podejściem są skrypty migracyjne, np
Flyway(ihibernate.ddl-autoustawione na false) - Wersja javy definiowane osobno w
pom.xmli wsystem.properties? - https://github.com/Oziaka/home-budget-api/blob/master/src/main/java/pl/security/user_role/UserRoleResource.java - pusty controller?
- https://github.com/Oziaka/home-budget-api/blob/master/src/main/java/pl/security/user_role/UserRoleDto.java - trochę jak dla mnie to logika powinna iść w drugim kierunku -> Czyli zamiast robić tak, że rola usera ma w sobie set userów, wolałbym, żeby to każdy z userów miał set roli. Bo rola, sama w sobie, nie powinna wiedzieć którzy userzy ją mają (jest sobie rola, i tyle jej wystarczy, że istnieje)
- https://github.com/Oziaka/home-budget-api/blob/master/src/main/java/pl/user/User.java -> relacja
@ManyToManyz Listą jest bardzo nieefektywna - see https://vladmihalcea.com/14-high-performance-java-persistence-tips/ punkt 7 - https://github.com/Oziaka/home-budget-api/blob/master/src/main/java/pl/user/User.java (ale w sumie i reszta aplikacji) - unidirectional
@OneToManyjest również nieefektywna - see https://vladmihalcea.com/the-best-way-to-map-a-onetomany-association-with-jpa-and-hibernate/
To tak na pierwszy rzut oka, nie przejrzałem wszystkich klas ;) ale ogólnie skoro dopiero "celujesz" w java developera, to jak dla mnie bardzo ładnie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 26
No poprawiłem te relacje i dałem przy mapach sety zamiast list i dodałem wartość mappedby. Chciałem jeszcze zapytać, co dalej robić żeby dostać pracę jako programista i czy ten projekt spełni wymagania rekruterów?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 160
https://github.com/Oziaka/home-budget-site/blob/master/src/app/register/register.component.ts - sprawdzenie zgodności haseł można fajnie ograć za pomoca validatora
https://github.com/Oziaka/home-budget-site/blob/master/src/app/models/user.model.ts - do takich modeli lepiej używać interfejsów niż klas
- z tego co zauważyłem w projektach dobrą praktyką jest explicite podawanie modyfikatorów dostępu nawet jeśli domyślnie są public
- dodatkowo masz dużo pustych plików css, konstruktorów i metod cyklu życia w komponentach. Jeśli to jest zostawione na poczet dalszej pracy to ok ale ogólnie sie takie rzeczy usuwa