# Project Backlog: Infrastructure-to-Frontend Gaps

This document tracks school management modules that have backend database infrastructure but lack frontend implementation.

## Completed (2026-06-12)

- **Front Office (5 tables live, 3 new pages, 1 new controller)**: `phone_call_logs` and `postal_dispatch` activated with full CRUD; `visitor_logs`, `admission_enquiries`, `complaints` UIs already existed. New pages: `PhoneCalls`, `PostalDispatch`. Routes: `/front-office/phone-calls`, `/front-office/postal`. Roles: `school_admin` / `systems_admin` / `principal` / `teacher` (teacher is read-only for postal). PR: `integration/front-office-and-attendance` (merge SHA `cb3dcc8`).
- **Multi-context Attendance (4 controllers, 4 pages)**: New controllers `club-attendance`, `hostel-attendance`, `transport-attendance` (each with `GET /`, `GET /roster`, `POST /bulk`, `GET /history`). New `GET /api/attendance/today` on the class controller. Pages: `AttendanceTake` (4 tabs: Class / Hostel / Club / Transport), `TeacherAttendanceHistory`, `ParentAttendanceHistory` (read-only), shared `AttendanceHistoryView` (4 tabs, summary tiles, CSV export). Routes: `/attendance/take`, `/attendance/history`. PR: `integration/front-office-and-attendance`.

## Priority 1: Inventory & Asset Management
- [ ] **Item Catalog UI**: Create views to list, search, and categorize school supplies (stationery, electronics).
- [ ] **Stock Transactions**: Implement forms for recording purchases, adjustments, and current stock levels.
- [ ] **Item Issuing System**: UI for assigning items to staff, departments, or students with return tracking.
- **DB Tables**: `items`, `item_stock`, `stock_transactions`, `item_issues`.

## Priority 2: ~~Front Office & Visitor Management~~ (DONE — see Completed)
- [x] **Digital Visitor Log** — `client/src/pages/admin/front-office/VisitorLog.tsx` (shipped pre-2026-06-12).
- [x] **Admission Enquiry CRM** — `client/src/pages/admin/front-office/AdmissionEnquiry.tsx` (shipped pre-2026-06-12).
- [x] **Complaints Manager** — `client/src/pages/admin/front-office/Complaints.tsx` (shipped pre-2026-06-12).
- [x] **Phone-Call Log** — `client/src/pages/admin/front-office/PhoneCalls.tsx` + controller (`front-office.controller.js` `phone-calls` block). NEW 2026-06-12.
- [x] **Postal Dispatch** — `client/src/pages/admin/front-office/PostalDispatch.tsx` + controller (`front-office.controller.js` `postal` block). NEW 2026-06-12.
- **DB Tables**: `visitor_logs`, `admission_enquiries`, `complaints`, `phone_call_logs`, `postal_dispatch`.

## Priority 3: ~~Online Exam & Quiz Engine~~ (DONE — see Completed)
- [x] **Student Exam Interface** — `client/src/pages/exams/ExamViews.tsx` (TakeExamPage) shipped pre-2026-06-12.
- [x] **Teacher Exam Builder** — `client/src/pages/exams/ExamEditor.tsx` shipped pre-2026-06-12.
- [x] **Results Dashboard** — `ExamResultsPage` shipped pre-2026-06-12.
- **DB Tables**: `exam_groups`, `question_banks`, `exam_attempts`, `exam_answers`.

## Priority 4: HR & Payroll Self-Service
- [ ] **Leave Management**: Portal for staff to apply for leave and for admins to approve/reject requests.
- [ ] **Payroll Processing**: Accountant UI for running monthly payroll and generating payslips.
- [ ] **Staff Payslips**: Self-service view for employees to download their historical payslips.
- **DB Tables**: `leave_requests`, `payroll_runs`, `payslips`.

## Priority 5: Specialized Resource Management
- [ ] **Hostel Portal**: Room allocation, bed availability tracking, and hostel fee management.
- [ ] **Transport Dashboard**: Fleet management, route mapping, and student pickup assignments.
- **DB Tables**: `hostels`, `rooms`, `vehicles`, `transport_allocations`.

## Priority 6: Library Circulation
- [ ] **Book Catalog**: UI for searching and managing the school library's book collection.
- [ ] **Borrowing System**: Interface for checking books in and out to students/staff.
- **DB Tables**: (Requires extension of existing library fee structure).
