Skip to content

Akshatsharma2205/Minor-Project-SETU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒ‰ ΰ€Έΰ₯‡ΰ€€ΰ₯ SETU β€” Citizen Grievance Redressal Portal

Setu Logo

Your Voice, Our Action.
A unified platform for citizens to register grievances and track resolutions with transparency and accountability.

🌐 Live Demo β€’ ✨ Features β€’ πŸ› οΈ Tech Stack β€’ πŸš€ Getting Started


πŸ“– About

Setu (meaning "Bridge" in Hindi) is a full-stack Citizen Grievance Redressal Portal that bridges the gap between citizens and government departments. Citizens can submit complaints with photo evidence and GPS location, track resolution status in real-time, and earn civic points for participation. Government officials manage grievances through role-based dashboards.


✨ Features

πŸ§‘β€πŸ’» Citizen Portal

  • Register & Login β€” Email/password with OTP verification + Google OAuth sign-in
  • Submit Grievances β€” File complaints with category selection, photo attachments, and GPS location
  • Real-time Tracking β€” Track grievance status from submission to resolution
  • Civic Points β€” Earn reward points for submitting reports and providing feedback
  • Profile Management β€” Update personal details, view history
  • Feedback System β€” Rate the resolution quality after closure

πŸ›οΈ Government Dashboard (Role-Based Access)

  • Worker β€” View assigned grievances, update status
  • Operator β€” Manage and assign grievances within department
  • Department Admin β€” Oversee department-level operations, add users
  • Super Admin β€” Full system control, manage departments, view analytics

πŸ—ΊοΈ Live Grievance Map

  • Interactive map powered by Leaflet.js showing grievance locations across India
  • Color-coded markers by status (New, Under Review, Resolved, Closed)

🌐 Multi-Language Support

  • Available in 10 Indian languages including Hindi, Marathi, Tamil, Telugu, Bengali, and more

πŸ› οΈ Tech Stack

Layer Technology
Backend Java Servlets & JSP (Jakarta EE 6.0)
Database MySQL with HikariCP connection pooling
Authentication BCrypt password hashing + Google OAuth 2.0
Email Service SendGrid API
Image Storage Cloudinary
Frontend HTML, Tailwind CSS, JavaScript
Maps Leaflet.js
Animations ScrollReveal.js
Build Tool Maven
Deployment Docker + Jetty 11
Analytics Google Analytics

πŸš€ Getting Started

Prerequisites

  • Java 11+
  • Maven 3.8+
  • MySQL database
  • Docker (optional, for containerized deployment)

Environment Variables

Create a .env file or set these environment variables on your server:

Variable Description
DB_URL MySQL JDBC connection URL
DB_USER Database username
DB_PASSWORD Database password
CLIENT_ID Google OAuth 2.0 Client ID
CLIENT_SECRET Google OAuth 2.0 Client Secret
EMAIL_API SendGrid API key
SENDER_EMAIL Sender email address for OTP/notifications
CLOUD_NAME Cloudinary cloud name
api_key Cloudinary API key
api_secret Cloudinary API secret

Run Locally

# Clone the repository
git clone https://github.com/Akshatsharma2205/Minor-Project-SETU.git
cd Minor-Project-SETU

# Build with Maven
mvn clean package

# Deploy the generated .war file to a Jetty/Tomcat server

Run with Docker

# Build the Docker image
docker build -t setu-portal .

# Run the container with environment variables
docker run -p 8080:8080 \
  -e DB_URL=your_db_url \
  -e DB_USER=your_db_user \
  -e DB_PASSWORD=your_db_password \
  -e CLIENT_ID=your_google_client_id \
  -e CLIENT_SECRET=your_google_client_secret \
  -e EMAIL_API=your_sendgrid_key \
  -e SENDER_EMAIL=your_sender_email \
  -e CLOUD_NAME=your_cloudinary_name \
  -e api_key=your_cloudinary_key \
  -e api_secret=your_cloudinary_secret \
  setu-portal

πŸ“ Project Structure

Minor-Project-SETU/
β”œβ”€β”€ src/main/java/
β”‚   β”œβ”€β”€ controller/          # Servlets (Login, Registration, Grievance, OAuth)
β”‚   β”œβ”€β”€ model/
β”‚   β”‚   β”œβ”€β”€ dao/             # Data Access Objects (CitizenDAO, GovDAO, ReportDAO)
β”‚   β”‚   β”œβ”€β”€ entity/          # Entity classes (Citizen, GovUser, Report)
β”‚   β”‚   β”œβ”€β”€ Database.java    # HikariCP connection pool
β”‚   β”‚   └── EmailUtil.java   # SendGrid email utility
β”œβ”€β”€ src/main/webapp/
β”‚   β”œβ”€β”€ citizen/             # Citizen-facing JSP pages
β”‚   β”œβ”€β”€ gov/                 # Government dashboard JSP pages
β”‚   β”œβ”€β”€ js/                  # JavaScript files
β”‚   β”œβ”€β”€ style/               # CSS stylesheets
β”‚   └── index.html           # Landing page
β”œβ”€β”€ Dockerfile               # Multi-stage Docker build
β”œβ”€β”€ pom.xml                  # Maven dependencies
└── .gitignore

πŸ‘₯ Team

Designed, Developed and Hosted by Team SETU


πŸ“„ License

This project is open source and available for educational purposes.

About

πŸŒ‰ Setu β€” Citizen Grievance Redressal Portal | Submit, track & resolve civic complaints with real-time status, GPS location, photo evidence & role-based government dashboards. Built with Java Servlets, JSP, MySQL, Google OAuth & Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors