Effortless Complaint Resolution
- Overview
- Features
- Tech Stack
- Installation
- Usage
- Project Structure
- API Endpoints
- Contributing
- License
GrieveEase is an online grievance redressal system designed to provide effortless complaint resolution. It allows users to submit complaints, track their status in real-time, and ensures complaints are addressed promptly through an efficient escalation mechanism. The system is built with a robust tech stack and offers role-based access control, comprehensive dashboards, and various analytics features.
- User Management: Admin can manage user profiles and roles.
- Complaint Management: Users can file complaints, and administrators can track, update, and resolve them.
- Employee Management: Admin can manage employee profiles and assign complaints to them.
- Analytics: Real-time data visualization for complaints status, time-based metrics, categories, and priorities.
- Authentication: Secure login and authentication using JWT.
- Role-Based Access Control: Different access levels for users, employees, and admins.
- Escalation Mechanism: Automatic escalation of unresolved complaints.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- APIs: RESTful APIs using Axios for HTTP requests
- Authentication: JSON Web Tokens (JWT)
-
Clone the repository:
git clone https://github.com/your-username/GrieveEase.git cd GrieveEase -
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd ../frontend npm install -
Start backend server:
cd backend npm start -
Start frontend server:
cd ../frontend npm start
GrieveEase/
├── backend/
│ ├── config/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── .env
│ ├── server.js
│ └── package.json
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.js
│ │ ├── index.js
│ │ └── AdminDashboard.js
│ └── package.json
└── README.md
- Admin Dashboard: Provides functionalities for fetching and managing users, complaints, employees, and analytics.
- User Dashboard: Allows users to submit complaints and track their status.
- Employee Dashboard: Enables employees to manage assigned complaints.
- GET
/users/profiles: Fetch all user profiles. - POST
/users/register: Register a new user. - POST
/users/login: Login a user.
- GET
/admin/complaints: Fetch all complaints. - GET
/admin/complaint/:id: Fetch a specific complaint by ID. - DELETE
/admin/delete/:id: Delete a specific complaint by ID. - PUT
/admin/updateComplaint/:id: Update a specific complaint by ID. - GET
/admin/openStatus: Fetch complaints with open status. - GET
/admin/closedStatus: Fetch complaints with closed status. - GET
/admin/employees: Fetch all employee profiles. - POST
/admin/addEmployee: Add a new employee. - PUT
/admin/updateEmployee/:employeeId: Update a specific employee by ID. - DELETE
/admin/deleteEmployee/:employeeId: Delete a specific employee by ID. - GET
/admin/analytics: Fetch analytics data.
- GET
/employee/complaints: Fetch complaints assigned to the employee.
We welcome contributions from the community! Please read the following guidelines before submitting a pull request:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit them:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature-branch
- Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.