Skip to content

Albert0515Kim/RePlate

Repository files navigation

RePlate ♻️

RePlate is a multi-role Next.js and Supabase scaffold for the food rescue workflow described in docs/directions.md. It routes surplus food from donors to food banks, assigns volunteer pickups, tracks impact, and turns completed rescues into volunteer rewards. See docs/product.md for auth paths, scenarios, and optional mobile companion notes.

Wildhacks 2026 Project

Community problems track

https://youtu.be/0qLQ8MHpgiA

Team Members

Aarav Jalan, Albert Kim, Pranav Kota, Ray Sun

What is Included

Core Product Flow

  1. A donor posts surplus food through the restaurant UI or inbound SMS flow.
  2. The pipeline parses the donation, matches it to a food bank need, and selects a route.
  3. A volunteer can be assigned automatically or can claim a mission from the volunteer experience.
  4. The pickup is completed and logged.
  5. Impact totals, donor reliability, volunteer points, tier changes, and rewards update automatically.

Tech Stack

  • Next.js 16
  • React 18
  • TypeScript
  • Supabase
  • Tailwind CSS

Open Source & Attribution

The usage of libraries, frameworks, or open-source code in your project is allowed. However, you must credit them in the README.md file and clearly distinguish your contributions.

Third-party libraries and services

This project builds on open-source software and hosted services, including but not limited to:

  • Next.js, React, TypeScript — application framework and language
  • Tailwind CSS, PostCSS, Autoprefixer — styling and build tooling
  • Supabase (@supabase/supabase-js, @supabase/ssr) — database, auth, and realtime
  • Leaflet & react-leaflet — maps
  • FastAPI & Uvicorn — expiry classifier HTTP service
  • canvas-confetti, qrcode.react — UI enhancements
  • tsx — TypeScript execution for scripts

See package.json and services/expiry-classifier/requirements.txt for full dependency lists and versions. Each package retains its own license; refer to the respective projects for terms.

Our contributions

Everything not covered by the third-party items above—including product design, multi-role workflows (donor, food bank, volunteer, ops), database schema and seed data, API routes and integrations, dashboards and PWA-style volunteer experience, agent/orchestration logic, rewards and impact tracking, and the expiry classifier service wiring—is original work by the RePlate team listed above.

Role dashboards

  • /restaurant Restaurant dashboard for donor profile setup, posting food, editing donor details, and viewing active/completed donations.
  • /food-bank Food bank dashboard for profile setup, demand management, urgent needs, accepted food types, and incoming deliveries.
  • /volunteer Volunteer hub listing available volunteer profiles and sign up.
  • /volunteer/[id] Volunteer profile/dashboard with mission claiming, rescue progress, rewards, impact history, profile editing, delivery confirmation, and tier-upgrade feedback.
  • /dashboard Operations dashboard for active pickups, live agent traces, open needs, and donor nudge suggestions.

Volunteer Experience

The current volunteer flow includes:

  • Volunteer hub and profile pages
  • Availability toggle
  • Mission queue for matched pickups
  • Mission claim action
  • Active route and delivery flow
  • Photo upload for proof of delivery
  • Points and tier progression
  • Coupon redemption
  • Reward/tier feedback after completed rescues

Operations Dashboard

The ops dashboard is designed as a live operational view and includes:

  • Active pickups
  • Open need coverage
  • Agent activity logs
  • Donors to nudge

When server-side Supabase config is missing, the app falls back to safe demo/fallback data where possible.

About

RePlate routes surplus food from donors to food banks, assigns volunteer pickups, tracks impact, and turns completed rescues into volunteer rewards.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors