Git Product home page Git Product logo

web-authentication-with-aws-rekognition's Introduction

Dockerized Full-Stack Environment

Introduction

This tutorial will teach you how to setup a dockerized environment that with a single command can run:

  • a MySQL database server (and create and populate a database in it in the first run)
  • a back-end using the NestJS framework with a simple API
  • a front-end using the NextJS framework that calls the back-end API

Folder structure

You can see the most important files and it's locations in the diagram below. Some files were hidden to make it easier to understand.

📦web-authentication-with-aws-rekognition
 ┣ 📂mysql-db
 ┃ ┣ 📜00-create-db.sql
 ┃ ┗ 📜01-create-table-users.sql
 ┣ 📂nestjs-app
 ┃ ┣ 📂node_modules
 ┃ ┣ 📂src
 ┃ ┣ 📂test
 ┃ ┣ 📜.dockerignore
 ┃ ┣ 📜Dockerfile
 ┃ ┣ 📜package.json
 ┃ ┗ 📜webpack-hmr.config.js
 ┣ 📂nextjs-app
 ┃ ┣ 📂node_modules
 ┃ ┣ 📂pages
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂public
 ┃ ┣ 📂styles
 ┃ ┣ 📜.dockerignore
 ┃ ┣ 📜Dockerfile
 ┃ ┣ 📜package.json
 ┃ ┗ 📜next.config.js
 ┣ 📜.env
 ┣ 📜docker-compose.yml
 ┗ 📜package.json

Install AWS CLI

Generate an Access Key and a Secret Key

  • Sign in AWS
  • Go to IAM service
  • Click in Users
  • Select the desired user
  • Click in Create access key
  • Follow the steps
  • Copy the generated Access Key and Secret Key to use on the next step

Configure AWS CLI's default profile

  • Run aws configure
  • Set your Access Key and Secret Key

Install Docker Desktop

Run everything together

Run docker-compose up

Run projects separeted

Run the mysql-db

npm run start:db or  docker-compose up mysql-db

Run the nestjs-app

npm run start:back or  docker-compose up nestjs-app 

Run the nextjs-app

npm run start:front or  docker-compose up nextjs-app

Clean the database volume

Run npm run clean or docker-compose down -v

Please ⭐ if it helped you

Useful links

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.