This project is a comprehensive MERN stack application designed to streamline the process of managing tech-related issues for a repair shop named "techfixpro." It provides CRUD functionality for both notes and user information, allowing employees to efficiently document and track customer tech issues. The project is ideal for tech repair shops looking to modernise their workflow and improve customer service by centralising issue management in an intuitive and user-friendly platform.
- Comprehensive user authentication and authorisation system
- Complete CRUD functionality for managing notes and user information
- Role-based access control for different user roles
- Secure handling of user data and credentials
- Responsive frontend interface for seamless user experience
- Light/dark mode toggle
- Frontend: React, Redux, RTK Query, React Icons, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB, MongooseJS, JSON Web Tokens (JWT), bcrypt
- Other Tools: dotenv, date-fns, uuid, express-rate-limiter, mongoose-sequence, express-async-handler, express-async-errors, cookie-parser, cors
Clone the repository and navigate to the root directory:
git clone https://github.com/Kit105/techfixpro.git
cd techfixproThis project uses npm for package management. The repository is divided into two parts:
- Backend Web Service
Install the required packages for the web service:
npm installSet up environment variables as specified in the environment variables section.
Start the web service in development mode using react-scripts:
npm run devThis should open a webpage on port 3500, enabling the web services and API.
- Frontend Navigate to the frontend directory & install the required packages for the frontend:
cd frontend
npm installStart the frontend server:
npm startThis will start the website on port 3000.
Ensure both the backend web service and frontend are running concurrently for full functionality.
To run this project, you will need to add the following environment variables to your .env file
NODE_ENV
PORT
DATABASE_URI
ACCESS_TOKEN_SECRET
REFRESH_TOKEN_SECRET
To deploy the project, follow these steps:
Backend Web Service:
Set up environment variables as specified in the environment variables section.
Ensure all necessary packages are installed by running:
npm installStart the web service in production mode:
npm startFrontend:
Navigate to the frontend directory:
cd frontendInstall the required packages for the frontend:
npm installBuild the production-ready frontend assets:
npm run buildA live demo of the project is available at TechFixPro Demo.
For employee access, use the following credentials:
username: johndoe
password: johndoe
Please note that the login module may take some time to load initially due to server resource allocation on render.com. Thank you for your patience.
This project is licensed under the MIT License
Special thanks to Dave Gray for providing valuable tutorials and resources on web development using MERN stack.



