How vishnu21112006/fooddonation works
Paradox of Food Waste is a browser-based food-donation dashboard. A donor records food and expiry details; the interface can request an AI expiry suggestion, then retrieves and displays the available-food list with remaining-time status. Donors can also explore nearby NGOs and share a donation location. The backend keeps food records in memory and uses Gemini for suggestions, with a local rules-based fallback. The excerpts do not show a running NGO backend, so that integration is shown as optional; nearby NGO results are generated in the browser.
Main entry points: app.js Dashboard interactions · server.js Food API · index.html Dashboard interface
Components 16
Donor dashboard
- Dashboard interface
index.html - Dashboard interactions
app.js
Food inventory
- Food entry
app.js - Food API
backend/server.js - In-memory foods
backend/server.js - Availability list
app.js
Expiry guidance
- Expiry suggestion request
app.js - Expiry endpoint
backend/server.js - Gemini models
- Local food rules
backend/server.js
NGO discovery
- Nearby NGO map
app.js - Browser geolocation
- Mock NGO results
app.js - OpenStreetMap tiles
- NGO request service
Other components
- Donor
Connections 18
- Donor → Dashboard interface: uses
- Dashboard interface → Dashboard interactions: loads
- Dashboard interactions → Food entry: submits
- Food entry → Food API: POST /addFood
- Food API → In-memory foods: stores
- Dashboard interactions → Food API: GET /foods
- Food API → In-memory foods: reads
- Dashboard interactions → Availability list: renders
- Dashboard interactions → Expiry suggestion request: requests
- Expiry suggestion request → Expiry endpoint: POST suggestion
- Expiry endpoint → Gemini models: requests generation
- Expiry endpoint → Local food rules: falls back
- Expiry suggestion request → Dashboard interactions: returns guidance
- Dashboard interactions → Nearby NGO map: opens map
- Nearby NGO map → Browser geolocation: gets position
- Nearby NGO map → Mock NGO results: generates nearby results
- Nearby NGO map → OpenStreetMap tiles: loads tiles
- Nearby NGO map → NGO request service: shares location