geocrop-platform./apps/nextgen/.harness/changelogs/2026-07-02-teacher-tools-co...

33 lines
2.3 KiB
Markdown

# Teacher Tools Feature Completion Changelog — 2026-07-02
## Overview
Successfully integrated the complete Pedagogical Framework (Teacher Tools) stubs in the frontend client and optimized the backend controllers to supply detailed joined relations.
## Scope & Access Matrix
- **Module:** Pedagogical Framework / Teacher Tools
- **Route:** `/teacher-tools` (accessible by `teacher`, `principal`, `school_admin`, `systems_admin`)
- **API Endpoints:**
- `GET /api/teacher/syllabuses` & `POST /api/teacher/syllabuses`
- `GET /api/teacher/schemes` & `POST /api/teacher/schemes`
- `GET /api/teacher/focus-points` & `POST /api/teacher/focus-points`
- `GET /api/teacher/lesson-plans` & `POST /api/teacher/lesson-plans`
## Detailed Changes
### Backend Enhancements
- **File:** `server/src/controllers/teacher.controller.js`
- Modified `GET /focus-points` to join `schemes_of_work` and `subjects_new`, returning `scheme_term`, `scheme_academic_year`, and `subject_name`.
- Modified `GET /lesson-plans` to join `subjects_new`, `users`, and left join `schemes_of_work` and `focus_points` to return related metadata (subject name, scheme term/year, focus topic).
- Modified `POST /lesson-plans` to allow nullable `scheme_id` and `focus_point_id` references.
### Frontend Completion
- **File:** `client/src/pages/teacher/TeacherTools.tsx`
- Replaced stubs with a premium, responsive layout.
- Implemented the **Interactive Weekly Planner** in the Scheme of Work creation modal, allowing teachers to dynamically add/remove weeks with topics and objectives, saved as a JSON string under the `content` field.
- Added collapsible timelines for **Schemes of Work** to view the weekly timeline inside card components.
- Added list/grid views for **Focus Points** and **Lesson Plans**.
- Added collapsible detailed views for **Lesson Plans** covering objectives, introduction, development, conclusion, assessment methods, homework, and reflections.
- Implemented dynamic cascading selectors in the Lesson Plan creation modal: selecting a Subject filters available Schemes, and selecting a Scheme filters available Focus Points.
- Integrated dynamic subject fetching from `/api/subjects` to replace simple text inputs with database-synchronized registry options.
- Ensured fully successful compilation and production-grade bundler builds.