This repository documents my complete AWS learning journey through a hands-on Twitter-style project called CRUDDER — a basic social app where users can post, like, and comment — built using TypeScript, React, and Node.js.
Each milestone aligns with weekly AWS Cloud concepts, DevOps practices, and architecture components from the AWS Cloud Project Bootcamp.
Goal: Learn AWS by building and deploying a production-ready full-stack app.
Frontend: React + TypeScript
Backend: Node.js + Express + TypeScript
Database: PostgreSQL (RDS) & DynamoDB (for performance and caching)
Infra: AWS ECS Fargate, CloudFormation, CodePipeline, CloudFront, and S3
Sign-up Page
Login Page
Home Page
Profile Page
Notification Page
More Page
Tweet Page
Comment Section for a Tweet
Retweet section for a Tweet
Like Section for a Tweet
| Layer | Service | Purpose |
|---|---|---|
| Frontend | React + CloudFront + S3 | Host static app with CDN |
| Backend | Node.js on ECS Fargate | Run scalable REST APIs |
| Database | +MongoDB + DynamoDB | Store relational + NoSQL data |
| Auth | Amazon Cognito | Manage users and JWT authentication |
| Monitoring | CloudWatch, X-Ray, Honeycomb, Rollbar | Observability & error tracking |
| CI/CD | CodeBuild + CodePipeline | Continuous integration and deployment |
| IaC | AWS CloudFormation + SAM | Infrastructure as code |
| Networking | VPC + Load Balancer + Security Groups | Secure and isolated networking setup |
- Create GitHub, Gitpod, and AWS accounts
- Set up MFA and billing alarms
- Learn AWS IAM, Organizations, and budgeting
- Build initial project architecture using Lucidchart
- Dockerize the backend (Node.js)
- Understand Docker container security best practices
- Compare DynamoDB and Postgres for app needs
- Implement AWS X-Ray, CloudWatch Logs, Rollbar, and Honeycomb
- Learn distributed tracing and monitoring differences
- Add basic notification services
- Build decentralized auth using Amazon Cognito
- Customize⏳ Cognito login/signup pages
- Verify JWTs on the backend
- Secure RDS Postgres instance
- Learn relational modeling for CRUDDER
- Integrate Cognito post-confirmation Lambda
- Learn DynamoDB for scalable feed storage
- Implement caching with DynamoDB Streams
- Explore ECS and Fargate security best practices
- Deploy containerized backend to ECS Fargate
- Configure Load Balancing, CORS, and domains
- Enable Container Insights and secure network layer
- Serverless image processing using AWS Lambda + CDK
- Store and serve avatars via S3 + CloudFront
- Create user profile pages and migration endpoints
- Automate builds with AWS CodeBuild
- Deploy via AWS CodePipeline
- Understand CI/CD security fundamentals
- Learn CloudFormation (CFN) deeply
- Build Networking, Cluster, and Service layers with CFN
- Create CI/CD and static frontend hosting using IaC
- Connect DBs and Lambdas
- Implement refactored JWT decorators and error handling
- Build the CRUDDER Activity Feed
- Clean up project structure and prepare for deployment
| Tool | Purpose |
|---|---|
| GitHub | Version control & Codespaces |
| Gitpod / Cloud9 | Cloud IDE |
| Lucidchart | Architecture diagrams |
| Honeycomb | Observability |
| Rollbar | Error tracking |
| AWS CLI | CLI automation & credentials |
| Docker | Containerization |
| CloudFormation | Infrastructure as Code |
| Cognito | Authentication |
| CodePipeline / CodeBuild | CI/CD |
| ECS Fargate | App container deployment |
| CloudWatch / X-Ray | Logs & traces |
| Week | Focus | Status |
|---|---|---|
| 0 | Setup & IAM | Done |
| 1 | Docker & Security | Done |
| 2 | Observability | In progress |
| 3 | Authentication | ⏳ |
| 4 | Databases | ⏳ |
| 5 | NoSQL & Caching | ⏳ |
| 6–7 | ECS & Deployment | ⏳ |
| 8 | Serverless Media | ⏳ |
| 9 | CI/CD | ⏳ |
| 10–11 | CloudFormation | ⏳ |
| X | Final Validation | ⏳ |
- Master AWS developer ecosystem
- Understand DevOps workflow (CI/CD, IaC, security)
- Deploy real-world full-stack app in AWS
- Learn best practices for observability, cost management, and scalability
Frontend: React, TypeScript, TailwindCSS
Backend: Node.js, Express, TypeScript
Database: MongoDb , DynamoDB
Auth: Cognito
Infra: ECS Fargate, CloudFormation, Lambda, S3, CloudFront
DevOps: CodeBuild, CodePipeline, GitHub Actions
Monitoring: CloudWatch, X-Ray, Rollbar, Honeycomb
Every week I’ll document:
- Key takeaways from AWS bootcamp
- Architecture updates for CRUDDER
- Debugging and optimization notes
- DevOps workflows and reflections
A huge thanks to freeCodeCamp for providing the free AWS Cloud Project Bootcamp — a detailed and hands-on resource that makes learning AWS accessible for everyone.
Their structured tutorials form the foundation for this learning journey and the CRUDDER project. They have made the application with python and flask as framewok.
By the end of this journey, CRUDDER will be:
- Fully deployed on AWS (frontend + backend)
- Scalable, observable, and secure
- A showcase of practical AWS Cloud proficiency
MIT License © 2025 Harshit
“The best way to learn cloud is to build something that scales.” — Anonymous









