From 65d3bab982a60560f63dcd6a5f4b9748755436cc Mon Sep 17 00:00:00 2001 From: HowardPeter Date: Mon, 13 Apr 2026 19:30:15 +0700 Subject: [PATCH] docs(github): update README in architecture section --- README.md | 21 ++++++++++++++++++--- docs/deploy-aws-architecture.jpg | Bin 0 -> 75625 bytes 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 docs/deploy-aws-architecture.jpg diff --git a/README.md b/README.md index 277f95c..67fa30b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A backend microservices-based management system to help user manage their learni ## Architecture -This system consists of 5 microservices: +#### The system consists of 5 microservices: - **Auth Service** (Port 3001) - User authentication and authorization - **Student Service** (Port 3002) - Student data management @@ -12,16 +12,31 @@ This system consists of 5 microservices: - **Teacher Service** (Port 3005) - Teacher profile management - **Tuition Service** (Port 3004) - Payment and invoice management +#### AWS Deployment Architecture + +![AWS Deployment Architecture](./docs/deploy-aws-architecture.jpg) + +The microservices are deployed on AWS with the following architecture: + +- **ECR (Elastic Container Registry)** - Stores Docker images for each service +- **Lambda** - Runs each microservice as a containerized function (arm64, deployed from ECR images) +- **API Gateway (HTTP API)** - Single entry point that routes requests to the corresponding Lambda function +- **ElastiCache Serverless (Valkey)** - Shared serverless caching layer for all services +- **S3** - Image file storage, with versioning, lifecycle policies, and SSE encryption +- **Secrets Manager** - Stores sensitive credentials (MongoDB connection, JWT keys, refresh token secret) +- **CloudWatch** - Monitoring and alerting for Lambda functions, API Gateway, and ElastiCache +- **VPC** - Lambda functions run in private subnets with a NAT Gateway for outbound access + ## Tech Stack -- **Backend**: Node.js, Express.js +- **Backend**: Node.js, Javascript - **Databases**: MongoDB (Auth), PostgreSQL (Students, Classes, Teachers, Tuition) - **Caching**: Redis (Database caching) - **ORM**: Prisma (PostgreSQL services), Mongoose (MongoDB) - **Authentication**: JWT with RSA keys - **Containerization**: Docker & Docker Compose - **CI/CD**: GitHub Actions -- **Deployment**: AWS and Terraform (IaC) +- **Terraform** - Manages all AWS infrastructure as Infrastructure as Code ## Development Set Up diff --git a/docs/deploy-aws-architecture.jpg b/docs/deploy-aws-architecture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f03ce43af2447cee2befd954550f39780652a62 GIT binary patch literal 75625 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 literal 0 HcmV?d00001