Skip to content

Latest commit

 

History

History
executable file
·
108 lines (93 loc) · 4.31 KB

README.md

File metadata and controls

executable file
·
108 lines (93 loc) · 4.31 KB

T3chFlicks: AWS User Manager App Quickstart

Quickstart for running an example user manager app on AWS allowing users to register and user an authenticated API. thumbnail


tutorials/

Generic badge

Generic badge

Generic badge

Architecture

architecture

Step By Step Instructions

  1. This project expects you to bring your own domain hosted on Route53 and with SSL certificates for both the region of your service and US-EAST-1.
    1. Get a domain on AWS
    2. Create a hosted zone on Route53
    3. Create two HTTPS Certificates
      • One for your region e.g. eu-west-1
      • One for cloudfront which must be us-east-1
  2. Deploy 00-infra.yml to create code bucket, certificate, and email alerts.
    •   aws cloudformation deploy --template-file ./00-infra.yml
        --stack-name um-infra --region=<your_region>  
        --capabilities CAPABILITY_NAMED_IAM 
        --parameter-overrides RootDomain=<your_domain> 
                              RegionalCertArn=<your_cert_arn> 
                              HostedZoneId=<your_id> 
                              CloudFrontCertArn=<your_cert_arn> 
                              EmailAddress=<your_email>  
      
  3. Deploy 01-vpc.yml to create vpc
    •   aws cloudformation deploy --template-file ./01-vpc.yml --stack-name um-vpc
      
  4. Deploy 02-tables.yml to create user and product tables
    • aws cloudformation deploy --template-file ./02-tables.yml --stack-name um-tables
      
  5. Deploy 03-congito.yml to create the user pool and post confirmation function
    • Package PostConfirmation Lambda functions (see here how to package Python Lambda)
    •   aws s3 cp PostConfirmation.zip s3://um-infra-codebucket-***/
      
    •   aws cloudformation deploy --template-file ./03-cognito.yml --stack-name um-cognito 
        --region=<your_region>  --capabilities CAPABILITY_NAMED_IAM
      
  6. Deploy 04-user-api.yml to create the user api and create functions
    •   aws s3 cp GenerateKey.zip s3://um-infra-codebucket-***/
      
    •   aws s3 cp GetUser.zip s3://um-infra-codebucket-***/
      
    •   aws cloudformation deploy --template-file ./04-user-api.yml --stack-name um-user-api 
        --region=<your_region>  --capabilities CAPABILITY_NAMED_IAM
      
  7. Deploy 05-test-service.yml as an example service running on the load balancer which verifies the user request
    •   aws s3 cp TestKey.zip s3://um-infra-codebucket-***/
      
    •   aws cloudformation deploy --template-file ./05-test-api.yml 
        --stack-name um-test-api --region=<your_region>  --capabilities CAPABILITY_NAMED_IAM
      
  8. Deploy 06-site.yml
    •   aws cloudformation deploy --template-file ./06-site.yml 
        --stack-name um-site --region=<your_region>   --capabilities CAPABILITY_NAMED_IAM      
      
  9. Add parameters to frontend/src/main.js
    • Root Domain
    • Region
    • UserApiUrl
    • TestApiUrl
    • CognitoUserPoolId
    • CognitoUserPoolClientId
  10. Build
    • npm run build
  11. Deploy to S3 bucket
    •   aws s3 cp ./dist s3://um-app.YOUR_DOMAIN --recursive
      

Screenshots

Home Page User Page

Extra Info


This project was created by T3chFlicks - A tech focused education and services company.