Federal benefit provided by the Canada Revenue Agency (CRA) for eligible children in ministry care. Hosted on OpenShift.
Read CONTRIBUTING.md for info on collaborating in this repo.
- Node.js 24 — use
nvm useinbackend/(seebackend/.nvmrc) - Docker — Colima (macOS) or Docker Desktop (Windows/macOS)
From the repo root:
make env # copy .env.example files (first time only)
make install # npm install in backend + frontend
make db # Postgres, migrations, fixtures, seed
make dev # backend + frontendOpen http://localhost:5173 (frontend). API: http://localhost:3000/api.
With DEPLOY_ENV=local, ICM/MIS/CRA integrations read from .local/storage/ (populated during make db seed). No MinIO or real ICM required for laptop dev.
Local pipeline test (after make db):
- App starts with 32 contacts + matching staging baseline
make data-fetch→ loads 10 new ICM/MIS recordsmake run-eligibility→ 42 contacts total- Create a batch in the UI, send to CRA, then use
make generate-cra-response,make poll-cra-response,make generate-cra-wkl,make poll-cra-responsefor the full flow
See backend/README.md and frontend/README.md for module layout and setup detail.
Use WSL or Git Bash with the same make targets above, or run steps manually — see backend/README.md and frontend/README.md.
| App | Variable | Local value | Purpose |
|---|---|---|---|
| Backend | DEPLOY_ENV |
local |
Skip SSO/JWT; local ICM/MIS/CRA file integrations |
| Backend | FILE_STORAGE_PATH |
../.local/storage |
CRA + ICM/MIS fixture directory |
| Backend | NODE_ENV |
development |
Node runtime mode |
| Frontend | VITE_APP_ENV |
LOCAL |
Toolbar + skip Keycloak |
| Frontend | PORT |
5173 |
Vite dev server port |
| Frontend | BACKEND_URL |
http://localhost:3000 |
Vite proxy target |
Copy backend/.env.example → backend/.env and frontend/.env.example → frontend/.env before first run (make env).
- backend/README.md — API setup, env vars, testing
- frontend/README.md — UI setup, auth, Vite proxy