Skip to content

♻️ EcoWaste is a smart waste management and recycling platform with AI-based identification, community engagement, and educational resources. πŸš€

Notifications You must be signed in to change notification settings

arman61-hub/EcoWaste

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EcoWaste~

Overview

EcoWaste: Smart Waste Management System

EcoWaste is a waste management platform that uses technology to identify, manage, and recycle waste automatically. This system helps with:

User Authentication:

  • Secure user login and sign-up system to ensure authentication. Dashboard for Waste Reporting:

1] Dashboard for Waste Reporting: Users can report waste through their dashboard and initiate AI-powered analysis.

2] AI-Powered Waste Analysis: The system analyzes captured or uploaded waste images, identifies the waste type, and provides optimized recycling or reuse solutions.

3] Large Waste Handling: If the waste is too large to handle, the system assigns it to a dedicated collection team for proper disposal, ensuring a cleaner environment.

4] User Rewards & Incentives: Users who report large waste receive reward points, which can be redeemed for EcoWaste-branded merchandise such as caps, T-shirts, and other exclusive items, encouraging active participation.

5] Admin & Specialist Dashboard: Waste management professionals and authorities get a dedicated dashboard where they can access summaries of reported waste, AI-generated insights, and collection request statuses..

Features

1. User Authentication

  • Secure Sign-up & Login system to ensure user authentication.

2. Waste Reporting & Analysis

  • Users can report waste for AI-powered identification and optimized disposal solutions.
  • Search & Analyze functionality for understanding waste categories and proper disposal methods.

3. Educational Resources

  • Access to educational videos about waste management and sustainability.
  • Fun Facts section to spread awareness about recycling and environmental conservation.

4. Community Engagement

  • Community Forum where users can share experiences, tips, and discuss waste management.
  • Moderated Community Messages to ensure quality discussions and prevent misinformation.

5. Recycling Tips

  • Users can explore recycling tips to enhance their knowledge about waste reduction and management.

6. Admin Panel

  • Manage Videos: Admins can upload, edit, and remove educational videos.
  • Manage Recycling Tips: Admins can curate and update recycling tips for users.
  • Moderate Community Messages: Ensure a safe and informative space for discussions.

User Workflow

  • Landing Page: Users arrive and can log in or sign up.
  • Login/Sign Up: Secure authentication for account creation and access. Dashboard :
  • Report Waste: Users upload or capture an image for analysis.
  • Waste Analysis & Recycling Tips: Displays waste category, disposal methods, and eco-friendly tips.
  • Community Engagement: Users join forums to discuss waste management, share experiences, and ask questions.
  • Educational Resources: Users access videos on sustainable waste management and fun recycling facts.
  • Admin Panel: Admins manage videos, update recycling tips, and moderate community discussions.
  • User Logout: Users log out securely after their session.

Installation

Prerequisites

  • Node.js
  • MongoDB
  • A web browser

Steps

  1. Clone the repository:

     git clone https://github.com/your-username/EcoWaste.git
    
  2. Navigate to the project backend directory:

     cd backend
    
  3. Install dependencies:

    npm install
    
  4. Set up the database:

    • Start MongoDB.
    • Configure the database connection in the .env file.
  5. Run the application:

    npm run server
    
  6. Access the application backend at http://localhost:4000.

  7. Navigate to the project frontend directory:

    cd frontend
    
  8. Install dependencies:

    npm install
    
  9. Configure the backend URL and Geminia API in the .env file.

  10. Run the application:

npm run dev
  1. Access the application frontend at http://localhost:5173.

Technology Stack

  • Frontend: React.js, Tailwind CSS
  • Backend: Node.js, Express
  • Database: MongoDB
  • AI Integration: Gemini API

Project Structure

