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

2.3 KiB

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.