# Gitea Task Management Plan - Africa Alert PWA ## Objective Configure Gitea with milestones, issues, and project boards based on the system audit to track the project's progress. ## Gitea Project - **Project Name:** gen-fin - **Platform:** Gitea (local/remote) ## Implementation Steps ### 1. Milestone Creation Use `tea.exe` to create the following milestones: - **Milestone 1: Security & Hardening** - **Milestone 2: Infrastructure & DevOps** - **Milestone 3: Feature Completeness & User Roles** - **Milestone 4: Quality Assurance** ### 2. Issue Creation & Assignment Create issues for each task identified in the audit report and associate them with the corresponding milestone and the "gen-fin" project. #### Milestone 1: Security & Hardening - `fix-jwt-secrets`: Remove hardcoded JWT secret fallbacks and enforce environment variables. - `secure-paynow-webhook`: Implement SHA1 signature verification for inbound Paynow webhooks. - `restrict-cors`: Update CORS configuration to whitelist specific origins. - `auth-rate-limiting`: Add `express-rate-limit` to `/api/auth/login` and `/api/auth/register`. - `security-headers`: Integrate `helmet` middleware for enhanced HTTP headers. #### Milestone 2: Infrastructure & DevOps - `docker-port-conflict`: Change client/API ports to 3000/3001 respectively. - `docker-ignore`: Add a `.dockerignore` file to optimize build context. - `docker-non-root`: Configure the Dockerfile to run as a non-privileged user. - `health-endpoints`: Implement `/api/health` and `/api/ready` endpoints. - `ci-cd-setup`: Create Gitea Actions workflow for linting and building. #### Milestone 3: Feature Completeness & User Roles (Project: gen-fin) - `multi-role-refactor`: Migrate `users.role` to many-to-many relationship via `user_roles` table. - `admin-differentiation`: Distinguish between Systems Admin and School Administrator. - `role-sports-head`: Implement Sports Head role, permissions, and dashboard. - `role-clubs-head`: Implement Clubs Head role, permissions, and dashboard. - `role-specialized`: Create dashboards for Librarian, Nurse, and Accountant. - `audit-log-ui`: Build a frontend view for the `sync_logs` table. - `role-executive`: Add 'School Head' and 'Deputy Head' roles and modules. #### Milestone 4: Quality Assurance - `testing-backend`: Set up Vitest/Jest and write initial integration tests for Auth. - `testing-frontend`: Set up React Testing Library and write basic smoke tests. - `testing-e2e`: Configure Playwright for end-to-end testing of core flows. ### 3. Project Organization Ensure all Milestone 3 issues are added to the **gen-fin** project board in Gitea for unified tracking. ## Verification - Run `tea ms list` to verify milestones. - Run `tea issue list` to verify issue creation and milestone association. - Verify the "gen-fin" project board in the Gitea UI.