33 lines
2.3 KiB
Markdown
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.
|