Frida
Overview
Frida runs the full clinical and administrative operation of a geriatric care home. Built at Digitan Agency for a client, end to end and solo: domain modelling, backend, frontend and tests.
Problem
A care home runs on rotating shifts, devices shared between caregivers, and a clinical logging load that on paper gets lost or duplicated. Without per-person traceability there is no way to know who administered which dose, or to audit a resident’s history.
Solution
Seven functional areas across twelve bounded contexts:
- Residents: clinical records, consultations and notes
- Vital signs: logging and tracking
- Medication: prescriptions and dose generation
- Staff: shifts, activity, and per-person traceability through an
action_codeon shared devices - Rooms and beds: assignment and occupancy
- Alerts: notices derived from clinical state
- Administration: administrative control and billing
Architecture
The backend is organised into twelve bounded contexts — account, activity, alerts, clinical_record, consultation, medical, notes, prescription, resident, room, shift and worker — each following a three-layer DDD architecture: domain, application and infrastructure.
A shared layer holds the DDD base classes, the generic infrastructure and an event bus built on pyventus. Event-driven patterns are applied selectively, only where decoupling between contexts earns it.
Quality
- 356 unit and integration tests with pytest, across 76 test files
- 38 E2E tests with Playwright, covering authentication and authorization roles
Tech stack
- Frontend: Next.js, React, TypeScript
- Backend: FastAPI, Python, layered DDD architecture
- Database: PostgreSQL
- Events: pyventus
- Testing: pytest, Playwright