Skip to content
pablonificationPublic

About

Smart recycling system combining a Capacitor mobile app, web admin dashboard, AI/CV validation, and ESP32 SmartBin firmware.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

EcoDrop

EcoDrop is a smart recycling system that combines a mobile app, web admin dashboard, AI and computer-vision validation, and an ESP32-powered SmartBin.

Architecture

  • Mobile app: React, Vite, and Capacitor
  • Web admin dashboard: Next.js and TypeScript
  • Backend: FastAPI, MongoDB, and Redis
  • AI and computer vision: OpenCV with optional Roboflow integration
  • SmartBin firmware: ESP32, servo control, and an IR barrier sensor

The system awards recycling points only after image validation succeeds and the SmartBin sensor confirms that the item entered the bin.

Repository structure

apps/mobile/              Mobile application
apps/web-admin/           Admin dashboard
services/backend/         API and IoT orchestration
services/ai-cv/           Image validation service
packages/shared/          Shared TypeScript contracts
iot/smartbin-esp32/       ESP32 firmware
docs/                     API, architecture, deployment, and planning documents

Quick start

Prerequisites

  • Node.js and npm
  • Python 3.10 or newer
  • MongoDB and Redis for non-mock backend operation
  • Platform tooling for Android, iOS, or ESP32 development as needed

Install and run the mobile app

npm install
npm run dev:mobile

Run the web admin dashboard

npm run dev:web

Run the backend

cd services/backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Run the AI and computer-vision service

cd services/ai-cv
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8010

Configuration

Copy the appropriate example environment file before running the services:

cp .env.example .env

For production, configure real Google OAuth credentials, non-default JWT, admin, and device secrets, a production database, a supported AI mode, and the correct mobile and admin API origins.

Never commit filled environment files or device credentials. The ESP32 firmware requires its own backend URL and device token configuration.

Production

Production deployment guidance is available in:

Production mode must disable demo authentication, mock persistence, seeded demo data, mock AI, unsafe CORS, and in-memory command handling.

Development invariant

Reward points must remain sensor-gated. Image validation alone must never award points without confirmation from the SmartBin sensor.

About

Smart recycling system combining a Capacitor mobile app, web admin dashboard, AI/CV validation, and ESP32 SmartBin firmware.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages