AWS Fullstack Deployment
Full-stack Node.js/Express/TypeScript app (Udagram) deployed on AWS with a complete automated pipeline — Elastic Beanstalk hosting, RDS PostgreSQL, S3 image storage, and CircleCI CI/CD end-to-end.
Node.js, Express, TypeScript, AWS Elastic Beanstalk, AWS RDS, AWS S3, CircleCI
The problem
Shipping a Node.js/Express app locally is easy, but standing up a real AWS deployment — a managed database, decoupled object storage, and a pipeline that safely auto-deploys every push — is where most portfolio projects stop short.
My role
Responsibilities
Provisioned and configured the AWS infrastructure end-to-end and wired up the CI/CD pipeline for this Udacity Cloud DevOps Nanodegree capstone (Udagram).
Main workflows
- 1.Push to the repository triggers the CircleCI pipeline
- 2.Pipeline builds and tests the Node.js/Express/TypeScript app
- 3.On success, CircleCI deploys straight to the Elastic Beanstalk environment
- 4.The running app reads/writes to RDS PostgreSQL and stores media in the S3 bucket
Architecture
- Client
- Node.js / Express (TypeScript)
- AWS Elastic Beanstalk
- RDS PostgreSQL and S3
- AWS Elastic Beanstalk hosting for the Node.js/Express/TypeScript API and frontend
- AWS RDS (PostgreSQL) as the managed production database
- AWS S3 bucket for image/media storage, decoupled from the app server
- CircleCI pipeline automating build, test, and deployment on every push
Security and deployment
- Environment variables and secrets managed through CircleCI's project environment settings, not committed to the repo
- RDS provisioned as a managed, access-controlled database instance separate from the app tier
- S3 bucket used specifically to decouple media storage from the compute layer
Results
Fully automated pipeline — a push to master builds, tests, and deploys to Elastic Beanstalk with no manual steps.
