In order to run this project locally, simply fork and clone the repository or download as zip and unzip on your machine.
- Open the project in your prefered code editor.
- Go to terminal -> New terminal (If you are using VS code)
- Split your terminal into two (run the Frontend on one terminal and the server on the other terminal)
In the first terminal
$ cd Fronted
$ npm install
$ npm run dev
In the second terminal
- Create your MySQL database, which you will use as your database
- Supply the following credentials
# --- Terminal ---
$ cd Backend
$ npm install
$ npm start
This project was created using the following technologies.
- React JS - JavaScript library that is used for building user interfaces specifically for single-page applications
- React Hooks - For managing and centralizing application state
- React Router Dom - To handle routing
- Axios - For making Api calls
- Tailwind CSS - For User Interface
- React icons - Small library that helps you add icons to your react apps
- Redux - Managing complex application state
- Localforage - Saves data in the web browser asynchronously
- React Vite - Improved website speed
- Redux Toolkit - To facilitate the development of web applications using Redux
- Apexcharts - An open source library used to create interactive graphics on websites or web applications
- Match Sorter - An open source library used to create interactive graphics on websites or web applications
- Email JS - For User Interface
- Framer Motion - For User Interface
- React Redux - Managing complex application state
- React to Print - Print PDF
- Sweet Alert2 - Create various types of pop-up alerts such as regular alerts, error alerts, success alerts, confirmation alerts, and so on.
- Node JS -A runtime environment to help build fast server applications using JS
- Express JS -The server for handling and routing HTTP requests
- MySql12 - For authentication
- Cors - Provides a Connect/Express middleware
- Bcrypt JS - For data encryption
- Dotenv - Zero Dependency module that loads environment variables
- Nodemon - To monitor changes to the program code that is being developed
- Jsonwebtoken - For authentication
- Cookie Parser - A middleware for web frameworks
- Sequelize - An Object-Relational Mapping (ORM) for Node.js that makes it easy to access relational databases such as MySQL, PostgreSQL, and SQLite using the JavaScript programming language.
- Argon2 - A password-hashing function that summarizes the state of the art in the design of memory-hard functions and can be used to hash passwords for credential storage, key derivation, or other applications.
- Connect Session Sequelize - Implement authentication for users with site applications.