CivicPulse is a full-stack web application designed to streamline citizen grievance registration, tracking, and resolution.
It provides role-based access for Citizens, Officers, and Admins, ensuring transparency, accountability, and efficient grievance management.
| Frontend | Backend | Other Tools |
|---|---|---|
|
|
|
civicPulse/
├── backend/ (Spring Boot backend)
├── frontend/ (Angular frontend)
├── docker-compose.yml
├── README.md
├── .gitignore
Check the following installed on the system:
- Java 17 or above
- Node.js (LTS recommended)
- Angular CLI
- MySQL
- Maven
- Git
- Create a MySQL database:
CREATE DATABASE civicpulse;- Update database credentials in: backend/src/main/resources/application.properties
From the project root:
cd backend
mvn clean install
mvn spring-boot:runBackend will start at: http://localhost:8080
cd frontend/civicpulse-frontend
npm installEdit: frontend/civicpulse-frontend/src/environments/environment.ts
export const environment = {
production: false,
apiUrl: 'http://localhost:8080/api'
};ng serveFrontend will be available at: http://localhost:4200
The application supports role-based access:
- Citizen – Register complaints, track status, submit feedback
- Officer – View assigned grievances, update status
- Admin – Manage users, assign officers, view reports
JWT-based authentication is implemented for secure access.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | User registration |
| POST | /api/auth/login | User login |
| POST | /api/grievances | Submit grievance |
| GET | /api/grievances | View grievances |
| PUT | /api/grievances/{id}/status | Update grievance status |
- Secure authentication using JWT
- Role-based dashboards
- Grievance lifecycle tracking
- Officer assignment workflow
- Feedback system
- Clean, modular architecture
Poorvi Naveen
poorvinaveen31@gmail.com
Full Stack Developer
Infosys Springboard Virtual Internship Intern
CivicPulse Project