π§Ύ Full-Stack Complaint Management System π Project Overview
The Complaint Management System (CMS) is a full-stack web application that allows users to register complaints, track their status, and view responses in real time. It provides an efficient workflow for users, administrators, and service departments to communicate and resolve issues seamlessly.
The system is built using the MERN stack (MongoDB, Express.js, React/HTML/CSS frontend, Node.js backend) with RESTful APIs and secure authentication.
π§© Tech Stack Layer Technology Frontend HTML, CSS, JavaScript Backend Node.js, Express.js Database MongoDB Atlas Authentication JWT (JSON Web Tokens) Tools Nodemon, dotenv, multer (for uploads), bcryptjs Hosting (optional) Render / Vercel / Netlify βοΈ Project Setup
-
Clone the Repository git clone https://github.com/gargi411/fullstack-complaint-app.git cd fullstack-complaint-app
-
Install Backend Dependencies cd backend npm install
-
Create Environment File
Inside backend/.env, add your credentials:
PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key
- Run the Backend Server npm run dev
Server will start on: http://localhost:5000
- Run the Frontend
Open a second terminal and run:
cd frontend npx http-server -c-1
Frontend will run on: http://127.0.0.1:8080
π Authentication Routes Method Endpoint Description POST /api/auth/signup Register a new user POST /api/auth/login Authenticate user & issue JWT GET /api/complaints Get complaints for logged-in user POST /api/complaints File a new complaint PUT /api/complaints/:id Update complaint status π§ Core Features
β User registration and login with password encryption β Secure JWT-based authentication β Submit and track complaints in real time β Upload supporting images/documents β Admins can view and update complaint statuses β Clean, responsive UI (light/dark mode supported)
ποΈ Folder Structure fullstack-complaint-app/ β βββ backend/ β βββ server.js β βββ .env β βββ config/ β β βββ db.js β βββ models/ β β βββ User.js β βββ routes/ β β βββ auth.js β β βββ complaints.js β βββ middleware/ β β βββ authMiddleware.js β βββ uploads/ β βββ frontend/ β βββ index.html β βββ login.html β βββ signup.html β βββ style.css β βββ script.js β βββ map.png β βββ README.md
πΈ Screenshots
Add screenshots here (once frontend is styled)
/frontend/screenshots/
Example:
π‘ API Testing
Use Postman or Thunder Client to test endpoints. Include header:
Authorization: Bearer <your_jwt_token>
π©βπ» Author
Name: Gargi Balamwar GitHub: @gargi411
Institute: Symbiosis Institute of Technology, Nagpur Course: Introduction to Full Stack Development
β Future Enhancements
Admin dashboard for analytics
SMS/Email complaint notifications
Complaint prioritization and AI-based categorization
Multi-language support

