- Replace sessionStorage with localStorage for user data persistence
- Add refreshSession() function to restore session from HTTPOnly cookie via /users/me
- Update tests to use localStorage mocks
- Add 3 new tests for refreshSession() functionality
- Update superadmin credentials in README.md and DEVOPS.md
- Added business value proposition and monetization models
- Added Mermaid diagrams for user flows
- Added links to all 6 docs files
- Added links to component-level documentation
- Updated architecture diagram with all services
- Added project status summary
- Create docs/API.md with complete API reference
- 40+ routes documented
- Permission matrix by role
- Module breakdown (Auth, Users, Jobs, Applications, etc.)
- Error response examples
- ID format documentation
- Fix seeders to use SERIAL (not UUID) for jobs.id
- jobs.js: let DB auto-generate id
- acme.js, fictional-companies.js, epic-companies.js: same fix
- Update README.md with API documentation link
- impl(frontend): server-side pagination for jobs listing
- impl(frontend): standardized api error handling and sonner integration
- test(frontend): added unit tests for JobCard
- impl(backend): added SanitizeMiddleware for XSS protection
- test(backend): added table-driven tests for JobService
- docs: updated READMES, created ROADMAP.md and DATABASE.md
- fix(routing): redirected landing page buttons to /jobs
- Add Jobs endpoints to swagger.json manually (/jobs GET, POST, /jobs/{id} GET, PUT, DELETE)
- Update README.md Swagger URL from /swagger/ to /docs/
- Add production URL: https://api-dev.gohorsejobs.com/docs/index.html
- Expand endpoints table with all available routes
- Fix port from 8080 to 8521