01Full-stack · Najveći projekt
Web Mechanic: platforma za naručivanje u vulkanizerskom servisu
Cjeloviti poslovni sustav za vulkanizerski servis: javna stranica s online naručivanjem termina te zasebni portali za klijente, mehaničare, skladištare i administratore.
- Problem
- Sustav za rezervacije puca na rubnim slučajevima: dva klijenta uzmu isti termin, ista roba se rezervira dvaput ili jedan korisnik vidi tuđe podatke.
- Rješenje
- Spring Boot modularni monolit (autentikacija, termini, skladište, rezervacije, administracija) u kojem svaki modul izlaže jednu fasadu. Dvostruke rezervacije blokira PostgreSQL EXCLUDE ograničenje, zaliha se mijenja samo uvjetnim ažuriranjima uz potpuni dnevnik kretanja robe, a provjera vlasništva nalazi se u samim upitima.
- Što sam naučio
- Važna jamstva treba staviti tamo gdje se ne mogu zaboraviti, u bazu i u upit, i dokazati ih testovima koji se izvode nad stvarnim PostgreSQL-om, a ne nad in-memory zamjenom.
Ključne točke
- 44 backend integracijska testa: istovremeno naručivanje, otkazivanje, utrke nad zalihama, IDOR i eskalacija ovlasti
- Granice modula provjerene ArchUnitom
- Frontend pokriven Vitest, Playwright end-to-end testovima i automatskim provjerama pristupačnosti (axe-core, WCAG 2.1 AA)




