ShareBite is a full-stack platform designed to bridge the gap between food donors (restaurants, hotels, event organizers) and NGOs/Volunteers. Our mission is to reduce food waste and ensure that surplus food reaches those who need it most.
- DONOR: Post surplus food donations, manage listings, and approve pickup requests.
- NGO: Browse available food in real-time, request pickups, and track collected donations.
- ADMIN: Monitor platform activity, moderate users, and manage system health.
- Real-time Donation Posting: Donors can list food with quantity, category, and expiry data.
- Geolocation Support: Find nearby donations using precise latitude and longitude coordinates.
- Media Support: High-quality food images stored securely on Cloudflare R2.
- Intuitive Lifecycle: Track donations from AVAILABLE to REQUESTED to APPROVED to COLLECTED.
- Review System: Build community trust through peer-to-peer ratings and feedback.
- Framework: Next.js 15+ (App Router)
- Database: PostgreSQL (Hosted on Neon)
- ORM: Prisma
- Authentication: JWT-based Secure Auth
- Styling: Tailwind CSS 4.0
- Storage: Cloudflare R2 (S3 Compatible)
- Runtime: Bun
├── app/ # Next.js App Router (Pages, Components, API)
├── prisma/ # Database Schema & Migrations
│ ├── schema.prisma # Core Data Models
│ └── migrations/ # Versioned DB Changes
├── public/ # Static Assets
└── components/ # Reusable UI ComponentsEnsure you have Bun installed on your machine.
git clone https://github.com/your-username/sharebite.git
cd sharebiteCreate a .env file in the root directory and add your credentials:
DATABASE_URL="your_postgresql_connection_string"
R2_BUCKET_NAME="your_bucket_name"
# Add other necessary keys herebun installbunx prisma generate
bunx prisma migrate devbun devOpen http://localhost:3000 with your browser to see the result.
- PostGIS: Advanced spatial queries for radius-based search.
- Background Jobs: Automated expiry status updates using Cron.
- Real-time Notifications: WebSockets for instant pickup request alerts.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.