How srujanabhavani10/civic-ai works
Civic Connect AI is a civic grievance reporting and management frontend. Citizens submit text or image reports; analysis validates and classifies them, routing assigns a department, and complaint state supports tracking and department/admin handling. Authentication gates role-specific dashboards, while a chatbot provides assistance. The API and complaint store shown here use mock and local in-memory data. Edges rely on excerpts, SOURCE INDEX references, or README claims; some feature implementations were not sampled, so uncertain links are omitted.
Main entry points: App.tsx Routes and Shell · complaintStore.ts Complaint Store · api.ts Mock API Layer · AuthContext.tsx Authentication Context
Components 22
App Entry
- Routes and Shell
src/App.tsx - Landing Page
src/pages/Index.tsx
Complaint Reporting
- Report Form
src/pages/ReportComplaint.tsx - Complaint Analysis
src/lib/aiAnalysis.ts - Image OCR Validation
src/lib/ocrValidation.ts - Text Validation
src/lib/textValidation.ts - Department Routing
src/lib/departmentRouting.ts
Complaint State
- Complaint Tracking
src/pages/TrackComplaint.tsx - Complaint Store
src/lib/complaintStore.ts - Mock API Layer
src/lib/api.ts - Complaint Data Models
src/lib/mockData.ts
Operations
- Citizen Dashboard
src/pages/CitizenDashboard.tsx - Department Dashboard
src/pages/DepartmentDashboard.tsx - Admin Dashboard
src/pages/AdminDashboard.tsx - Departments Page
src/pages/Departments.tsx
Identity and Help
- Authentication Context
src/contexts/AuthContext.tsx - Login
src/pages/Login.tsx - Registration
src/pages/Register.tsx - Chatbot Interface
src/components/FloatingChatbot.tsx - Chatbot Intelligence
src/lib/chatbotIntelligence.ts
Other components
- Citizens
- Departments
Connections 41
- Citizens → Routes and Shell: open app
- Departments → Routes and Shell: open app
- Routes and Shell → Landing Page: routes to
src/App.tsx - Routes and Shell → Report Form: routes to
src/App.tsx - Routes and Shell → Complaint Tracking: routes to
src/App.tsx - Routes and Shell → Citizen Dashboard: routes to
src/App.tsx - Routes and Shell → Department Dashboard: routes to
src/App.tsx - Routes and Shell → Admin Dashboard: routes to
src/App.tsx - Routes and Shell → Departments Page: routes to
src/App.tsx - Routes and Shell → Login: routes to
src/App.tsx - Routes and Shell → Registration: routes to
src/App.tsx - Routes and Shell → Authentication Context: provides auth
src/App.tsx - Routes and Shell → Chatbot Interface: renders
src/App.tsx - Citizens → Report Form: file complaint
- Report Form → Complaint Analysis: analyzes report
src/pages/ReportComplaint.tsx - Complaint Analysis → Image OCR Validation: validates image
src/lib/aiAnalysis.ts - Complaint Analysis → Text Validation: validates text
src/lib/aiAnalysis.ts - Complaint Analysis → Department Routing: selects department
src/lib/aiAnalysis.ts - Report Form → Complaint Store: submits complaint
src/pages/ReportComplaint.tsx - Report Form → Authentication Context: checks user
src/pages/ReportComplaint.tsx - Complaint Store → Mock API Layer: persists records
src/lib/complaintStore.ts - Complaint Store → Department Routing: normalizes department
src/lib/complaintStore.ts - Mock API Layer → Complaint Data Models: uses complaint models
src/lib/api.ts - Mock API Layer → Department Routing: normalizes department
src/lib/api.ts - Complaint Tracking → Complaint Store: reads complaints
src/pages/TrackComplaint.tsx - Citizen Dashboard → Complaint Store: reads complaints
src/pages/CitizenDashboard.tsx - Citizen Dashboard → Authentication Context: reads user
src/pages/CitizenDashboard.tsx - Department Dashboard → Mock API Layer: fetches department complaints
src/pages/DepartmentDashboard.tsx - Department Dashboard → Complaint Store: updates complaint state
src/pages/DepartmentDashboard.tsx - Department Dashboard → Authentication Context: reads user
src/pages/DepartmentDashboard.tsx - Admin Dashboard → Complaint Store: manages complaints
src/pages/AdminDashboard.tsx - Admin Dashboard → Complaint Data Models: reads dashboard data
src/pages/AdminDashboard.tsx - Login → Authentication Context: sets session
src/pages/Login.tsx - Login → Mock API Layer: authenticates
src/pages/Login.tsx - Registration → Authentication Context: sets session
src/pages/Register.tsx - Registration → Mock API Layer: registers user
src/pages/Register.tsx - Citizens → Chatbot Interface: asks for help
- Chatbot Interface → Chatbot Intelligence: requests guidance
src/components/FloatingChatbot.tsx - Chatbot Interface → Complaint Store: reads complaint state
src/components/FloatingChatbot.tsx - Chatbot Intelligence → Complaint Analysis: uses analysis logic
src/lib/chatbotIntelligence.ts - Chatbot Intelligence → Department Routing: uses department routing
src/lib/chatbotIntelligence.ts