Skip to content

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