A serverless chat application built using various AWS services demonstrating cloud architecture and infrastructure as code.
- Frontend: Static website hosted on S3
- Backend: Serverless architecture using AWS Lambda and API Gateway
- Database: DynamoDB
- DNS: Route 53
- Python 3.8+
- AWS CLI configured with appropriate permissions
- Node.js 18+ (for Lambda functions)
- AWS account with access to:
- DynamoDB
- API Gateway
- Lambda
- S3
- Route 53
- ACM
- Secrets Manager
- Clone the repository:
git clone https://github.com/yourusername/chatroom-deployment.git
cd chatroom-deployment
- Install Python dependencies:
pip install -r requirements.txt
- Set up AWS Secrets:
python scripts/setup-secrets.py
- Deploy the infrastructure:
python infrastructure/deploy.py
src/static/
: Contains the website filessrc/lambda/
: Contains Lambda function codeinfrastructure/
: Contains deployment scripts and API definitionsscripts/
: Contains utility scripts
The deployment script will:
- Create/update DynamoDB table
- Deploy API Gateway using swagger definition
- Set up S3 bucket for static website hosting
- Upload static files
- Configure DNS settings
This project is part of CS399 F24. Please follow your instructor's guidelines for contributions and submissions.