Skip to content

amiraadev/react-bootstrap-responsive-nestjs-jwt-passport-prisma-mysql-authentification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 

Repository files navigation

Authentication System

This is a comprehensive authentication system built with React, NestJS, JWT, and Passport for user authentication. It utilizes a MySQL database with Prisma ORM for data management, and incorporates various frontend libraries like Bootstrap, Zustand, Formik, and react-confetti for a dynamic user experience.

Features

  • JWT-based authentication with Passport.js for secure user login and registration.
  • User sessions and authentication state management with Zustand.
  • Responsive UI using React Bootstrap.
  • Form handling with Formik for smoother user input and validation.
  • Email notifications via EmailJS.
  • Fun confetti effect using react-confetti for user interactions (e.g., on successful registration).

Tech Stack

Frontend

  • React: JavaScript library for building the user interface.
  • Bootstrap: Provides responsive, mobile-first design components.
  • React-Bootstrap: Integrates Bootstrap components into React.
  • Zustand: Simplified global state management for handling authentication state.
  • Formik: For managing form state, validation, and submission.
  • react-confetti: Fun confetti effect for successful actions.
  • EmailJS: Service for sending email notifications directly from the client-side.

Backend

  • NestJS: Node.js framework used for building the backend API.
  • JWT (JSON Web Tokens): For stateless authentication.
  • Passport.js: Middleware for handling user authentication.
  • Prisma: ORM for interacting with the MySQL database.
  • MySQL: Relational database for storing user data.

Prerequisites

Make sure you have the following installed on your machine:

  • Node.js: v16 or higher.
  • MySQL: Local or remote MySQL database.
  • Docker & Docker Compose (Optional): For running MySQL and the application in containers.