Giter Site home page Giter Site logo

erjan / myvoteaws Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hadesarchitect/myvoteaws

5.0 1.0 6.0 178 KB

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

License: Apache License 2.0

JavaScript 1.26% Python 51.51% CSS 5.21% HTML 3.60% HCL 35.11% Smarty 3.30%
aws aws-lambda aws-project aws-projects aws-s3 beginner-friendly

myvoteaws's Introduction

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

myvoteaws's People

Contributors

erjan avatar hadesarchitect avatar aleksgrayman avatar

Stargazers

 avatar  avatar Soham Parab avatar  avatar Kieran Santos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.