How anomus420/smart-waste-management works
Smart Waste Management is a citizen-facing waste services application with an administrative console. Citizens authenticate, file and track waste complaints, request e-waste pickups, find collection centres, and read awareness content; administrators review service activity and manage complaints, users, pickups, centres, and articles. The React client calls an Express API, whose controllers implement domain operations over MongoDB models. Notifications, AI assistance, and Google sign-in are additional capabilities. Some domain controllers and service implementations were not sampled, so their internal wiring is represented only where supported by the tree, README, or route setup.
Main entry points: routes.jsx Page routes · app.js Express application · api.js HTTP client · models MongoDB models
Components 32
Web application
- React application
frontend/src/App.jsx - Page routes
frontend/src/routes.jsx - Authentication UI
frontend/src/components/auth/LoginForm.jsx - Complaint UI
frontend/src/pages/FileComplaint.jsx - Pickup and map UI
frontend/src/pages/EWasteRequest.jsx - Awareness UI
frontend/src/pages/AwarenessHub.jsx - Admin console
frontend/src/pages/AdminDashboard.jsx - HTTP client
frontend/src/services/api.js
API and routing
- Express application
backend/src/app.js - Auth routes
backend/src/routes/auth.routes.js - Complaint routes
backend/src/routes/complaint.routes.js - E-waste routes
backend/src/routes/ewaste.routes.js - Awareness routes
backend/src/routes/awareness.routes.js - Admin routes
backend/src/routes/admin.routes.js
Waste services
- Authentication
backend/src/controllers/authController.js - Complaint handling
backend/src/controllers/complaintController.js - Pickup handling
backend/src/controllers/ewasteController.js - Article handling
backend/src/controllers/awarenessController.js - Administration
backend/src/controllers/adminController.js - Waste assistant
backend/src/controllers/chatController.js
Data and integrations
- MongoDB models
backend/src/models - MongoDB
backend/src/config/db.js - Notification service
backend/src/services/notificationService.js - Email service
backend/src/services/emailService.js - SMS service
backend/src/services/smsService.js - AI service
backend/src/services/aiService.js
Other components
- Citizens
- Administrators
- Google OAuth
- Email provider
- SMS provider
- OpenAI
Connections 39
- Citizens → React application: use
- Administrators → React application: use
- React application → Page routes: renders
- Page routes → Authentication UI: routes to
- Page routes → Complaint UI: routes to
- Page routes → Pickup and map UI: routes to
- Page routes → Awareness UI: routes to
- Page routes → Admin console: routes to
- Authentication UI → HTTP client: requests
- Complaint UI → HTTP client: requests
- Pickup and map UI → HTTP client: requests
- Awareness UI → HTTP client: requests
- Admin console → HTTP client: requests
- HTTP client → Express application: HTTP requests
- Express application → Auth routes: mounts
- Express application → Complaint routes: mounts
- Express application → E-waste routes: mounts
- Express application → Awareness routes: mounts
- Express application → Admin routes: mounts
- Auth routes → Authentication: dispatches
- Complaint routes → Complaint handling: dispatches
- E-waste routes → Pickup handling: dispatches
- Awareness routes → Article handling: dispatches
- Admin routes → Administration: dispatches
- Authentication → MongoDB models: reads and writes
- Complaint handling → MongoDB models: reads and writes
- Pickup handling → MongoDB models: reads and writes
- Article handling → MongoDB models: reads and writes
- Administration → MongoDB models: reads and writes
- MongoDB models → MongoDB: persists
- Administration → Notification service: requests alerts
- Authentication → Email service: sends messages
- Administration → Email service: sends alerts
- Administration → SMS service: sends alerts
- Email service → Email provider: delivers
- SMS service → SMS provider: delivers
- Google OAuth → Auth routes: OAuth sign-in
- Waste assistant → AI service: requests suggestions
- AI service → OpenAI: queries