Team & Ownership
RACI
| Area | Tech Lead | Backend | Frontend | Mobile | QA | PM | DevOps |
|---|---|---|---|---|---|---|---|
| Architecture | R/A | C | C | C | I | I | C |
| API design | R/A | R | C | C | I | I | I |
| Laravel impl | A | R | I | I | C | I | C |
| React impl | A | I | R | I | C | I | I |
| Flutter impl | A | I | I | R | C | I | I |
| CI/CD | C | C | I | I | I | I | R/A |
| Requirements | C | I | I | I | I | R/A | I |
| QA / UAT | C | C | C | C | R/A | R | I |
| Security | R/A | R | R | R | R | I | R |
R = Responsible, A = Accountable, C = Consulted, I = Informed.
Communication
- Daily stand-up at 10:00 local.
- Sprint planning Monday, demo + retro Friday (week 2).
- Async: GitHub PR discussions, Slack
#attendance-dev. - Weekly sync with pilot client starting Sprint 7.
Decision Records
Every architectural decision lands in documentation/docs/adrs/ as a short ADR (context, decision, consequences). Lightweight — one page is fine.
Onboarding
New joiners should:
- Run
docker compose up -dfrom the repo root. - Read
documentation/docs/introduction/overview.mdthrougharchitecture/components.md. - Walk through the attendance-capture workflow doc.
- Pick a
good-first-issuelabel to tackle.