Please Note that this project is divided into two
- Server - An external nodejs express server that allows for authentication and saving data in the MongoDB Database
- Client - This is the frontend part of the project which in essence is the UI of our app
- run "npm i"/"npm install" to install the neccesary dependencies of the project
- Change the name of the file ".env-example" to ".env" so as to load the dotenv
- Start the project by running "npm run dev" which will open a localserver on port 3000
- Open "localhost:3000" on your browser then once it opens, click on sign up to create an account so that you can access the app's dashboard
- Simply login again if you want to access the app
- run "npm i"/"npm install" to install the neccesary dependencies of the server
- Change the name of the file ".env-example" to ".env" and then make sure you fill out the MONGO_URI link so that you can connect to your database
- Start the server by running "npm run server" || "npm start" then it will start the server with 2 logged messages about the port and the database connection MAKE SURE YOU THE ENV FILE FROM CLIENT HAS THE CORRECT ENDPOINT ON NEXT_PUBLIC_BASE_URL, SO ITS BEST IF YOU RUN THE SERVER FIRST
- TailwindCSS - I used tailwindcss for styling the project
- MongoDB - I used MongoDB as the database for the project
- Mongoose - I used mongoose as the ODM for the project
- Authentication - I used JWT for authentication and protecting routes
- TOM API - I used the TOM API to get the data for the project
- Storing TOM API Data - I added the functionality to save the data from the TOM API to the database so that the user can access it even when the TOM API is down
- ReactJS(NextJS)
- NodeJS(Express)
- MongoDB
- TailwindCSS
- Mongoose
- Axios
- TOM API
- components - This folder contains all the components that are used in the project
- pages - This folder contains all the pages that are used in the project
- public - This folder contains all the static files that are used in the project
- styles - This folder contains all the styles that are used in the project
- utils - This folder contains all the utility functions that are used in the project
- middleware - This folder contains all the middleware functions that are used in the project
- models - This folder contains all the models that are used in the project
- routes - This folder contains all the routes that are used in the project
- server.js - This file contains the server setup with its mounted routes and the database connection