Udagram is a full-stack image filtering application that allows users to register, log in, post photos to a feed, and process photos using an image filtering service. The application consists of:
- Frontend: Angular/Ionic web application
- Backend: Node.js/Express RESTful API
- Database: PostgreSQL
The application is deployed on AWS using the following services:
- AWS S3: Frontend static file hosting
- AWS Elastic Beanstalk: Backend API hosting
- AWS RDS: PostgreSQL database
Frontend URL: http://udagram-frontend-368047729698.s3-website-us-east-1.amazonaws.com
Backend API URL: http://udagram-api-dev.eba-3bfwuymm.us-east-1.elasticbeanstalk.com
- Node v14.15.1 (LTS)
- npm 6.14.8 (LTS) or more recent
- AWS CLI v2
- EB CLI
- PostgreSQL (AWS RDS)
- S3 bucket for frontend hosting
- Configure AWS CLI with your credentials:
aws configure- Set up environment variables (copy from
udagram/set_env.sh):
export POSTGRES_USERNAME=your_db_username
export POSTGRES_PASSWORD=your_db_password
export POSTGRES_HOST=your_rds_endpoint
export POSTGRES_DB=postgres
export AWS_BUCKET=arn:aws:s3:::your-bucket-name
export AWS_REGION=us-east-1
export JWT_SECRET=your_jwt_secret
export URL=http://localhost:8100- Install root dependencies:
npm install- Install and start Backend API:
cd udagram/udagram-api
npm install
npm run dev- Install and start Frontend (in new terminal):
cd udagram/udagram-frontend
npm install -f
ionic serveBackend (Elastic Beanstalk):
cd udagram/udagram-api
npm run build
eb deployFrontend (S3):
cd udagram/udagram-frontend
npm run deployPush to the master branch to trigger the CI/CD pipeline:
- Build job runs automatically
- Manual approval required for deployment
- Deploy job pushes to AWS
cd udagram/udagram-frontend
npm run test
npm run e2e- Infrastructure Description
- Pipeline Description
- Application Dependencies
- Architecture Diagram
- Pipeline Diagram



