Skip to main content

Modules

The system is one Spring Boot application with a layered package structure, so "module" is not a package — it is a URL group. These are the same groups the published API reference is split into, read from the same source, so the two can never disagree about where an endpoint belongs.

ModulePrefixesControllersEndpointsTablesScreens
Auth & Identity/api/auth/**, /api/users/**, +352254
HR/api/employees/**, /api/departments/**, +1113811919
Payroll/api/payroll/**, /api/payroll-changes/**, +1315653017
PH Statutory/api/sss-contribution-rates/**, /api/philhealth-contribution-rates/**, +7961149
Recruitment/api/job-requisitions/**, /api/job-openings/**, +7851157
CRM/api/crm/**741108
Inventory & Portal/api/inventory/**, /api/portal/**14862217
Billing & Platform/api/billing/**, /api/webhooks/**, +6818352
Platform Misc/api/notifications/**, /api/conversations/**, +46321718

Outside the groups​

WebSocket controllers handle STOMP destinations rather than HTTP routes, so they belong to no URL group and appear in no OpenAPI document. That is correct, not a gap.

ControllerDestinations
TypingController1

Generated page

This page is rebuilt from the source on every docs build by docs-site/scripts/gen-code-wiki.mjs. Editing it has no effect — change the code, or, if what you want to say is prose, write it in docs/.