2.5 KiB
2.5 KiB
Africa Alert PWA — Project Memory
This file is the project-level memory for the Africa Alert PWA. Reins write here only when a lesson is specific to this repo and would be re-discovered painfully without it. Cross-project lessons go to the relevant agent's memory (mavis memory append <agent>); user-level preferences go to user memory.
Conventions
- See
.harness/docs/conventions.mdfor the SQL contract, controller template, store template, the frontend page template (5-file checklist for adding a new page — store, page, route in App.tsx, nav entry in Nav.tsx, changelog), the multi-context store pattern, auth/RBAC, sync contract, Paynow flow, and env vars. - See
.harness/docs/testing.mdfor the test stack, manual recipes, and CI plan. - See
.harness/agent.md(orchestrator) and each rein'sagent.mdfor routing and scope.
Project facts (don't re-discover)
- Dev branch:
dev. Main branch:main. Origin: Gitea athttps://git.techarvest.co.zw/fchinembiri/next-gen.git(this is NOT GitHub). - Branch model (Git Flow, main = production): work and test on
dev; merge tomainonly after tests pass;mainMUST always be deployable. No direct commits tomain. See rootAGENTS.md§7.1. - Demo accounts (dev only, seeded by
server/src/database/init.js): admin@school.com / admin123, teacher@school.com / teacher123, student@school.com / student123, parent@school.com / parent123. - SQLite file is
server/data/school.db(WAL mode →-shmand-walfiles alongside it). - PWA service worker is built by
vite-plugin-pwafromvite.config.ts; the dev server doesn't ship a real SW (productionnpm run builddoes). - Docker Compose mounts
data/anduploads/as volumes — both are gitignored. - The
examsmodule is the canonical reference implementation for new modules (controller, store, page, route, nav) — seeIMPLEMENTATION_SUMMARY.mdandserver/src/controllers/exams.controller.js. client/src/store/api.tsis the single axios instance. Don't create a second one.
Open follow-ups (capture here, not in agent memory)
- Test framework not yet chosen / installed —
testerrein's first sprint. - No CI yet —
testerrein owns it when the user asks. npm run buildfor client currently ships the dist bundle into Docker; verify the production SW registration path hasn't drifted (the orchestrator should asktesterto add an offline-load smoke test).outputs/andlogo/directories at the repo root are unused artifacts (likely from an earlier build) — don't import from them.