This project allows users to use LLM model to create a learning path for themselves. Project contians both frontend and backend code which can be deployed to AWS services. Project contains cloudformation file which could be executed to create a stack and complete the deployment.
-
AWS EC2 - deploy frontend application
- create a simple instance with key pair
- add nvm "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash"
- source ~/.bashrc
- nvm install --lts
- open ec2 instance using WinSCP
- transfer dist files to VM
- npm install -g serve
- nohup serve -l 3000 -s app-name
-
AWS Lambda - deploy backend api
- Create a lambda with Java 21 environment and upload jar, change timeout to 1 minute or more
- Dynamo DB - for storing user data
- Create a table with id as partition key
- AWS API Gateway – Route API requests to lambdas
- Create a API gateway with REST type, and create a post endpoint with integration to lambda
-
AWS Secrets manager - used to store database credentials, API key for backend
- chatGptApiKey : **************
- tableName : cloud-term-assignment
- emailFrom : [email protected]
- servicesRegion : us-east-1
-
AWS SES - used to send email
- Add two personal email as verified identities, one will be used to send email and one will be used to receive email
Following command will create a stack named learn-pro
aws cloudformation create-stack --stack-name learn-pro --template-body=file://cloudformation.yaml --capabilities=CAPABILITY_NAMED_IAM
Following command will delete a stack named learn-pro
aws cloudformation delete-stack --stack-name learn-pro