Skip to content

TaskBoard - Straightforward task management application with user authentication

Notifications You must be signed in to change notification settings

gonferreyra/pern-task-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Board App


Task Board App
Task Board App

A straightforward task board app built with React and NodeJs.

Key FeaturesHow To UseCredits

Preview

TaskBoard.mp4

React TypeScript React Query React Hook Form Zod TailwindCSS
Node.js Javascript Express PostgreSQL Sequelize

Key Features

This application it's not only an application to manage tasks, where you can create, modify and delete them, but it also adds complete authentication based on user sessions.
Authentication allows the user to register, log in, reset password, generate new password and verify email address.
The flow is based on the fact that when the user registers correctly, two authentication tokens are created (access and refresh) which are sent to the client's cookies. Both with different durations and functionalities. The access token only lasts 15 minutes from the login and the refresh token lasts 30 days. After 15 minutes of expiration of the access token, the user will not need to log in again as long as the refresh token is valid, which after being verified by the back-end will generate both tokens again.
The user can also see and delete the sessions in which they logged in, showing on the screen which device they were made from and the corresponding timestamps.

How To Use

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/gonferreyra/pern-task-board.git

# Go into the repository
$ cd pern-task-board

# Install dependencies
$ npm install

# Run the app
$ npm start - Back-end
$ npm run dev - Front-end

Note Keep in mind that you have to install the dependencies of both the client and server folders.

# client env (check example.env file)
VITE_API_URL=

# server env (check example.env file)
# ENVIROMENT
NODE_ENV=development

#SERVER
SERVER_PORT=
SERVER_HOSTNAME=

# FRONTEND URL
APP_ORIGIN=

#DB
DB_NAME=
DB_HOST=
DB_PORT=
DB_USER=
DB_PASSWORD=

#JWT
JWT_SECRET=
JWT_REFRESH_SECRET=

#RESEND
RESEND_API_KEY=
EMAIL_SENDER=

Credits

This software uses the following open source packages:

FrontEnd:

BackEnd:

Author

About

TaskBoard - Straightforward task management application with user authentication

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published