EcoWaste
β”œβ”€β”€ backend
β”‚  β”œβ”€β”€ config
β”‚  β”‚  β”œβ”€β”€ cloudinary.js
β”‚  β”‚  └── mongodb.js
β”‚  β”‚
β”‚  β”œβ”€β”€ controllers
β”‚  β”‚  β”œβ”€β”€ adminController.js
β”‚  β”‚  β”œβ”€β”€ contactController.js
β”‚  β”‚  └── userController.js
β”‚  β”‚
β”‚  β”œβ”€β”€ middlewares
β”‚  β”‚  β”œβ”€β”€ authAdmin.js
β”‚  β”‚  └── authUser.js
β”‚  β”‚
β”‚  β”œβ”€β”€ models
β”‚  β”‚  β”œβ”€β”€ contactModel.js
β”‚  β”‚  β”œβ”€β”€ funFactModel.js
β”‚  β”‚  β”œβ”€β”€ reportModel.js
β”‚  β”‚  β”œβ”€β”€ tipModel.js
β”‚  β”‚  β”œβ”€β”€ userModel.js
β”‚  β”‚  └── videoModel.js
β”‚  β”‚  
β”‚  β”œβ”€β”€ routes
β”‚  β”‚  β”œβ”€β”€ adminRoute.js
β”‚  β”‚  β”œβ”€β”€ contactRoute.js
β”‚  β”‚  └── userRoute.js
β”‚  β”‚
β”‚  β”œβ”€β”€ server.js
β”‚  └── .env
β”‚
β”œβ”€β”€ frontend
β”‚  β”œβ”€β”€ public
β”‚  β”‚  └── eco-energy.svg
β”‚  β”‚
β”‚  β”œβ”€β”€ src
β”‚  β”‚  β”œβ”€β”€ admin
β”‚  β”‚  β”‚  β”œβ”€β”€ AdminContacts.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ AdminDashboard.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ AdminOverview.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ ManageEducationalVideos.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ ManageFunFacts.jsx
β”‚  β”‚  β”‚  └── ManageRecyclingTips.jsx
β”‚  β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ components
β”‚  β”‚  β”‚   β”œβ”€β”€ sections
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ CTA.jsx
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ Features.jsx
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ Footer.jsx
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ Hero.jsx
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ Impact.jsx
β”‚  β”‚  β”‚   β”‚    β”œβ”€β”€ Navbar.jsx
β”‚  β”‚  β”‚   β”‚    └── Process.jsx
β”‚  β”‚  β”‚   β”‚
β”‚  β”‚  β”‚   └── ui
β”‚  β”‚  β”‚      β”œβ”€β”€ FeatureCard.jsx
β”‚  β”‚  β”‚      β”œβ”€β”€ ImpactStat.jsx
β”‚  β”‚  β”‚      └── ProcessStep.jsx
β”‚  β”‚  β”‚ 
β”‚  β”‚  β”œβ”€β”€ context
β”‚  β”‚  β”‚  └── AppContext.jsx
β”‚  β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ pages
β”‚  β”‚  β”‚  β”œβ”€β”€ Home.jsx
β”‚  β”‚  β”‚  └── Login.jsx
β”‚  β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ user
β”‚  β”‚  β”‚  β”œβ”€β”€ CommunityEngagement.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ EducationalVideos.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ FunFacts.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ ImageSearchSection.jsx
β”‚  β”‚  β”‚  β”œβ”€β”€ RecyclingTips.jsx 
β”‚  β”‚  β”‚  β”œβ”€β”€ ReportWaste.jsx
β”‚  β”‚  β”‚  └── UserDashboard.jsx
β”‚  β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ App.jsx
β”‚  β”‚  β”œβ”€β”€ index.css
β”‚  β”‚  └── main.jsx
β”‚  β”‚
β”‚  β”œβ”€β”€ .env
β”‚  └── index.html
β”‚
└── README.md

Features in Detail

1. Landing Page

Provides options to log in or sign up for a personalized experience.

2. Login or Sign Up.

  • Allows new users to create an account.
  • Enables existing users to log in and access their dashboard.
  • Implements password encryption for security.

3. Dashboard (Home Screen)

Displays an interactive interface where users can:-

  • Report waste for analysis.
  • Explore educational resources on waste management.
  • Engage in community discussions to learn and share insights.
  • Provides quick access to all platform functionalities.

4. Report Waste

  • Users can capture waste images using their device camera.
  • Option to upload images directly from their computer.
  • The system processes the image and redirects users to the Waste Analysis page for detailed insights.

5. Waste Analysis & Recycling Tips :

AI-powered waste analysis provides details on:

  • Waste category (e.g., plastic, organic, electronic waste).
  • Disposal methods for proper waste management.
  • Environmental impact of the waste item.
  • Users can explore Recycling Tips to learn how to reduce waste and adopt eco-friendly habits.

6. Community Engagement :

Users can participate in community forums to:

  • Discuss waste management strategies.
  • Share experiences and recycling techniques.
  • Ask questions and get advice from other users.
  • Moderators ensure that discussions remain informative and relevant.

7. Educational Resources

  • Provides access to educational videos on sustainability and waste management.
  • A Fun Facts section shares engaging and informative insights about recycling and environmental conservation.

8. Admin Panel (For Admin Users)

  • Manage Videos: Admins can upload, edit, or delete educational content.
  • Manage Recycling Tips: Admins can update and modify recycling guidance to keep information up to date.
  • Moderate Community Messages: Admins ensure that community discussions align with platform guidelines and maintain quality interactions.

9. User Logout

  • Users can log out securely after completing their session.

  • Ensures data privacy and security.


Contact

For any queries or support, please contact us at support@ecowaste.com

About

♻️ EcoWaste is a smart waste management and recycling platform with AI-based identification, community engagement, and educational resources. πŸš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages