Sažetak | U radu je opisan proces kreiranja web aplikacije namijenjene za obradu putnih naloga. Komponenta servera razvijena je koristeći Java programski jezik verzije 17, uz primjenu Spring Boot u verziji 2.7.12 kao osnovno razvojno okruženje. Klijentski dio aplikacije implementiran je pomoću Angular razvojnog okruženja verzije 16. Pri razvoju aplikacije, inkorporirani su različiti moduli za aspekte autorizacije i autentikacije. Na primjer, autorizacija se temelji na JWT tokenima u Spring Boot okruženju, dok su u Angular okruženju korišteni AuthGuard i RoleGuard moduli. Među ostalim značajnim modulima u Spring Boot dijelu su i ItextPdf za generiranje PDF dokumenata, JJWT za rad s JSON Web Tokenima, Spring Security za osiguranje aplikacije, Spring Doc Open API UI i Open API alati za dokumentiranje API-ja, Spring Boot JPA za rad s JPA repozitorijima, Spring Boot Validation za validaciju podataka, te različiti starter moduli kao što su Spring Boot Starter Web i Spring Boot DevTools. Također, koristio se MySQL Connector za povezivanje s MySQL bazom podataka, Spring Boot Configuration Processor za obradu konfiguracijskih podataka, Lombok za smanjenje boilerplate koda te Spring Boot Starter Actuator za monitoring aplikacije. U Angular dijelu aplikacije, ključni moduli uključuju Angular Animations za animacije, Angular CDK za osnovne komponente kao što su popup prozori i drag-and-drop funkcionalnosti, Angular Compiler za kompilaciju koda, Angular Core za osnovne funkcionalnosti, Angular Forms za upravljanje formama, Angular Material za komponente grafičkog sučelja, Angular Platform-browser za komunikaciju s web preglednikom, Angular Router za upravljanje rutama, te različite vanjske module kao što su Bootstrap za dizajn, JWTDecode za dekodiranje JWT tokena, RxJs za reaktivno programiranje, TsLib za TypeScript kompatibilnost te Zone.js za detekciju promjena u JavaScript okruženju. Pri kreiranju ove aplikacije, odabrane tehnologije su pažljivo selektirane kako bi što bolje odgovarale trenutnim zahtjevima tržišta. Krajnji rezultat je moderna aplikacija koja se 2 razvijala korištenjem verzioniranja. Završni rad može se pronaći na službenoj GitHub stranici, gdje je proces rada i razvoja aplikacije pomno dokumentiran. |