# notharshhaa/aws-projects architecture

> Architecture diagram of the GitHub repository notharshhaa/aws-projects, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-05). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/notharshhaa/aws-projects
- Repository: https://github.com/notharshhaa/aws-projects

## Overview

This repository is a hands-on AWS DevOps project collection, not one integrated runtime application. Its documented projects span Terraform-hosted EC2, WordPress on AWS, load-balanced or static hosting, and MailMatrix bulk email. MailMatrix has two visible dispatch approaches: a local CLI that loads recipients and renders templates before sending, and S3-triggered Lambda handlers that read recipient files and send through SES. The graph captures those evidenced paths; deployment wiring and other project internals were not sampled.

Main entry points: [`README.md`](https://github.com/notharshhaa/aws-projects/blob/master/README.md) (Project catalog), [`AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py`](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py) (Email sender), [`AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py`](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py) (Email CLI), [`AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py`](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py) (Upload handler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portfolio["AWS project portfolio"]
  node_portfolio_readme["Project catalog<br/>[README.md]"]
  node_project01["Terraform web server<br/>[README.md]"]
  node_project02["WordPress hosting<br/>[README.md]"]
  node_project03["Hosting comparison<br/>[README.md]"]
  node_mailmatrix["MailMatrix project<br/>[README.md]"]
end

subgraph group_local["Local email dispatch"]
  node_cli["Email CLI<br/>[cli_tool.py]"]
  node_recipient_data["Recipient loader<br/>[data_manager.py]"]
  node_template_renderer["Template renderer"]
  node_email_sender["Email sender<br/>[email_sender.py]"]
end

subgraph group_serverless["Serverless email dispatch"]
  node_upload_handler["Upload handler"]
  node_delete_handler["Delete handler"]
  node_event_handler["S3 event handler<br/>[lambda_function.py]"]
end

subgraph group_services["External services"]
  node_s3[("Amazon S3")]
  node_ses{{"Amazon SES"}}
end

node_learner(("Learner"))

node_learner -->|"explores"| node_portfolio_readme
node_portfolio_readme -->|"describes"| node_project01
node_portfolio_readme -->|"describes"| node_project02
node_portfolio_readme -->|"describes"| node_project03
node_portfolio_readme -->|"describes"| node_mailmatrix
node_cli -->|"loads recipients"| node_recipient_data
node_cli -->|"renders message"| node_template_renderer
node_cli -->|"sends message"| node_email_sender
node_email_sender -->|"sends email"| node_ses
node_email_sender -->|"loads recipients"| node_recipient_data
node_email_sender -->|"renders message"| node_template_renderer
node_s3 -.->|"triggers on upload"| node_upload_handler
node_upload_handler -->|"reads recipient file"| node_s3
node_upload_handler -->|"sends welcome email"| node_ses
node_s3 -.->|"triggers on deletion"| node_delete_handler
node_delete_handler -->|"reads recipient file"| node_s3
node_delete_handler -->|"sends rejection email"| node_ses
node_s3 -.->|"triggers on object events"| node_event_handler
node_event_handler -->|"reads CSV"| node_s3
node_event_handler -->|"dispatches notifications"| node_ses

click node_portfolio_readme "https://github.com/notharshhaa/aws-projects/blob/master/README.md"
click node_project01 "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-01/README.md"
click node_project02 "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-02/README.md"
click node_project03 "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-03/README.md"
click node_mailmatrix "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/README.md"
click node_cli "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py"
click node_recipient_data "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/data_manager.py"
click node_template_renderer "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/template_manager.py"
click node_email_sender "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py"
click node_upload_handler "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py"
click node_delete_handler "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileDeletehandler.py"
click node_event_handler "https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/lambda_function.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_portfolio_readme,node_project01,node_project02,node_project03,node_mailmatrix toneBlue
class node_cli,node_recipient_data,node_template_renderer,node_email_sender toneAmber
class node_upload_handler,node_delete_handler,node_event_handler toneMint
class node_s3,node_ses toneRose
class node_learner toneIndigo
```

## Components

### AWS project portfolio

- [Project catalog](https://github.com/notharshhaa/aws-projects/blob/master/README.md): `README.md`
- [Terraform web server](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-01/README.md): `AWS-Project-01/README.md`
- [WordPress hosting](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-02/README.md): `AWS-Project-02/README.md`
- [Hosting comparison](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-03/README.md): `AWS-Project-03/README.md`
- [MailMatrix project](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/README.md): `AWS-Project-04/README.md`

### Local email dispatch

- [Email CLI](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py`
- [Recipient loader](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/data_manager.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/data_manager.py`
- [Template renderer](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/template_manager.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/core/template_manager.py`
- [Email sender](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py`

### Serverless email dispatch

- [Upload handler](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py`
- [Delete handler](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileDeletehandler.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileDeletehandler.py`
- [S3 event handler](https://github.com/notharshhaa/aws-projects/blob/master/AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/lambda_function.py): `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/lambda_function.py`

### External services

- **Amazon S3**
- **Amazon SES**

### Other components

- **Learner**

## Connections

- Learner → Project catalog: explores (evidence: `README.md`)
- Project catalog → Terraform web server: describes (evidence: `README.md`)
- Project catalog → WordPress hosting: describes (evidence: `README.md`)
- Project catalog → Hosting comparison: describes (evidence: `README.md`)
- Project catalog → MailMatrix project: describes (evidence: `README.md`)
- Email CLI → Recipient loader: loads recipients (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py`)
- Email CLI → Template renderer: renders message (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py`)
- Email CLI → Email sender: sends message (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/cli/cli_tool.py`)
- Email sender → Amazon SES: sends email (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py`)
- Email sender → Recipient loader: loads recipients (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py`)
- Email sender → Template renderer: renders message (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/local_build/src/email_sender.py`)
- Amazon S3 → Upload handler: triggers on upload
- Upload handler → Amazon S3: reads recipient file (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py`)
- Upload handler → Amazon SES: sends welcome email (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileUploadHandler.py`)
- Amazon S3 → Delete handler: triggers on deletion
- Delete handler → Amazon S3: reads recipient file (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileDeletehandler.py`)
- Delete handler → Amazon SES: sends rejection email (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/fileDeletehandler.py`)
- Amazon S3 → S3 event handler: triggers on object events
- S3 event handler → Amazon S3: reads CSV (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/lambda_function.py`)
- S3 event handler → Amazon SES: dispatches notifications (evidence: `AWS-Project-04/MailMatrix-Stream-Cloud-Enhanced-Bulk-Email-Dispatch-System/Mailmatrix-stream/lambda/lambda_function.py`)
