How adityagehlot356/civix works
CIVIX is a civic issue-reporting and resolution platform. Residents report, discuss, and track local issues; district administrators review and assign them; workers update assigned issues through resolution. The frontend provides role-specific dashboards and account views, while the Express backend exposes API routes and persists domain records. Chat uses Socket.IO for live message delivery. The README gives no capability detail, and several controllers and frontend screens were not sampled, so unsampled feature wiring is represented only where the route tree supports it.
Main entry points: App.js Role-based app · app.js Express API · api.js HTTP client · workerController.js Worker resolution
Components 28
Web application
- Role-based app
frontend/src/App.js - Report and browse
frontend/src/components/Report/Report.jsx - Admin dashboard
frontend/src/components/Admin/AdminDashboard.jsx - Worker dashboard
frontend/src/components/Worker/WorkerDashboard.jsx - Issue details
frontend/src/components/IssueDetails/IssueDetails.jsx - HTTP client
frontend/src/services/api.js - Chat and history
frontend/src/components/Chat/Chat.jsx - Profile screens
frontend/src/components/Profile/Profile.jsx - Account management
frontend/src/components/Superadmin/SuperadminManageAccounts.jsx
API and access
- Express API
backend/app.js - Auth routes
backend/routes/authRoutes.js - Issue routes
backend/routes/issueRoutes.js - Admin routes
backend/routes/adminRoutes.js - Worker routes
backend/routes/workerRoutes.js - Chat routes
backend/routes/chatRoutes.js - User routes
backend/routes/userRoutes.js - Superadmin routes
backend/routes/superadminRoutes.js
Issue resolution
- Issue handling
backend/controllers/issueController.js - District assignment
backend/controllers/adminController.js - Worker resolution
backend/controllers/workerController.js - Issue records
backend/models/Issue.js
Community features
- Notifications
backend/models/Notification.js - Socket server
backend/server.js - Messages
backend/models/Message.js
Accounts and messaging
- User records
backend/models/User.js
Other components
- CIVIX user
- Email service
- AWS S3
Connections 42
- CIVIX user → Role-based app: uses
- Role-based app → Report and browse: routes to
- Role-based app → Admin dashboard: routes to
- Role-based app → Worker dashboard: routes to
- Role-based app → Issue details: routes to
- Role-based app → Chat and history: routes to
- Role-based app → Profile screens: routes to
- Role-based app → Account management: routes to
- Report and browse → HTTP client: requests
- Issue details → HTTP client: requests
- Admin dashboard → HTTP client: requests
- Worker dashboard → HTTP client: requests
- Profile screens → HTTP client: requests
- Account management → HTTP client: requests
- HTTP client → Express API: HTTP calls
- Express API → Auth routes: dispatches
- Express API → Issue routes: dispatches
- Express API → Admin routes: dispatches
- Express API → Worker routes: dispatches
- Express API → User routes: dispatches
- Express API → Chat routes: dispatches
- Express API → Superadmin routes: dispatches
- Issue routes → Issue handling: dispatches
- Admin routes → District assignment: dispatches
- Worker routes → Worker resolution: dispatches
- User routes → User records: profile access
- Issue handling → Issue records: reads and writes
- Issue handling → User records: updates counts
- Issue handling → AWS S3: uploads images
- District assignment → Issue records: reads and assigns
- District assignment → User records: reads and updates
- District assignment → Email service: sends updates
- Worker resolution → Issue records: reads and updates
- Worker resolution → User records: updates counts
- Worker resolution → Notifications: creates alerts
- Worker resolution → Email service: sends updates
- Chat and history → HTTP client: loads history
- Chat and history → Socket server: socket messages
- Chat routes → Messages: reads history
- Socket server → Messages: saves messages
- Socket server → User records: looks up sender
- Socket server → Chat and history: emits events