🚧 This project is being built from scratch as part of ECWoC 2026. Core features and architecture are under active development, and contributions are welcome.
Trash2Treasure is a Swachh Bharat–inspired civic-tech platform that enables citizens to report unclean public areas by uploading photos. The system automatically detects the location and forwards the issue to the concerned municipal authorities through an admin dashboard for quick action and transparency.
This project aims to bridge the gap between citizens and municipalities using technology, encouraging community participation in building a cleaner and healthier environment.
- Enable quick reporting of unclean surroundings
- Reduce delays in municipal cleanliness response
- Promote citizen participation in sanitation efforts
- Provide a transparent and trackable complaint system
The project consists of three main modules:
- Upload images of unclean areas
- Auto-detect location using GPS
- View complaint status
- View reported complaints
- Assign cleaning tasks
- Update status (Pending / In Progress / Cleaned)
- Monitor reports and analytics
- Handles authentication and data storage
- Manages image uploads and GPS data
- Connects frontend and admin dashboard
- 📸 Photo-based cleanliness reporting
- 📍 Automatic GPS location tagging
- 🏛️ Municipal admin dashboard
- 🔄 Real-time complaint status updates
- 🔐 Secure authentication
- 📊 Basic analytics and reporting
- 📱 Responsive UI design
The Trash2Treasure project is organized into multiple modules to ensure scalability, maintainability, and ease of contribution. Below is the complete directory structure with a brief explanation of each folder and file.
trash2treasure/
│
├── frontend/ # Citizen Web Application
│ ├── public/
│ │ └── index.html # Main HTML entry point
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ │ ├── Navbar.jsx
│ │ │ ├── Footer.jsx
│ │ │ ├── UploadForm.jsx # Upload image & report form
│ │ │ └── ReportCard.jsx # Display complaint info
│ │ ├── pages/ # Application pages
│ │ │ ├── Home.jsx
│ │ │ ├── Report.jsx
│ │ │ ├── Login.jsx
│ │ │ └── Register.jsx
│ │ ├── services/
│ │ │ └── api.js # API communication layer
│ │ ├── styles/
│ │ │ └── main.css # Global styles
│ │ ├── App.jsx # Root component
│ │ └── main.jsx # React DOM entry
│ └── package.json
│
├── admin-dashboard/ # Municipal Authority Panel
│ ├── src/
│ │ ├── components/
│ │ │ ├── Sidebar.jsx
│ │ │ ├── ComplaintTable.jsx
│ │ │ └── StatusUpdate.jsx
│ │ ├── pages/
│ │ │ ├── Dashboard.jsx
│ │ │ ├── Complaints.jsx
│ │ │ └── Analytics.jsx
│ │ ├── services/
│ │ │ └── adminApi.js # Admin API calls
│ │ └── App.jsx
│ └── package.json
│
├── backend/ # Server & REST APIs
│ ├── controllers/ # Business logic
│ │ ├── authController.js
│ │ └── reportController.js
│ ├── models/ # Database schemas
│ │ ├── User.js
│ │ └── Report.js
│ ├── routes/ # API routes
│ │ ├── authRoutes.js
│ │ └── reportRoutes.js
│ ├── middleware/ # Authentication & validation
│ │ └── authMiddleware.js
│ ├── config/
│ │ └── db.js # Database connection
│ ├── server.js # Application entry point
│ └── package.json
│
├── docs/ # Project documentation
│ ├── architecture.md
│ ├── api-docs.md
│ └── setup-guide.md
│
├── .gitignore
├── README.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
└── LICENSE
- HTML5, CSS3, JavaScript
- React.js
- Tailwind CSS / Bootstrap
- Node.js
- Express.js
- MongoDB
- Firebase / AWS S3 (Image storage)
- Git & GitHub
Please ensure MongoDB is running locally before starting the backend server.
- Node.js (v14 or above)
- MongoDB
- Git
# Clone the repository
git clone https://github.com/your-username/trash2treasure.git
# Install frontend dependencies
cd frontend
npm install
npm start
# Install backend dependencies
cd ../backend
npm install
npm run dev
---
🔁 Application Workflow
1. User uploads an image of an unclean area
2. Location is captured automatically
3. Data is stored in the database
4. Admin dashboard receives the complaint
5. Status is updated until the issue is resolved
---
📈 Future Enhancements
AI-based garbage detection
Google Maps integration
Reward system for active users
Mobile application support
SMS / Email notifications
---
🤝 Contributing
Contributions are welcome!
Please read the CONTRIBUTING.md file before submitting pull requests.
---
📜 License
This project is licensed under the MIT License.
See the LICENSE file for details.
---
📧 Contact
For queries or collaboration:
Project Maintainer: VM Basha
---
🌱 Together, let’s build a cleaner and smarter India!
---
## ✅ Next I can help you with:
- `CONTRIBUTING.md`
- `CODE_OF_CONDUCT.md`
- GitHub **issues & labels**
- Architecture diagram
- ECWoC **final submission text**
Just tell me 👍