How alokkumar-gh/ecosetu works
EcoSetu is a multilingual e-waste circular-economy platform connecting citizens and informal collectors with recyclers, with sourcing, pricing, verified handovers, traceability and EPR-oriented administration. The principal workflow is collector material capture and lot creation, recycler sourcing/quotation, and a recorded handover with receipt. Mobile screens call backend APIs; voice and AI capabilities supplement that flow. Paths and links for backend voice, marketplace and persistence are based on the documented capabilities and tree; sampled excerpts do not establish every internal connection.
Main entry points: app.js REST API · App.tsx Mobile app · database.js Platform database · RootNavigator.tsx Role navigation
Components 22
Mobile experience
- Mobile app
mobile/src/App.tsx - Role navigation
mobile/src/navigation/RootNavigator.tsx - Collector workflows
mobile/src/screens/collector/CollectorMaterialCaptureScreen.tsx - Recycler workflows
mobile/src/screens/recycler/RecyclerMarketplaceScreen.tsx - API services
mobile/src/services/apiClient.js - Voice interface
mobile/src/components/voice/VoiceInput.tsx
Platform services
- REST API
backend/src/app.js - Authentication
backend/src/services/authService.js - Lots and sourcing
backend/src/services/materialLotService.js - Quotes and matching
backend/src/services/quoteService.js - Market pricing
backend/src/services/priceService.js - Platform database
backend/src/config/database.js
Voice and intelligence
- EcoSaathi assistant
mobile/src/components/eco/EcoSaathiChatModal.tsx - BHASHINI services
backend/src/services/bhashini/index.js - Image classification
ai/src/main.py
Governance and traceability
- Digital handover
backend/src/services/handoverService.js - Chain of custody
backend/src/services/traceability/EcoTraceService.js - Admin control center
backend/src/controllers/adminController.js
Other components
- Collector
- Recycler
- Citizen
- BHASHINI API
Connections 28
- Collector → Mobile app: uses
- Recycler → Mobile app: uses
- Citizen → Mobile app: uses
- Mobile app → Role navigation: opens
- Role navigation → Collector workflows: routes
- Role navigation → Recycler workflows: routes
- Collector workflows → API services: requests
- Recycler workflows → API services: requests
- API services → REST API: REST requests
- REST API → Authentication: dispatches auth
- REST API → Lots and sourcing: dispatches sourcing
- REST API → Quotes and matching: dispatches quotes
- REST API → Market pricing: dispatches prices
- REST API → Digital handover: dispatches handover
- REST API → Admin control center: dispatches admin
- Collector workflows → Voice interface: captures speech
- Voice interface → REST API: sends voice
- Mobile app → EcoSaathi assistant: offers assistant
- EcoSaathi assistant → REST API: assistant requests
- REST API → BHASHINI services: uses language services
- BHASHINI services → BHASHINI API: speech and translation
- REST API → Image classification: requests classification
- Lots and sourcing → Platform database: persists records
- Quotes and matching → Platform database: persists offers
- Market pricing → Platform database: reads rates
- Digital handover → Platform database: records transfer
- Digital handover → Chain of custody: records custody
- Admin control center → Platform database: administers records