Algeria's NFN Wool Traceability Platform. A monorepo featuring a NestJS/PostgreSQL backend, Flutter mobile apps (Collector, Shepherd, Transporter), and specialized web portals. Built with a strict feature-based MVVM architecture, Riverpod state management, and a dedicated design system.
# ba33
NFN wool traceability platform for Algeria — track every kilogram from
shepherd to certified product.
> Hackathon MVP · 55/55 e2e pipeline tests green · 6 client apps · 1 backend
> · 137 endpoints.
---
## Quickstart
```bash
make # boots Postgres + Redis + API + web-operations
make seed # populates demo data (laverie, transformer, BOM, 11 personas)
make shepherd # mobile-shepherd on simulator
make collector # mobile-collector on simulator
```
Then:
- API: `
localhost` (Swagger at `/api/docs`)
- web-operations: `
localhost`
- web-buyer: `
localhost` (run separately, see deployment doc)
- web-institutional: `
localhost`
Smoke test: `bash scripts/test-pipeline.sh` → `Results: 55 pass · 0 fail · 0 skip`.
---
## Documentation
Full documentation is in **`docs/`**.
| Doc | What it covers |
|---|---|
| docs/README.md | Doc index + quickstart |
| docs/PRD.md | Product requirements + user personas |
| docs/ARCHITECTURE.md | Monorepo layout, tech stack, dependency graph |
| docs/DATA_MODEL.md | DB schema, event log, key relationships |
| docs/API_REFERENCE.md | All 137 endpoints |
| docs/PIPELINE.md | End-to-end data flow |
| docs/WORKFLOWS.md | Each phase deep dive |
| docs/MOBILE_APPS.md | mobile-shepherd + mobile-collector |
| docs/WEB_APPS.md | web-operations + web-buyer + web-institutional |
| docs/AUTH_AND_RBAC.md | Personas, permissions, role-based routing |
| docs/DEPLOYMENT.md | Docker, env, migrations, seed |
| docs/TESTING.md | E2E test script + smoke recipes |
| docs/DEMO_GUIDE.md | Step-by-step demo script |
| docs/DEVELOPMENT.md | Conventions, codegen, contribution rules |
| docs/GLOSSARY.md | NFN domain terminology |
| docs/CHANGELOG.md | Significant changes vs the original cahier |
For AI agents working on this repo: read `CLAUDE.md` +
`AGENTS.md` before writing code.
---
## What's in this repo
```
ba33/
├── apps/
│ ├── api/ NestJS API · 16 modules · 137 endpoi …