A comprehensive complaint management system for THDC (Tehri Hydro Development Corporation) that allows users to register complaints, employees to manage and assign complaints to workers, and administrators to oversee the entire process.
- Frontend: https://thdc-cms.vercel.app
- Backend API: https://thdc-cms-backend.onrender.com
- Project Overview
- Features
- Technology Stack
- Getting Started
- Local Development
- Deployment
- Project Structure
- Contributing
- License
The THDC Complaint Management System is designed to streamline the process of registering, tracking, and resolving complaints within the organization. The system provides different interfaces and functionalities for three types of users:
- Regular Users: Can register and track their complaints
- Employees: Can manage complaints, assign them to workers, and update their status
- Administrators: Have complete control over the system, including user management
- User registration and authentication
- Submit new complaints with details and priority
- Track complaint status and history
- View assigned workers for complaints
- Receive updates on complaint resolution
- Dashboard to view and manage all complaints
- Assign complaints to available workers
- Update complaint status (in progress, resolved, etc.)
- Filter and search complaints by various parameters
- Complete user management (create, update, delete)
- Worker management
- System-wide analytics and reporting
- Configuration of system parameters
- React.js with TypeScript
- Redux for state management
- Tailwind CSS for styling
- Axios for API communication
- Node.js with Express
- TypeScript
- MongoDB for database
- JWT for authentication
- Frontend: Vercel
- Backend: Render.com
- Database: MongoDB Atlas
To get started with the THDC Complaint Management System, you'll need:
- Node.js (v18 or higher)
- MongoDB (local or Atlas connection)
- Git
Follow these steps to set up the project locally:
git clone https://github.com/pulk17/THDC-CMS.git
cd THDC-CMS# Navigate to backend directory
cd backend
# Install dependencies
npm install
# Create config.env file with the following variables:
# PORT=6050
# MONGODB_URL=your_mongodb_connection_string
# JWT_SECRET=your_jwt_secret
# ADMIN_REGISTRATION_CODE=your_admin_code
# Run development server
npm run devThe backend server will start on http://localhost:6050.
# Navigate to frontend directory
cd ../frontend
# Install dependencies
npm install
# Create .env file (optional)
# REACT_APP_API_URL=http://localhost:6050
# Run development server
npm startThe frontend development server will start on http://localhost:3000.
- Fork or clone this repository
- Connect to Render.com
- Create a new Web Service
- Use the following settings:
- Build Command:
chmod +x render-build.sh && ./render-build.sh - Start Command:
npm start
- Build Command:
- Add the required environment variables
- Connect your GitHub repository to Vercel
- Configure the project:
- Root Directory:
frontend - Build Command:
npm run build - Output Directory:
build
- Root Directory:
- Add the environment variable
REACT_APP_API_URLpointing to your backend URL - Deploy
The THDC Complaint Management System is like a digital help desk for the organization. Here's how it works:
-
Registration and Login: Users create accounts or log in to access the system.
-
Filing a Complaint:
- Users fill out a simple form describing their issue
- They can specify details like location, department, and urgency
- Once submitted, the complaint is registered in the system
-
Complaint Processing:
- Employees see new complaints on their dashboard
- They review each complaint and assign it to an appropriate worker
- The worker receives notification about the assigned task
-
Tracking and Updates:
- Users can check the status of their complaints anytime
- They can see who is working on their issue
- They receive updates when the status changes
-
Resolution:
- Once the issue is fixed, the worker marks it as resolved
- The user can verify if the resolution is satisfactory
- If not, they can reopen the complaint
-
Management and Oversight:
- Administrators can see all activities in the system
- They can manage users, workers, and employees
- They can generate reports to identify common issues or bottlenecks
This system replaces traditional paper-based complaint handling with a streamlined digital process, making it faster and more transparent for everyone involved.
The project is organized into two main directories:
frontend/: Contains the React.js applicationbackend/: Contains the Node.js/Express API
For detailed information about each part:
Pulkit Chauhan - Lead Developer Aakarsh Panwar - Backend Specialist
This project is licensed under the MIT License - see the LICENSE file for details.