[Java] Prośba o radę - stack technologiczny pracy inż.

0

Cześć wszystkim,

Zgłaszam się do Was z gorącą prośbą o radę.
Z racji tego, że projekt, na którym jestem od początku swojej "kariery" zawodowej to technologiczne bagno, w którym jestem zatopiony po uszy, postanowiłem, że nadszedł najwyższy czas na zmiany.
Przed zmianą pracy chciałbym jednak podszkolić się z technologii, które wykorzystywane są w normalnym, codziennym świecie IT. Tak się składa, że jestem na ostatnim semestrze studiów zaocznych, a przede mną praca inżynierska. Jako pracę inżynierską chcę stworzyć dość prostą aplikację webową (typowy CRUD), bez skomplikowanych procesów biznesowych, gdyż moim celem jest zapoznanie się z technologiami, a nie poświęcanie czasu na dogłębne analizy konkretnych scenariuszy / user case'ów. Chciałbym potraktować tworzenie tej aplikacji jako poligon ćwiczebny.
Z uwagi na powyższe chciałbym wykorzystać takie technologie, które są wykorzystywane w większości projektów / wymagane w ofertach pracy, póki co bez "wymyślnych" i "hipsterskich" rozwiązań, na to przyjdzie czas, teraz chciałbym zająć się totalnymi fundamentami.

Stanowisko w jakie mierzę to Back-end developer, a w przyszłości fullstack.
Niestety, nie mam prawie żadnego doświadczenia z aplikacjami webowymi. Architekturę REST, protokoły HTTP(S), frameworki JS-owe znam jedynie z teorii, dlatego każda cenna rada jest dla mnie ważna. Samą Javę SE znam nienajgorzej, mam jakieś nic niewarte certyfikaty OCA i OCP Java 8, natomiast Springa dopiero poznaję.

Czas na stworzenie tej aplikacji to jakieś 2-3 miesiące, około 15-20 godzin tygodniowo.

Technologie, które chciałbym użyć do swojego projektu to:
Spring Framework (Spring boot, Spring data, Spring MVC, Spring Security?), JPA (Hibernate), na froncie chciałbym wykorzystać jakiś popularniejszy framework (może AngularJS?), framework do testów, relacyjna DB. Rozważałem również implementację standardu OAuth, ale nie wiem czy nie lepiej poświecić czas na coś innego.
Rzeczy poboczne/DevOpsowe, jak GIT, Gradle/Maven, narzędzia CI/CD mam opanowane w stopniu wystarczającym.

2

Ale w sumie o co pytasz? :D Bo widzę że sensownie to sobie rozpisałeś. To co wypisałeś to takie sztampowe technologie które dają start w 75% ofert pracy. Oczywiście zaraz ktoś może powiedzieć, ze zamiast tego lepiej ratpacka, jooq, scale, cqrs... i kto wie, moze faktycznie "lepiej", ale raczej nie z punktu widzenia pracy ;)

0
Vaterial napisał(a):

Cześć wszystkim,

Zgłaszam się do Was z gorącą prośbą o radę.
Z racji tego, że projekt, na którym jestem od początku swojej "kariery" zawodowej to technologiczne bagno, w którym jestem zatopiony po uszy, postanowiłem, że nadszedł najwyższy czas na zmiany.
Przed zmianą pracy chciałbym jednak podszkolić się z technologii, które wykorzystywane są w normalnym, codziennym świecie IT. Tak się składa, że jestem na ostatnim semestrze studiów zaocznych, a przede mną praca inżynierska. Jako pracę inżynierską chcę stworzyć dość prostą aplikację webową (typowy CRUD), bez skomplikowanych procesów biznesowych, gdyż moim celem jest zapoznanie się z technologiami, a nie poświęcanie czasu na dogłębne analizy konkretnych scenariuszy / user case'ów. Chciałbym potraktować tworzenie tej aplikacji jako poligon ćwiczebny.
Z uwagi na powyższe chciałbym wykorzystać takie technologie, które są wykorzystywane w większości projektów / wymagane w ofertach pracy, póki co bez "wymyślnych" i "hipsterskich" rozwiązań, na to przyjdzie czas, teraz chciałbym zająć się totalnymi fundamentami.

Stanowisko w jakie mierzę to Back-end developer, a w przyszłości fullstack.
Niestety, nie mam prawie żadnego doświadczenia z aplikacjami webowymi. Architekturę REST, protokoły HTTP(S), frameworki JS-owe znam jedynie z teorii, dlatego każda cenna rada jest dla mnie ważna. Samą Javę SE znam nienajgorzej, mam jakieś nic niewarte certyfikaty OCA i OCP Java 8, natomiast Springa dopiero poznaję.

Czas na stworzenie tej aplikacji to jakieś 2-3 miesiące, około 15-20 godzin tygodniowo.

Technologie, które chciałbym użyć do swojego projektu to:
Spring Framework (Spring boot, Spring data, Spring MVC, Spring Security?), JPA (Hibernate), na froncie chciałbym wykorzystać jakiś popularniejszy framework (może AngularJS?), framework do testów, relacyjna DB. Rozważałem również implementację standardu OAuth, ale nie wiem czy nie lepiej poświecić czas na coś innego.
Rzeczy poboczne/DevOpsowe, jak GIT, Gradle/Maven, narzędzia CI/CD mam opanowane w stopniu wystarczającym.

Takie coś to w tydzień napiszesz a nie 2-3 miesiące
no ok. może w 2 tyg. będzie dopracowane na cacy...

1
Shalom napisał(a):

Ale w sumie o co pytasz? :D Bo widzę że sensownie to sobie rozpisałeś. To co wypisałeś to takie sztampowe technologie które dają start w 75% ofert pracy. Oczywiście zaraz ktoś może powiedzieć, ze zamiast tego lepiej ratpacka, jooq, scale, cqrs... i kto wie, moze faktycznie "lepiej", ale raczej nie z punktu widzenia pracy ;)

Pod koniec pisania posta sam zacząłem się zastanawiać czy nie odpowiedziałem sobie sam na pytanie. :D Dzięki za odpowiedź.
Głównie chciałem aby ktoś mający jakieś doświadczenie w tej płaszczyźnie ocenił czy rozpisany plan ma sens i/lub doradził np. jakieś projekty Springowe lub inne technologie, które warto byłoby wdrożyć.

1

Polecam rozważyć Spocka do testów, Groovy + Spock >>> Java + JUnit + Mockito.
Na bazę danych polecam PostgreSQL, łatwo prosto i przyjemnie, ew. jeszcze warto rozważyć LiquiBasa do wersjonowania bazy danych (ułatwia testy integracyjne!)

0
Vaterial napisał(a):
Shalom napisał(a):

Ale w sumie o co pytasz? :D Bo widzę że sensownie to sobie rozpisałeś. To co wypisałeś to takie sztampowe technologie które dają start w 75% ofert pracy. Oczywiście zaraz ktoś może powiedzieć, ze zamiast tego lepiej ratpacka, jooq, scale, cqrs... i kto wie, moze faktycznie "lepiej", ale raczej nie z punktu widzenia pracy ;)

Pod koniec pisania posta sam zacząłem się zastanawiać czy nie odpowiedziałem sobie sam na pytanie. :D Dzięki za odpowiedź.
Głównie chciałem aby ktoś mający jakieś doświadczenie w tej płaszczyźnie ocenił czy rozpisany plan ma sens i/lub doradził np. jakieś projekty Springowe lub inne technologie, które warto byłoby wdrożyć.

Witam. Jakie docelowo wybrałeś technologie ? I czy zakończyłeś projekt który zaplanowałeś/ jesteś zadowolony. coś byś teraz zmienił (w doborze technologii) ? Pozdrawiam.

0
whiplash napisał(a):
Vaterial napisał(a):
Shalom napisał(a):

Ale w sumie o co pytasz? :D Bo widzę że sensownie to sobie rozpisałeś. To co wypisałeś to takie sztampowe technologie które dają start w 75% ofert pracy. Oczywiście zaraz ktoś może powiedzieć, ze zamiast tego lepiej ratpacka, jooq, scale, cqrs... i kto wie, moze faktycznie "lepiej", ale raczej nie z punktu widzenia pracy ;)

Pod koniec pisania posta sam zacząłem się zastanawiać czy nie odpowiedziałem sobie sam na pytanie. :D Dzięki za odpowiedź.
Głównie chciałem aby ktoś mający jakieś doświadczenie w tej płaszczyźnie ocenił czy rozpisany plan ma sens i/lub doradził np. jakieś projekty Springowe lub inne technologie, które warto byłoby wdrożyć.

Witam. Jakie docelowo wybrałeś technologie ? I czy zakończyłeś projekt który zaplanowałeś/ jesteś zadowolony. coś byś teraz zmienił (w doborze technologii) ? Pozdrawiam.

Projekt skończyłem, jednak w innych technologiach niż początkowo zakładałem. Finalnie wybrałem stos MERN - Mongo Express.js React Node.js, w którym zrobiłem prostą appkę webową deployowaną na heroku. Prawdę mówiąc poszedłem trochę na łatwiznę, ponieważ core apki wziąłem z kursu, który robiłem na Udemy.
Prawdopodobnie teraz wziąłbym technologie Springowe (Spring Boot, Security, MVC, Data - może Cloud) + Angular/React na froncie (ew. Thymeleaf).

1 użytkowników online, w tym zalogowanych: 0, gości: 1