Git Product home page Git Product logo

images-upload-aws's Introduction

Images upload Dashboard

Upload of images with ReactJS and AWS serverless

Design Explanation

  • To speed up development I decided to use Cognito signin/signup instead of my own UI signin/signup.

  • Each time a user confirms his email code when signing up, the setup-user lambda function is executed to create a dynamoDB table for this specific user, where image information will be savedd.

  • When the dashboard is shown the ImagesList component requests all the images of the user and get-user-images lambda function is used to get all the images of this specific user.

  • When the user uploads an image, get-signed-s3-url lambda function is used to get a signed s3 url to upload the image in S3 and after save-user-image lambda function is used to save the metadata in dynamoDB

Build

Requirements

  • node
  • Your port 3000 needs to be free

Develop

  1. Clone the repository
  2. Use the file /api/cloudFormationTemplate.yml to deploy the resources in AWS, you need to fill only 2 fields:
  3. Once the resources are deployed in AWS, replace the respective variables in /client/src/env.tsx
    • CLIENT_ID -> (Cognito -> users-pool -> App clients -> App client id)
    • API_ADDRESS -> (API Gateway -> APIs -> api-prod -> Stages -> prod -> Invoke URL)
  4. Run in /client the command npm install and after npm start
  5. Finally go to Cognito -> users-pool -> App integration -> App client settings -> Hosted UI -> Click on Launch Hosted UI

images-upload-aws's People

Contributors

pablocordova avatar

Watchers

 avatar  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.