JS
JanSeva Assembly
Report Local Issues. Improve Your Community.
Citizen & Admin Access
Enter your registered Indian mobile number to verify via 6-digit OTP.
Enter 6-Digit OTP
Sent to +91 9876543210. Valid for 04:59 mins.
Resend OTP in 00:42
Select Assembly Locality
Cascading election hierarchy referenced from CEO Delhi locality search.
Constituency Map & Analytics
Locality Leaderboard
Report a Local Complaint
No media attached yet.
Notifications
VS
Vineet Singh
+91 9876543210 • Resident
Saved Assembly Locality
AC-33 Dwarka • Ward 120 • Sector 6 DDA Pocket 1
Admin Moderation Portal
AUTHORIZED0
Total Complaints
0
Pending Review
0
Assigned to Dept
0
Resolved Complaints
Complaint Action Queue
| ID | Title | Locality | Status | Priority | Actions |
|---|
Admin Action Audit Log
System Architecture & API Specs
1. CEO Delhi Locality Reference Architecture
Hierarchical relational database schema for location mapping:
State (NCT of Delhi)
└── District (New Delhi / South West Delhi / Central Delhi)
└── Assembly Constituency (AC-40 New Delhi, AC-33 Dwarka, AC-20 Chandni Chowk)
└── Ward (Ward 120 / Ward 141)
└── Village / Colony / Locality (Pocket 1, Gole Market)
└── Street & GPS Pinpoint (Lat, Lng)
2. Database Entity-Relationship Schema (JSON)
{
"complaint_id": "ND-2026-8942",
"title": "String",
"description": "Text",
"category_enum": ["Roads", "Water", "Electricity", "Drainage", "Sanitation", "Streetlights", "Safety", "Parks", "Encroachment", "Transport", "Other"],
"visibility_mode": "Local" | "Public",
"citizen_id": "UUID / Hash",
"is_anonymous": boolean,
"location": {
"state": "String", "district": "String", "ac_code": "AC-33", "ward_code": "WARD-120", "locality": "String", "gps": { "lat": 28.59, "lng": 77.04 }
},
"status_enum": "Submitted" | "Under Review" | "Approved" | "Assigned" | "In Progress" | "Resolved" | "Rejected",
"priority": "Low" | "Medium" | "High" | "Emergency",
"assigned_dept": "PWD",
"audit_trail_ref": ["AUD-101", "AUD-102"]
}
3. REST API Specification
POST /api/v1/auth/otp/send -> Send 6-digit OTP to +91 mobile
POST /api/v1/auth/otp/verify -> Verify OTP & return JWT token
GET /api/v1/locations/hierarchy -> Fetch State/AC/Ward locality tree
GET /api/v1/complaints?locality=... -> Fetch Instagram-style civic feed
POST /api/v1/complaints -> Submit new complaint (with local/public visibility)
PATCH /api/v1/admin/complaints/:id -> Approve / Reject / Assign Dept / Update Status
GET /api/v1/admin/audit-logs -> Fetch administrative audit trail log
4. Role-Based Access Control (RBAC)
Role 'Citizen': Read Feed, Submit Complaint, Upvote, Comment, Change Locality.
Role 'Admin': Requires passcode ADMIN123. Review, Approve, Reject, Assign Dept, Change Priority, Merge Duplicates, Upload Resolution Proof, Audit Access.