EcoSaathi is a full-stack platform designed to simplify and digitize e-waste pickup management.
It connects Users, Pickup Agents, and Admins through an automated system featuring:
- Automated request handling
- Live pickup tracking
- OTP-based verification
- AI Chatbot
- Issue/Ticket management
- Certificate generation
- Email notifications
- Admin dashboard
To create a cleaner and greener environment by making e-waste recycling simple, accessible, and transparent.
β Register & Login
β Submit e-waste pickup requests with images
β Track request status
β Upload profile picture
β Auto-generated OTP for secure handover
β View completed request stats
β Download Eco-Certificate after 10 completed pickups
β Raise support tickets & chat with admin
β Live pickup tracking (Google Maps direction)
β Manage all users (verify / reject)
β Manage pickup requests (approve, reject, schedule, complete)
β Assign Pickup Person
β Add/Edit/Delete Pickup Persons
β View platform analytics
β Issue management (reply, close ticket)
β Dashboard stats + Line graph
β Auto-email notifications for every important action
β Auto Admin creation on first app run
β Login via email/password
β View assigned requests
β Update live location
β Mark request completed using OTP
β View pickup details
β Simple clean UI
β Smart automated replies
β Page-aware bot
β User-aware bot
β Simple REST API: /api/bot/chat
Uses JavaMailSender to send rich HTML templates for:
- Welcome Email
- Request Submitted
- Request Status Updates
- Pickup Person account onboarding
- Password reset OTP
- Issue reply and closure
Asynchronous sending via @Async.
β Beautiful certificate template
β Uses html2pdf.js
β Unlock after completing 10 pickups
β Auto user name, date, count
β Users can raise issues
β Chat-like conversation panel
β Admin/Users both can reply
β Email updates on each reply
β Ticket statuses: OPEN, WAITING_FOR_USER, RESOLVED, CLOSED
- Java 17
- Spring Boot
- Spring Security
- JPA / Hibernate
- MySQL
- Java Mail Sender
- Lombok
- Docker-ready structure
- React 18
- Axios
- React Router
- Recharts
- HTML2PDF.js
- Custom UI with CSS
EcoSaathi/
βββ backend/
β βββ Config/
β βββ Controller/
β βββ Entity/
β βββ Service/
β βββ Repository/
β βββ application.properties
β βββ EcoSaathiApplication.java
β
βββ frontend/
βββ src/components/
βββ src/css/
βββ src/pages/
βββ public/
βββ package.json
git clone https://github.com/yourname/EcoSaathi.git
cd EcoSaathi/backendCreate DB:
CREATE DATABASE ecosaathi;spring.datasource.url=jdbc:mysql://localhost:3306/ecosaathi
spring.datasource.username=root
spring.datasource.password=YOUR_PASSWORD
file.upload-dir=uploads
app.mail.sender=your-email@gmail.com
app.mail.sender-name=EcoSaathi
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your-email@gmail.com
spring.mail.password=app-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
mvn spring-boot:runcd ../frontend
npm installnpm startFrontend URL: http://localhost:3000
Backend URL: http://localhost:8080
- POST
/register - POST
/login - POST
/forgot-password - POST
/reset-password - POST
/user/{id}/request - GET
/user/{id}/stats - POST
/user/{id}/profile-picture
User Management
Pickup Person Management
Request Management
Issue Management
- POST
/login - GET
/id/requests - PUT
/request/complete/{id}
- POST
/create/user/{id} - GET
/user/{id} - POST
/{issueId}/reply - GET
/{issueId}
Uses a Google Maps formatted URL:
https://www.google.com/maps/dir/?api=1&origin=USER_LOCATION&destination=PICKUP_PERSON_LAT_LNG
- Modern animated home page
- Admin dashboard with graphs
- Certificates
- Chatbot
- Ticket system
- OTP screens
- Photo zoom modal
- Clean response
- Mobile app
- Push notifications
- Real-time live tracking (WebSockets)
- Reward system
- Route optimization
π€ AI Model Evaluation
The integrated E-Waste Object Detection model was evaluated using standard computer vision metrics. Mean IOU (Intersection over Union): 0.70 mAP@0.5: 0.74 Precision: 0.76 Recall: 0.72 An average IOU score of 0.7 indicates good bounding box localization accuracy for detected e-waste items.
Pull requests are welcome!
For major changes, open an issue first.
This project is Open Source under the MIT License.
Developed by Bablu Lodha
Made with passion for a cleaner planet! πβ»οΈ