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.
scibi92scibi92