Skip to content

This repository uses MySQL, NestJS and NextJS to show an example of authentication with facial recognition

Notifications You must be signed in to change notification settings

GustavoContreiras/web-authentication-with-aws-rekognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

This repository uses MySQL, NestJS and NextJS to show an example of authentication with facial recognition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages