Skip to content

beginner aws project to learn how various components work - build voting app

License

Notifications You must be signed in to change notification settings

erjan/MyVoteAWS

 
 

Repository files navigation

My Vote AWS

The application is already written, and all you have to do is deploy it using the technologies you have learned! The system is already familiar to you from the Infrastructure as a Code module, it is a demo application for voting, but this time it is redesigned to use the capabilities of AWS directly: it consists of two front-end components (JS Single-Page Application) and three back-end components ( Python).

We propose the following scheme: publish static files in S3 buckets (one for each frontend), host backends as Lambda functions and make them accessible using API Gateway. We suggest running the vote processor on EC2, although you may prefer pure serverless.

Screenshot_31

Note that while all the code has already been written, you still have a lot of work to do in creating resources (queues, DynamoDB tables) and assigning access to them. If necessary, use the hints located in the appropriate folders.

Used tech

  • ✅ EC2
  • ✅ S3
  • ✅ CloudFront
  • ✅ database (DynamoDB)
  • ✅ VPC
  • ✅ SQS queue
  • ✅ SNS notifications
  • ✅ Serverless (API Gateway, Lambda)
  • ✅ IAM

Challenge:

  • ⚠️ IaaC (Terraform, CloudFormation, Cloud Development Kit)
  • ⚠️ Billing и Costs

Components

Architecture

Screenshot_31

For terraform, i used serverless lambda instead of ec2

Screenshot_43

About

beginner aws project to learn how various components work - build voting app

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 51.5%
  • HCL 35.1%
  • CSS 5.2%
  • HTML 3.6%
  • Smarty 3.3%
  • JavaScript 1.3%