A comprehensive, full-stack digital platform designed to streamline the process of submitting, tracking, and resolving complaints. This system provides a transparent and efficient workflow for users, officers, and administrators, ensuring timely resolution and data-driven insights.
- โจ Features
- ๐ ๏ธ Technologies Used
- ๐ Project Structure
- โ๏ธ Installation & Setup
- ๐ Usage
- ๐ผ๏ธ Screenshots / Demo
- ๐ API Integration
- ๐ฎ Future Improvements
- ๐ค Author
- ๐ Secure Authentication: Role-based access control (User, Officer, Admin) using JWT and Bcrypt encryption.
- ๐ User Portal:
- Submit detailed complaints with title, description, category, and priority levels.
- Real-time status tracking of submitted complaints.
- View personal complaint history.
- ๐ฎ Officer Dashboard:
- Dedicated queue for assigned complaints.
- Update complaint status (Pending, In Progress, Resolved, Closed).
- Manage workload efficiently.
- ๐ Admin Panel:
- Global Overview: Monitor all complaints across the system.
- User Management: View and manage all registered users and their roles.
- Analytics: Visualized data insights including complaints by category, status, and priority.
- ๐ฑ Responsive UI: Modern and clean interface built with React and custom CSS, optimized for various screen sizes.
- ๐ Efficient Data Storage: Lightweight and fast data management using SQLite.
- React.js (v19): Component-based UI development.
- Vite: Ultra-fast build tool and development server.
- React Router DOM: Declarative routing for the application.
- CSS3: Custom styling for a professional look and feel.
- Node.js: JavaScript runtime for the server.
- Express.js: Web framework for building the RESTful API.
- Better-SQLite3: Fast and reliable SQLite3 driver for Node.js.
- JWT (JSON Web Tokens): Secure user authentication and session management.
- Bcrypt.js: Password hashing for enhanced security.
.
โโโ client/ # Frontend React Application
โ โโโ public/ # Static assets
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ context/ # Auth and Global State context
โ โ โโโ pages/ # Page views (Dashboard, Admin, etc.)
โ โ โโโ services/ # API service layers
โ โ โโโ App.jsx # Main application component
โ โ โโโ main.jsx # Entry point
โ โโโ package.json
โ โโโ vite.config.js
โโโ server/ # Backend Node.js API
โ โโโ src/
โ โ โโโ config/ # Database configuration
โ โ โโโ middleware/ # Authentication and error handlers
โ โ โโโ routes/ # API endpoints (Auth, Complaints, etc.)
โ โ โโโ index.js # Server entry point
โ โโโ package.json
โโโ data/ # SQLite Database storage
โโโ README.md # Project Documentation
Follow these steps to get the project running locally on your machine.
- Node.js (v14 or higher)
- npm (Node Package Manager)
git clone https://github.com/your-username/Complaint-Management-Process.git
cd Complaint-Management-Processcd server
npm installcd ../client
npm install-
Start the Backend Server:
# From the 'server' directory npm startThe server will start on
http://localhost:3001. -
Start the Frontend Development Server:
# From the 'client' directory npm run devThe application will be available at
http://localhost:5173.
- User: Can submit and track their own complaints.
- Officer: Can view and manage assigned complaints.
- Admin: Has full access to user management and analytics.
Comprehensive analytics for administrators to monitor system performance.
The system uses a custom RESTful API for all operations:
- Auth:
/api/auth/register,/api/auth/login,/api/auth/me - Complaints:
/api/complaints(GET, POST, PUT, DELETE) - Dashboard:
/api/dashboard/stats,/api/dashboard/by-status,/api/dashboard/by-category
All protected routes require a valid JWT token in the Authorization header:
Authorization: Bearer <your_token>
- ๐ง Email Notifications: Automated alerts for status updates and new assignments.
- ๐ File Attachments: Support for uploading images or documents with complaints.
- ๐ฌ Real-time Chat: Direct communication between users and officers within a complaint.
- ๐ฑ Mobile App: Dedicated mobile application for on-the-go complaint submission.
- ๐ Advanced Search: Robust filtering and search capabilities for large datasets.
Atharv Pokale
- LinkedIn: Your LinkedIn Profile
๐ก Tip: Make sure to check the console for any server-side errors during setup. Ensure both the client and server are running simultaneously for the full experience.