A simple portal for Garnish employees to keep track of their current tasks and projects. This is a full-stack application built with React, Redux, Node.js, Express, and MongoDB. It has a fully functional Auth/login& reg system manually built from the ground up. The application is currently hosted on AWS EC2 and due to permissions (from the Auth functionality), the full application is only accessible to Garnish employees - only the login page is publicly accessible.
- React
- Redux
- Redux-Toolkit
- React-Router-Dom
- JSON Web Token
- Node.js
- Express
- MongoDB
- Express-Async-Handler
- Express-Rate-Limit
- Mongoose
- Mongoose-Sequences
- Bcrypt
- Helmet
- Cookie-Parser
- Dotenv
- Nodemon
- UUID
- CORS
- Clone the repo
git clone <repo_url>- Install NPM packages on both the client and server directories
npm install- Create a .env file in the server directory and add the following:
PORT=8000
DATABASE_URI=<your_mongoDB_uri> => can be created via MongoDB Atlas
NODE_ENV=<development> || <production>
ACCESS_TOKEN_SECRET=<your_access_token_secret> => can be generated inside Node shell via the following command: require('crypto').randomBytes(64).toString('hex')
REFRESH_TOKEN_SECRET=<your_refresh_token_secret> => use the same command as above, and paste the new result into the .env file- Run the server
nodemon server.js- Run the client
npm run start- Login with your credentials
- Create a new project or task
- Assign a project or task to yourself or another employee
- View your current projects and tasks
- Managers - Update your current projects and tasks
- Managers - Delete your current projects and tasks
- Admin - Add a new employee, or update an existing employee's information
- Admin - Delete an employee






