- Local API root:
http://localhost:4000/api - Uploads are served from:
http://localhost:4000/uploads/...
GET /api/health
POST /api/auth/loginGET /api/auth/me
All /api/* routes except /api/health and /api/auth/login require a bearer token.
GET /api/modules
GET /api/templatesGET /api/templates?moduleId=lesson-plannerPOST /api/templatesPUT /api/templates/:idDELETE /api/templates/:id
GET /api/modules/schedule-organizerPOST /api/modules/schedule-organizerPUT /api/modules/schedule-organizer/:idDELETE /api/modules/schedule-organizer/:id
GET /api/modules/reminder-centerPOST /api/modules/reminder-centerPUT /api/modules/reminder-center/:idDELETE /api/modules/reminder-center/:idPOST /api/modules/reminder-center/:id/complete
GET /api/modules/lesson-plannerPOST /api/modules/lesson-plannerPUT /api/modules/lesson-planner/:idDELETE /api/modules/lesson-planner/:idPOST /api/modules/lesson-planner/:id/generate-worksheet-draft
GET /api/modules/worksheet-designerPOST /api/modules/worksheet-designerPUT /api/modules/worksheet-designer/:idDELETE /api/modules/worksheet-designer/:idGET /api/modules/worksheet-designer/:id/export/specGET /api/modules/worksheet-designer/:id/export/previewGET /api/modules/worksheet-designer/:id/export/docxGET /api/modules/worksheet-designer/:id/export/pdf
GET /api/modules/resource-vaultPOST /api/modules/resource-vault/uploadPUT /api/modules/resource-vault/:idDELETE /api/modules/resource-vault/:id
- The current API is designed for local/demo use.
- Response shapes remain intentionally simple, mostly
{ items }, individual item payloads, or{ success, item }. - The current test suite covers auth, CRUD behavior, migration/bootstrap, worksheet generation, reminder recurrence, and resource cleanup.