Backend: create api/helpers.py with eligible_enrollment_filter,
count_eligible_students, get_active_enrollment, ensure_unique_name,
upsert_app_configs, and build_heatmap. Add full_name properties to
Student model. Apply across all route files (-481/+184 lines).
Frontend: create stores/helpers.js with withLoading composable,
apply to assessments and classes Pinia stores.
96/96 tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>