26.6.16
Highlights
- Moved education API routes into a first-class
backend/app/api/education/package. - Expanded the education backend endpoint surface for schools, school years, calendars, enrollments, employments, assignments, grade levels, and assignment types.
- Continued backend API package cleanup for system, configuration, tenant, user, census, project, and asset route modules.
Education Module
- Added school LCRUD plus archive and restore endpoints.
- Added school year LCRUD plus archive, restore, and make-current endpoints.
- Added scoped calendar routes for schools and school years.
- Added school enrollment CRUD, status transitions, and scoped enrollment routes.
- Added school employment CRUD, employment lifecycle actions, and person-scoped employment routes.
- Added school employment assignment CRUD, lifecycle actions, and scoped assignment routes.
- Renamed grade level endpoints to
school-grade-levels. - Added employment assignment type endpoints.
Backend Architecture
- Replaced flat education route modules with a composed
backend/app/api/education/package. - Added education use-case helpers and catalog workflows under
backend/app/application/schools/. - Added mapper and domain schema support for the expanded education lifecycle fields.
- Added migration
20260628_0041_expand_education_module.py.
Documentation
- Updated backend architecture docs to describe the education package and expanded route families.
- Updated the backlog for the completed education module expansion.