How suyogshelke/project-civicsystem works
CivicSystem is a Java web application for civic-complaint intake and resolution. Citizens register or sign in, submit complaints, track them, and can leave feedback; administrators assign officers, who update complaint status. The graph separates user-facing JSPs, servlet workflows, persistence, and connection configuration. The README documents the full product workflow and database tables; sampled code confirms selected registration, login, submission, update, and feedback behavior, so unsampled wiring is shown only where supported by that documented workflow.
Main entry points: DBConnection.java DB connection · citizen Citizen pages · officer Officer pages · admin Admin pages
Components 20
Web views
- Citizen pages
src/main/webapp/citizen - Admin pages
src/main/webapp/admin - Officer pages
src/main/webapp/officer
Servlet workflows
- Registration
src/main/java/com/civic/controller/CitizenRegisterServlet.java - Citizen login
src/main/java/com/civic/controller/CitizenLoginServlet.java - Complaint intake
src/main/java/com/civic/controller/SubmitComplaintServlet.java - Complaint feedback
src/main/java/com/civic/controller/FeedbackServlet.java - Admin login
src/main/java/com/civic/controller/AdminLoginServlet.java - Officer assignment
src/main/java/com/civic/controller/AssignOfficerServlet.java - Officer login
src/main/java/com/civic/controller/OfficerLoginServlet.java - Status update
src/main/java/com/civic/controller/UpdateComplaintServlet.java - Status action
src/main/java/com/civic/controller/UpdateStatusServlet.java
Persistence
- Citizen DAO
src/main/java/com/civic/dao/CitizenDAO.java - Citizen model
src/main/java/com/civic/model/Citizen.java - Civic database
Database access
- DB connection
src/main/java/com/civic/util/DBConnection.java
Other components
- Citizen
- Administrator
- Officer
- MySQL
Connections 29
- Citizen → Citizen pages: uses
- Citizen pages → Registration: registers
- Registration → Citizen model: creates
- Registration → Citizen DAO: registers
- Citizen DAO → DB connection: connects via
- Citizen DAO → Civic database: checks and writes
- Citizen pages → Citizen login: signs in
- Citizen login → DB connection: connects via
- Citizen login → Civic database: authenticates
- Citizen pages → Complaint intake: submits complaint
- Complaint intake → DB connection: connects via
- Complaint intake → Civic database: stores complaint
- Citizen pages → Complaint feedback: sends feedback
- Complaint feedback → DB connection: connects via
- Complaint feedback → Civic database: stores feedback
- Administrator → Admin pages: uses
- Admin pages → Admin login: signs in
- Admin pages → Officer assignment: assigns officer
- Officer → Officer pages: uses
- Officer pages → Officer login: signs in
- Officer pages → Status update: updates complaint
- Officer pages → Status action: updates status
- Status update → DB connection: connects via
- Status update → Civic database: updates and records
- Status action → DB connection: connects via
- Status action → Civic database: updates status
- Officer assignment → DB connection: connects via
- Officer assignment → Civic database: assigns officer
- DB connection → MySQL: opens connection