# 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.
