01 Project Synopsis
One-time Payment
- PDF & Word Formats
- Project Introduction & Objectives
- Problem Statement & Methodology
- System Architecture Diagram included
- Structured for Review & Customization
Get structured MCA AI Complaint Management System Final Year Project Report Final Year Project Report and Documentation with project objectives, methodology, system design, diagrams, implementation details, testing and complete project explanations. Suitable as a learning, documentation and project-presentation resource for students working on related final year projects.
Need a customized report? Chat on WhatsAppSimple pricing. Instant access. Every package includes PDF & Word format.
01 Project Synopsis
One-time Payment
02 Detailed Project Report
One-time Payment
03 Customized Project Report
One-time Payment
04 Customized Plagiarism-Free Report
One-time Payment
Abstract
Table of Content
Introduction
Problem Statement
Existing System
Proposed System
Objectives
System Architecture
Major Functional Modules
Hardware Requirements
Software Requirements
Future Enhancement
Conclusion
References
Abstract
Table of Content
Chapter 1 — Introduction
Chapter 2 — Literature Review / System Study
Chapter 3 — System Analysis
Chapter 4 — System Design
Chapter 5 — System Implementation
Chapter 6 — Testing
Chapter 7 — Results and Discussion
Chapter 8 — Conclusion and Future Enhancements
Chapter 9 — References
CivicSense AI — Smart Complaint Management & Routing System is a production-oriented MERN Stack civic grievance management application developed for complaint registration, AI-assisted classification, automatic department and officer routing, complaint tracking, resolution workflows, citizen feedback, and administrative analytics.
The current implementation is designed around civic complaint management in Uttar Pradesh, India. Citizens and guests can report problems related to areas such as roads, water, electricity, sanitation, and related civic services. Each submitted complaint receives a unique trackable Complaint ID in the format CSA-UP-{year}-{sequence}.
The system uses OpenAI-assisted complaint classification when an OpenAI API key is configured. If the AI service is unavailable or not configured, the application includes a keyword-based fallback classification mechanism. The routing engine then attempts to match the complaint through district, department, branch, and the least-loaded active officer. Complaints that cannot be routed automatically are moved to an Unassigned Queue for manual Admin assignment.
The application provides separate interfaces for Guest, Citizen/User, Officer, and Administrator, along with dashboards, complaint timelines, notifications, officer reassignment requests, complaint reopen requests, feedback moderation, master-data management, OpenAI review, and analytical charts.
This project is suitable for B.Tech, M.Tech, BCA, MCA, BE, ME, BSc, MSc, Computer Science, Information Technology, Artificial Intelligence, Data Science, and MERN Stack students searching for a practical final year project, major project, minor project, AI project, source code, and project report related to smart governance, civic grievance systems, complaint automation, AI classification, officer routing, and public service management.
| Field | Value |
|---|---|
[email protected] |
|
| Password | Admin@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | User@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | Officer@123 |
Admin Dashboard includes operational statistics covering:
Complaint volumes
Unassigned queue
Reopen queue
Reassignment queue
Registry/master-data counts
User counts
Officer counts
Current complaint workflow
The project contains an analytical dashboard using Recharts.
Analytics include:
Complaints by category
Complaints by status
Monthly complaint volume
Average resolution hours
Citizen count
Officer count
Complaint trends
This gives the project a strong data visualization and smart governance analytics component.
Admin can:
View all complaints
Search complaints
Filter by status
Filter by priority
Filter by district
Filter unassigned complaints
Use pagination
View full complaint record
Review AI classification
Edit/patch AI-related classification
Manually assign complaint
Review complaint history
The complaint detail interface includes AI review information such as:
Suggested category
Severity
Priority
AI notes
Classification information
Internal raw AI metadata is sanitized before data is exposed to Citizen and Officer APIs.
Admin can manually select the routing chain:
Organization
Department
Branch
Officer
This is particularly useful for complaints in the Unassigned Queue or complaints requiring administrative correction.
The project contains Uttar Pradesh district master data.
The seed includes all 75 districts of Uttar Pradesh.
Admin can manage:
Areas
District associations
Active/inactive states
Search/filter information
Supported deletions where available
Admin manages different organization/service-provider classifications used in civic routing.
Organizations can be configured with:
Organization type
District service coverage
Department associations
Operational routing data
Admin can:
Create department
Edit department
Activate/deactivate department
Search/filter
Delete where supported
Map department to organization
Associate categories
Branches can be associated with:
Organization
Department
District
Optional area
This data becomes part of the automatic and manual routing process.
Categories define the type of civic complaint.
Examples may include categories corresponding to civic issues such as:
Water
Electricity
Roads
Sanitation
Other configured civic services
Category-to-department mappings support routing.
Admin can manage severity levels used in AI and complaint-priority workflows.
Admin can:
View citizens
Search citizens
Use pagination
Open user details
View complaint history
Suspend/deactivate user
Reactivate user
Admin can:
Create officer
Search officers
Filter officers
View officer details
Assign organization
Assign department
Assign branch
Assign district
Activate officer
Deactivate officer
Reset officer password
Officer self-registration is not supported.
Admin can:
View reopen requests
Filter request status
Open request
Approve reopen
Reject reopen
Add optional Admin remarks
Admin can:
View reassignment requests
Filter by status
Approve reassignment
Reject reassignment
Add optional remarks
Move complaints through reassignment workflow
Admin can:
View citizen feedback
Moderate public visibility
Hide feedback
Unhide feedback
Admins can create in-app announcements for:
All users
All officers
Admin recipients
No external messaging provider is needed.
The Admin Inbox provides:
Personal Admin notifications
Unread state
Mark notification read
Mark all notifications read
Admin can update public-facing platform content such as:
Branding
Titles
About
FAQ
Terms
Privacy
Other CMS-managed copy
The application includes:
Separate User login
Separate Officer login
Separate Admin login
JWT authentication
HTTP-only role-specific cookies
bcrypt password hashing
Role-specific middleware
Active/inactive account checks
Zod validation
CORS restrictions
Complaint submission rate limiting
Auth rate limiting
Protected internal AI data
Local upload validation
Documented limits include:
Authentication: 50 requests per 15 minutes per IP
Guest complaint submission: 10 requests per minute
Registered-user complaint submission: 10 requests per minute
This improves abuse resistance for complaint intake and authentication endpoints.
Registered users can create a citizen account.
The registration flow uses:
Full user details
Unique email
Password
Profile information
District/area mapping where applicable
The account is protected through JWT authentication.
Separate User login endpoint
JWT authentication
HTTP-only cookie
User-specific role validation
Active/inactive account validation
Secure logout
Inactive accounts cannot authenticate.
The citizen dashboard provides:
Complaint summary statistics
Recent complaints
Unread notification count
Quick navigation
Complaint status overview
Registered users can:
Submit complaint
View own complaints
Search complaints
Filter by status
Filter by priority
Use pagination
Open complaint details
View status timeline
View sanitized AI summary
View attachments
View public officer remarks
Submit feedback
Request complaint reopening
Citizen complaint lists support:
Search by Complaint ID
Search by title
Filter by status
Filter by priority
Pagination
This makes it easier to manage a long complaint history.
Documented complaint statuses include:
New
Unassigned
Assigned
Accepted
In Progress
Resolved
Reassigned
Rejected
Reopened
Closed
The system supports:
Low
Medium
High
Critical
Priority can be influenced by the complaint classification process and system rules.
Users can submit feedback for eligible resolved or closed complaints.
Feedback includes:
Rating from 1 to 5
Comment
Complaint association
Only one feedback record is maintained per complaint according to the documented data model.
Guest complainants can also submit feedback after resolution/closure when the mobile number matches the number stored on the original complaint.
A key project feature is AI-assisted civic complaint classification.
When a complaint is submitted, the backend analyzes the complaint and generates classification suggestions.
The AI classification flow can determine or suggest:
Complaint category
Severity
Priority
Routing-related information
Admin-review notes
The project uses the official OpenAI API for live AI classification.
OpenAI is optional.
If:
OPENAI_API_KEY is not configured,
the API request fails, or
live AI classification is unavailable,
the application can fall back to its internal keyword-based classification logic.
This allows the core complaint-management workflow to remain functional without OpenAI.
After classification, the routing engine attempts to find the appropriate civic authority.
Routing follows a hierarchy similar to:
Complaint
↓
District
↓
Category
↓
Department
↓
Organization
↓
Branch
↓
Least-Loaded Active Officer
The objective is to route a complaint to an appropriate active officer based on the configured civic master data.
Field officers have a separate authenticated interface.
Officer functionality includes:
Officer login
Dashboard
Assigned complaint list
Search complaints
Filter by status
Filter by priority
Complaint details
Accept complaint
Add remarks
Update complaint status
Mark complaint in progress
Resolve complaint
Upload resolution file
Request reassignment
View notifications
View assignment profile
Officer dashboard provides workload-oriented information such as:
Assigned complaint statistics
Complaint workload
Relevant status summaries
Navigation to assigned cases
Complaint Assigned
↓
Officer Opens Case
↓
Accept Complaint
↓
Accepted
↓
In Progress
↓
Add Remarks / Action
↓
Resolve Complaint
↓
Resolution Description
↓
Optional Resolution Attachment
↓
Resolved
When resolving a complaint, an officer can provide:
Resolution description
Remarks
Optional resolution file
Supported resolution uploads follow the project's configured attachment rules.
An officer can request transfer of an assigned complaint.
Features include:
Enter reassignment reason
Submit request
View pending request
View reassignment history
Admin approval/rejection
Officer profile displays administrative assignment information such as:
Organization
Department
Branch
District
Assigned operational scope
Reassignment history
Officer assignment information is read-only from the Officer Panel.
| Layer | Technology |
|---|---|
| Frontend | React 19 |
| Language | TypeScript |
| Build Tool | Vite 8 |
| Routing | React Router 7 |
| Server Data | TanStack React Query 5 |
| Styling | Tailwind CSS 3 |
| Icons | Lucide |
| Charts | Recharts 2 |
| Backend | Node.js |
| Framework | Express 4 |
| Database | MongoDB |
| ODM | Mongoose 8 |
| Authentication | JWT |
| Password Security | bcrypt |
| Validation | Zod |
| AI | OpenAI API |
| File Upload | Multer |
| Security | express-rate-limit, CORS |
| Architecture | MERN Stack |
npm install
copy .env.example .env
Important variables:
MONGODB_URI=mongodb://127.0.0.1:27017/civicsense
JWT_SECRET=change-me-to-a-long-random-string
OPENAI_API_KEY=
OPENAI_MODEL=gpt-4o-mini
CLIENT_URL=http://localhost:5173
PORT=5000
NODE_ENV=development
If OPENAI_API_KEY is empty, the classification workflow can use the keyword fallback.
Ensure your MongoDB server is running and reachable through MONGODB_URI.
npm run seed
The seed includes:
75 Uttar Pradesh districts
127+ areas
11 demo organizations
17 departments
41 branches
21 officers
28 users
Around 85 sample complaints
Notifications
Feedback
Reopen requests
Reassignment examples
npm run dev:server
Backend:
http://localhost:5000
npm run dev:client
Frontend:
http://localhost:5173
npm run dev
| Field | Value |
|---|---|
[email protected] |
|
| Password | Admin@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | User@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | Officer@123 |