fixScribe is a full-stack web application built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. The app is designed to replace the current sticky note system used by a tech repair shop. It allows employees, managers, and admins to manage tech repair notes efficiently.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Deployment: Render
- Authentication: JSON Web Tokens (JWT)
- Styling: CSS
- Testing: React Testing Library
- Version Control: Git, GitHub
- Other Tools: Postman (API testing), VS Code (IDE)
- Public Facing Page: Displays basic contact information for the tech repair shop.
- Employee Login: Allows employees to log in to the notes app.
- Welcome Page: Provides a welcome page after login for easy navigation.
- User Management: Supports multiple user roles (Employees, Managers, Admins) with role-based access control.
- Note Management: Allows users to create, view, edit, and delete notes. Notes are assigned to specific users and have a ticket number, title, note body, created & updated dates, and status (OPEN or COMPLETED).
- Security: Requires users to log in at least once per week and provides a way to remove user access quickly if needed.
- Mobile Compatibility: Available in desktop mode but also designed to be accessible on mobile devices.
Ensure you have the following installed on your local development machine:
- Node.js
- npm (Node Package Manager)
- MongoDB
-
Clone the repository:
git clone https://github.com/yourusername/fixScribe.git cd fixScribe
-
Install dependencies for the client and server:
cd client npm install cd ../server npm install
-
Set up environment variables:
DATABASE_URI=your_mongodb_uri ACCESS_TOKEN_SECRET=your_jwt_secret_token1 REFRESH_TOKEN_SECRET=your_jwt_secret_token2
Change the allowedOrigins variable to your localhost port (3500) in the allowedOrigins.js file.
-
Run the application:
cd server npm run start
In a new terminal:
cd client npm start
- Navigate to http://localhost:3500 in your browser.
- Register a new account or log in with existing credentials.
- Use the dashboard to create new repair jobs.
- Update the status of existing jobs as repairs progress.
- Add new customers and view their details.
- Keep a record of past interactions and repairs for each customer.
fixScribe
├── client # Frontend application (React)
│ ├── public
│ └── src
├── server # Backend application (Express.js)
│ ├── config
│ ├── controllers
│ ├── models
│ ├── routes
│ └── utils
├── .gitignore
├── README.md
├── UserStories.md
├── package-lock.json
├── package.json
└── .env.example
We welcome contributions to FixScribe! If you have suggestions for improvements or new features, please open an issue or submit a pull request.
This project is licensed under the MIT License.
If you have any questions or need further assistance, feel free to reach out:
Email: [email protected]
GitHub: absolute-xero7