Skip to content

VMahamadhBasha/Trash2Treasure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

🚧 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

A Citizen-Driven Cleanliness Reporting Platform 🇮🇳

License: MIT Contributions Welcome


📌 Overview

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.


🎯 Objectives

  • 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

📦 What is Included

The project consists of three main modules:

1️⃣ Citizen Web Application

  • Upload images of unclean areas
  • Auto-detect location using GPS
  • View complaint status

2️⃣ Admin Dashboard (Municipal Panel)

  • View reported complaints
  • Assign cleaning tasks
  • Update status (Pending / In Progress / Cleaned)
  • Monitor reports and analytics

3️⃣ Backend API

  • Handles authentication and data storage
  • Manages image uploads and GPS data
  • Connects frontend and admin dashboard

🚀 Features

  • 📸 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

🗂️ Project Structure

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

🛠️ Technologies Used

Frontend

  • HTML5, CSS3, JavaScript
  • React.js
  • Tailwind CSS / Bootstrap

Backend

  • Node.js
  • Express.js

Database

  • MongoDB

Cloud & Tools

  • Firebase / AWS S3 (Image storage)
  • Git & GitHub

⚙️ Installation & Setup


🧑‍💻 Contributor Note

Please ensure MongoDB is running locally before starting the backend server.

Prerequisites

  • Node.js (v14 or above)
  • MongoDB
  • Git

Steps

# 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 👍

About

Trash2Treasure is a Swachh Bharat–inspired platform that lets citizens report unclean areas by uploading photos. The app auto-detects location and sends issues to municipal authorities for faster, transparent cleanliness action.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors