Skip to content

Commit

Permalink
Merge pull request #122 from GSA-TTS/system-diagram
Browse files Browse the repository at this point in the history
Add a Mermaid system diagram showing data flows and AWS resources
  • Loading branch information
danielnaab authored Oct 30, 2024
2 parents 6c3676b + 926d86a commit 743a97c
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions documentation/architecture/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,44 @@ The current remote development environment uses [services provided by cloud.gov]
reports, via [RDS PostgreSQL database](https://cloud.gov/docs/services/relational-database/).
- **Task Queue Broker**: Manages queue of data validation tasks for Celery, via
[AWS Elasticache Redis](https://cloud.gov/docs/services/aws-elasticache/).

### System diagram

```mermaid
flowchart TB
%% NAD System Boundary
subgraph NAD_CH [NAD CH]
direction TB
%% Application and AWS Infrastructure
app[[Python/Flask Server]]
%% Storage Backends
postgres[(RDS Postgres)]
redis{{AWS Redis}}
s3[/S3 Bucket/]
%% Connections from Flask Application
app -.->|Stores provider and submission metadata| postgres
app -.->|Enqueues tasks| redis
app -.->|Reads and writes submissions| s3
%% Job Runner positioned below storage backends
job_runner[[Job Runner]]
job_runner -.->|Reads tasks| redis
job_runner -.->|Reads and writes data| s3
end
%% CI/CD System
cicd[(GitHub or GitLab)]
cicd -->|Deploys application stack - HTTPS| NAD_CH
%% External Components and Users
login[(Login.gov)]
data_provider{{Data Provider}}
nad_admin{{NAD Administrator}}
%% Interactions and Connections
data_provider -- Uploads Data Extracts - HTTPS --> app
nad_admin -- Manages Submissions & Providers - HTTPS --> app
app -->|Authenticates users - HTTPS| login
```

0 comments on commit 743a97c

Please sign in to comment.