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

No packages published