Define SQLAlchemy ORM models for all core entities: User (with role: admin/student/parent), Student, Parent, Class, Schedule, FeePayment, Report. Create Alembic migration scripts and seed data for initial setup. Models must support INR currency and IST timezone as per SRD Section 7 (Localization).
Set up global React theme and design system using the SRD color palette: Background #F9F9F9, Surface #E3F2FD, Text #212121, Accent #FF6F61, Muted #B0BEC5. Implement light/dark mode toggle with smooth CSS transitions. Create reusable animated card and icon components (flip, slide, expand on hover; pulse/rotate/glow icons) as specified in SRD Section 6. These components will be consumed by all page sections.
Configure GitHub Actions (or equivalent) CI/CD pipeline: lint + unit tests on PR, Docker image build and push to registry on merge to main, Kubernetes deployment trigger for staging and production environments. Include environment-specific .env handling for DEV/STAGING/PROD. Complements existing docker-compose (local) and k8s chart (server) setups already in place.
Implement FastAPI authentication endpoints: POST /api/auth/login, POST /api/auth/logout, POST /api/auth/refresh-token. Add JWT-based auth middleware with role-based access control (admin, student, parent). Protect all downstream API routes. Supports the Login page flow for all three user personas. Note: depends_on frontend section tasks for Login (v2) to be linked after creation.
Implement FastAPI endpoints for student profile management: GET /api/students, GET /api/students/{id}, POST /api/students, PUT /api/students/{id}, DELETE /api/students/{id}. Include parent-student relationship linking. Admin-only write access, student/parent read access scoped to own data. Supports the Students (v2) and Dashboard (v2) frontend pages.
Implement FastAPI endpoints for class schedule management: GET /api/schedules, GET /api/schedules/{id}, POST /api/schedules, PUT /api/schedules/{id}, DELETE /api/schedules/{id}. Support filtering by student ID and date range. Return IST-formatted datetimes. Admin write access, student/parent read access. Supports Schedule (v2) frontend page for all user flows.
Configure global React state management (e.g., Redux Toolkit or Zustand) for auth state (user role, JWT token), theme preference (light/dark), and shared data caches (students list, schedule, fees). Set up API client (Axios/Fetch) with JWT interceptors for automatic token attachment and 401 refresh handling. This underpins all frontend pages.
Integrate GPT 5.4 via LiteLLM for LLM routing and LangChain for orchestration. Implement a FastAPI endpoint POST /api/ai/assist that accepts user context (role, page) and returns user-friendly responses/suggestions (e.g., fee reminders, schedule explanations). Wire to LiteLLM router for model fallback. Scoped to admin and parent personas initially per SRD constraints on budget.
Implement FastAPI endpoints for fee tracking: GET /api/fees, GET /api/fees/{student_id}, POST /api/fees, PUT /api/fees/{id}. Support payment status (paid/pending/overdue), INR amounts, and payment history. Admin full access, student/parent read-only scoped to own records. Supports Fees (v2) and Payments (v2) frontend pages.
Implement FastAPI endpoints for report generation: GET /api/reports/fees (fee payment summary), GET /api/reports/attendance (attendance summary). Support date range filters and export formats (JSON/CSV). Admin-only access. Aggregates data from fees and schedule tables. Supports Reports (v2) frontend page.
Implement FastAPI endpoint GET /api/dashboard/summary returning role-scoped summary data: admin sees total students, pending fees, upcoming classes count, recent activity; student/parent sees own upcoming classes, fee status, and notifications. Powers the Dashboard (v2) page with real-time dynamic card content as described in SRD Section 6.

No comments yet. Be the first!