CleanBage is a full-stack waste management platform designed to streamline urban waste collection operations. The application connects residents, garbage collectors, and administrators through dedicated role-based dashboards, enabling efficient bin reporting, collection scheduling, route management, and performance tracking.
- JWT-based authentication with HTTP-only cookie sessions
- Google OAuth 2.0 integration for social login
- Email verification system with token-based confirmation
- Password reset functionality via email
- Role-based access control (Resident, Garbage Collector, Admin)
- Interactive Bin Map — Leaflet.js-powered map with geolocation, radius-based search, and waste type filtering
- Bin Reporting — Report bin status with image uploads via Cloudinary
- Collection Tracking — View collection history and upcoming schedules
- Reward System — Earn points for reporting bins, redeem rewards from the store
- Leaderboard — Community rankings based on reward points
- Feedback Submission — Submit and track feedback on services, collectors, and bins
- Assigned Bins Management — View and manage assigned bins with fill level indicators
- Route Management — Access active routes with waypoint navigation
- Collection Scheduling — Calendar view of scheduled collections with time slots
- Report Submission — Submit collection reports with before/after photo uploads
- Performance Dashboard — Track collection statistics and activity history
- User Management — Create, edit, and manage users across all roles
- Bin Management — Add, update, and monitor bins with location mapping
- Route Configuration — Create and optimize collection routes with start/end locations
- Schedule Management — Assign collectors, set recurring schedules, and manage time slots
- Report Analytics — View collection reports with waste volume and category breakdowns
- Feedback Moderation — Review, respond to, and manage user feedback
- Reward Administration — Manage reward items, point allocations, and redemptions
- System Analytics — Dashboard with performance metrics and collection statistics
- Notifications for collection events, rewards, and system announcements
- Priority-based notification levels (low, medium, high, urgent)
- Notification expiry management
- Waste categorization (organic, recyclable, non-recyclable, hazardous, mixed)
- Fill level tracking with overflow alerts
- Collection history with timestamps and collector details
- Maintenance tracking and issue reporting
| Layer | Technologies |
|---|---|
| Frontend | React 18, Vite, Tailwind CSS, Radix UI, React Hook Form, Zod, Recharts, Leaflet.js, Framer Motion |
| Backend | Node.js, Express.js, Passport.js |
| Database | MongoDB with Mongoose ODM |
| Authentication | JWT, Google OAuth 2.0, Bcrypt |
| File Storage | Cloudinary |
| Email Service | Nodemailer |
| Scheduling | node-cron |
| Maps | Leaflet.js with OpenStreetMap |
- Live Demo: Click here
- GitHub Repository: Click here