Skip to content

jongranados/authenticate-me

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authenticate Me 🔐

Table of Contents
  1. Project Overview
  2. Built With
  3. Goals
  4. Deployment

Project Overview

Authenticate Me is a lightweight full-stack application designed as my stepping stone into the world of full-stack development. The project incorporates foundational elements commonly found in web applications: account creation, login, logout, along with a tried-and-true user authentication and authorization pattern.

Built With:

React React Router Redux Tailwind

Express.js Sequelize PostgreSQL NodeJS

(jump to top)

Goals

  • Grasp Core Functionality: As my first full-stack project, the goal was to understand and implement core web functionalities such as account creation, log in, log out, and user authentication.
  • Dive into Databases: Delve deep into PostgreSQL, understanding its strengths and intricacies to manage user data securely.
  • Data flow and state management: Adopt and master the Redux Toolkit to manage the application's state efficiently and streamline data flow across components.
  • Decipher Authentication: Build an application that's not only functional, but also resilient against common cyber threats.
  • Holistic Development: Cement a foundational understanding of how front-end and back-end technologies intertwine and communicate, laying the groundwork for more complex projects in the future.
  • Deployment: Experience the nuances and challenges of deploying a full-stack application, transitioning from a local development environment to a live platform accessible by users.

(jump to top)

Deployment

Remote Deployment

To view the live version of Authenticate Me, click here. Follow the on-screen instructions to register or log in.

Local Deployment

Follow these steps to run Authenticate Me on your local machine for development and testing.

  • Prerequisites

    • Node.js & NPM
    • PostgreSQL
  • Installing

    1. Clone the repository to your local machine.
    2. Navigate to the project directory.
    3. Create a .env file in backend and define the variables below for your PostgreSQL database, your desired JWT parameters, and bcrypt salt to be used for hashing:
          PORT=5000
          DB_USERNAME=
          DB_PASSWORD=
          DB_DATABASE=
          DB_HOST=localhost
          JWT_SECRET=
          JWT_EXPIRES_IN=
          BCRYPT_SALT=
      
    4. Run npm install inside frontend to install all required front-end dependencies.
    5. Run npm start inside frontend to start the front-end.
    6. Run npm install inside backend to install all required back-end dependencies.
    7. Run npm start inside backend to start the back-end.
    8. Run dotenv npx sequelize db:migrate inside backend to run Sequelize migrations.
    9. Run dotenv npx sequelize db:migrate inside backend if you would like to seed the database with mock data.

(jump to top)

About

An Express + React application with authentication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published