Skip to content

Suhail-Sharieff/PROJECT-eco_earth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 Eco_Earth

πŸ” Project Overview

Eco_Earth is a part of the Google Solution Challenge 2025 and focuses on 🌱 sustainable ♻️ waste management and recycling solutions.

πŸ“– App Overview

EchoEarth is an innovative app aimed at promoting eco-friendly practices by encouraging recycling and the reuse of materials. It provides a platform where users can interact with vendors, report environmental pollution, locate recycling centers, and get rewarded for their contributions to the environment.

Techstack details

  • MVVM model with clean and manageable code
  • GetX for efficient state management
  • Firebase for authentication
  • Supabase for database storage

πŸ”‘ Key Features

🏠 Homepage

The homepage serves as a hub for users to access several features that promote sustainability.

♻️ Reusables

  • Users can view available reusable items at affordable prices.
  • If an item is in stock, users can click on it to see more details and opt to "Buy Now."
  • The "Buy Now" option sends a notification to the vendor or product owner, requesting the purchase of the item.

πŸ“ Complaint Registration

  • Users can register complaints about environmental pollution, including e-waste, plastic, or any other type of waste.
  • They can upload a photo, provide the location, and describe the pollution.
  • Complaints will be publicly visible to municipalities and authorities for action.

🏭 Recycling Centers Near Me

  • Displays nearby recycling centers with categories of materials they accept (e.g., e-waste, metal, plastic).
  • Centers are rated out of five stars.
  • Users can view the owner's name, location, accepted material categories, and rating by clicking on a recycling center.
  • Option to "Request Services" by entering the weight of recyclable material, and a notification will be sent to the vendor for team collection.

πŸ“Š User Dashboard

  • Users can track their history, including previous orders and contributions.
  • Contributions (such as the number of recycled items) earn the user points.
  • A leaderboard is displayed to showcase top contributors.

πŸ€– AI Waste Classifier (Gemini API)

  • Users can take a picture of any waste and classify it using the Gemini API.
  • Classifies waste into recyclable, reusable, or other types.

πŸͺ Vendor Registration

  • Users can register as vendors by filling out a form.
  • Vendor profiles are publicly visible to users for engagement.

🌍 Discover Section

  • Users can explore other waste management portals, both government and private, for additional recycling opportunities.

πŸ† Leaderboard

  • Displays rankings based on points earned from recycling and environmental contributions.

πŸ”” Notifications

  • Users are notified about rewards earned, ecological events participated in, or any other important updates.

🌿 Additional Information

EchoEarth combines convenience, user engagement, and environmental sustainability into one app. The platform promotes a circular economy by encouraging reuse, recycling, and responsible waste management.

🀝 How to Collaborate

To contribute to this project, follow these steps:

  • πŸ“₯ Clone the Repository: git clone https://github.com/Suhail-Sharieff/PROJECT-eco_earth.git
  • πŸ”§ Install Dependencies pub get
  • πŸ”₯ Connect to Firebase:
    • πŸ“œ Follow the instructions in the Firebase Console.
    • ⚑ Activate Firebase CLI.
  • πŸ› οΈ Set Up Supabase:
    • πŸ—‚οΈ Create a schema in your Supabase project editor. supabase-schema-xvvpxcbyerznsqbbagkv
    • Also add a Enum OrderStatus that I have used to track Orders
enum OrderStatus {
  Packed,
  Shipped,
  Delivered,
  Paid,
  Approved,
  Cancelled,
}
  • πŸ” Ensure that RLS (Row Level Security) policies are defined for at least anonymous users.
  • πŸ“„ Create a secrets.dart File in the lib Folder:
    /// πŸ”₯ Firebase Configuration Constants
    const API_KEY_ANDROID = '';
    const API_KEY_WEB = '';
    const API_KEY_IOS = '';
    
    const APP_ID_ANDROID = '';
    const APP_ID_WEB = '';
    const APP_ID_IOS = '';
    
    const MESSAGING_SENDER_ID = '';
    const PROJECT_ID = '';
    const AUTH_DOMAIN = '';
    const STORAGE_BUCKET = '';
    const MEASUREMENT_ID = '';
    
    const IOS_BUNDLE_ID = '';
    
    const SUPABASE_URL = '';
    const ANON_KEY = '';
    const SERVICE_ROLE = '';
    const JWT_SECRET = '';
    
    const GEMINI_API_KEY = '';
  • πŸ› οΈ Ensure Version Compatibility:
    • πŸ¦‹ Flutter 3.24.5
    • 🎯 Dart 3.5.4
    • πŸ› οΈ DevTools 2.37.3
  • βš™οΈ Resolve JDK Issues:
  • πŸš€ Start and Enjoy the App!

πŸ“Έ Some Screenshots

Home Page 1 Home Page 2 Profile
Settings Reusables 1 Reusables 2
Reusables 3 Discover Recycling Center 1
Recycling Center 2 Dashboard 1 Dashboard 2
AI Classifier 1 AI Classifier 2 Vendor 1
Vendor 2 Notifications Leaderboard
image image image

Flow

diagram