A web application that helps users discover economic opportunities in electronic waste through AI-powered analysis and connects them with nearby recycling centers.
-
AI-Powered E-Waste Analysis: Upload images or enter details about your e-waste to receive valuation estimates, recycling recommendations, and environmental impact information powered by Google Gemini AI.
-
Find Nearby Recyclers: Locate e-waste recycling centers near you using Google Maps integration, filter by e-waste type, and view details like accepted materials, ratings, and contact information.
- React 19 with TypeScript
- Vite for build tooling
- Google Maps API (
@react-google-maps/api)
- Node.js with Express
- TypeScript
- Google Gemini AI API for e-waste analysis
- Google Places API for recycler search
- Node.js 18+
- Google Cloud API keys (Gemini AI and Maps/Places APIs)
Backend (backend/.env):
GEMINI_API_KEY=your_gemini_api_key
GOOGLE_MAPS_API_KEY=your_google_maps_api_key
PORT=3001Frontend (frontend/.env):
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install# Start the backend (from backend directory)
npm run dev
# Start the frontend (from frontend directory)
npm run devThe frontend runs at http://localhost:5173 and the backend at http://localhost:3001.
POST /api/analyze
Analyzes e-waste data and images, returns valuation and recycling recommendations.
GET /api/recyclers/nearby?lat=<lat>&lng=<lng>&radius=<miles>&type=<ewaste_type>
Returns nearby e-waste recycling centers.
GET /api/recyclers/:id
Returns details for a specific recycler.
GET /health
e-waste-management/
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── services/ # API client
│ │ └── types/ # TypeScript types
│ └── package.json
├── backend/
│ ├── src/
│ │ ├── routes/ # Express routes
│ │ └── types/ # TypeScript types
│ └── package.json
└── README.md