Skip to content

Atharv056/Complaint-Management-Process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ Complaint Management System

React Node.js Express SQLite Vite JWT

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.


๐Ÿ“– Table of Contents


โœจ Features

  • ๐Ÿ” 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.

๐Ÿ› ๏ธ Technologies Used

Frontend

  • 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.

Backend

  • 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.

๐Ÿ“‚ Project Structure

.
โ”œโ”€โ”€ 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

โš™๏ธ Installation & Setup

Follow these steps to get the project running locally on your machine.

Prerequisites

  • Node.js (v14 or higher)
  • npm (Node Package Manager)

Step 1: Clone the Repository

git clone https://github.com/your-username/Complaint-Management-Process.git
cd Complaint-Management-Process

Step 2: Backend Setup

cd server
npm install

Step 3: Frontend Setup

cd ../client
npm install

๐Ÿš€ Usage

Running the Project

  1. Start the Backend Server:

    # From the 'server' directory
    npm start

    The server will start on http://localhost:3001.

  2. Start the Frontend Development Server:

    # From the 'client' directory
    npm run dev

    The application will be available at http://localhost:5173.

Default Roles & Access

  • User: Can submit and track their own complaints.
  • Officer: Can view and manage assigned complaints.
  • Admin: Has full access to user management and analytics.

๐Ÿ–ผ๏ธ Screenshots / Demo

๐Ÿ–ฅ๏ธ Desktop View

Landing Page Placeholder The modern landing page welcoming users to the platform.

๐Ÿ“Š Analytics Dashboard

Admin Dashboard Placeholder Comprehensive analytics for administrators to monitor system performance.


๐Ÿ”Œ API Integration

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>


๐Ÿ”ฎ Future Improvements

  • ๐Ÿ“ง 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.

๐Ÿ‘ค Author

Atharv Pokale


๐Ÿ’ก 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.

About

A web-based complaint management system designed to efficiently track, manage, and resolve user issues through a structured and user-friendly interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors