Django API¶
Overview¶
The Django API is the primary backend for Nova Home Care, handling patient data (PHI), authentication, and business logic.
| Property | Value |
|---|---|
| Framework | Django (Python) |
| EC2 Instance | prod-nhc-django |
| Port | 8000 |
| ALB | prod-nhc-django (path: /api/*, /auth/*, /admin/*, /ping/*) |
| Database | RDS MySQL 8.0 (prod-nhc-django) |
| Cache/Broker | ElastiCache Redis |
| ECR | novahomecareapi |
| HIPAA Scope | ✅ Yes — processes PHI |
URL Patterns¶
| Path | Purpose |
|---|---|
/api/* |
REST API endpoints |
/auth/* |
Authentication (login, token refresh) |
/admin/* |
Django admin panel |
/ping/ |
Health check (ALB target group) |
Environment Variables¶
Secrets are stored in AWS SSM Parameter Store and injected at container startup:
| Variable | SSM Path |
|---|---|
DB_PASSWORD |
/prod/nhc/django/db_password |
CELERY_BROKER_URL |
/staging/nhc/django/redis_url |
Deployment¶
Deployed via GitLab CI → ECR → SSM RunShellScript → docker compose pull && docker compose up -d
sequenceDiagram
Developer->>GitLab: git push main
GitLab->>Runner: Trigger pipeline
Runner->>ECR: docker build & push
Runner->>SSM: RunShellScript
SSM->>EC2 Django: docker compose pull
EC2 Django->>ECR: Pull new image
EC2 Django->>EC2 Django: docker compose up -d