geocrop-platform./apps/nextgen/.harness/audit/GITEA_SETUP_PLAN.md

2.8 KiB

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.