Architecture Extensibility — V1 Does Not Block Future Phases
V1 design: org_id on every entity | RBAC with org-scoping | API-first | Modular Monolith
- Fabbi builds (13 weeks)
- DOCTOR · SITE_ADMIN
- COMPLIANCE_ADMIN · SUPER_ADMIN
- Clinical Core + Shared Services
- Doctor Portal (mobile + web)
- Admin / Compliance Portal
- Cannametrics Data Foundation
- org_id + RBAC + API-first from Day 1
- Patient Portal
- Patient role + permissions set
- Patient Portal (read + prescriptions)
- PATIENT role on existing auth
- No schema migration needed
- Pharmacy Portal
- PHARMACIST role
- Pharmacy Portal
pharmacy_org_type on same model
- No V1 tables changed
- Cannametrics Intelligence
- Cannametrics Dashboards
- Analytics on existing V1 tables
- Historical data collected from Day 1
- No migration needed
- Manufacturer Portal
- Manufacturer Portal
Manufacturer.org_type
- Same auth/tenant model
- Marketing & SEO
- Public marketing site (Next.js)
- Doctor/pharmacy finder
- No DB connection to V1
- Adding Patient/Pharmacy portal = new role + new UI. No schema migration.
- Adding PATIENT, PHARMACIST, MANUFACTURER = role + permission additions only.
- API-first (all features = REST APIs). V1.5 = new frontend on existing APIs.
- Each future module can become a microservice post-V1 if scale demands.
- Cannametrics tables in V1 — V3 reads directly. No migration. Historical data collected from Day 1.
- Multi-language = content additions only. No architecture change.