Skip to content

shrinishant/HungerZero

Repository files navigation

HungerZero - Removing Hunger from Society

GitHub code size in bytes GitHub last commit Code size Languages Top Issues

HungerZero

Table of Contents

Introduction

The Surplus Food Management Platform is a web application developed to address the challenge of food waste and hunger. The platform connects food donors, such as restaurants and grocery stores, with local food banks and shelters to efficiently distribute surplus food. The project was built with a focus on sustainability and reducing food waste to achieve the goal of "Zero Hunger, Zero Waste."

Features

  • User-friendly interface for easy food donation and request process.
  • Real-time updates and notifications for food donors and recipients.
  • Secure authentication and data storage with Appwrite services.
  • Automated scheduling and task management for removing expired food listings.
  • Dashboard for administrators to manage and track food donation activities.

Technologies Used

  • Frontend: Next.js
  • Backend: Appwrite (Authentication, Database, and Functions)
  • Styling: CSS modules, Material-UI
  • Hosting: Vercel (Frontend), Appwrite (Backend)
  • Additional Services: Email notifications (Appwrite Functions)
  • Cloud Functions: Associated Repository

Getting Started

To run the project locally, follow these steps:

  1. Clone the repository: git clone https://github.com/shrinishant/HungerZero.git

  2. Create .env.local file to the root directory of the Project with following variables:

    • NEXT_PUBLIC_PROJECT_ID=<Your Appwrite Project ID>
    • NEXT_PUBLIC_BUCKET_ID=<Your Appwrite Bucket ID>
    • NEXT_PUBLIC_DATABASE_ID=<Your Appwrite Database ID>
    • NEXT_PUBLIC_COLLECTION_ID=<Your Appwrite Collection ID>
    • NEXT_PUBLIC_COLLECTION_ID_PICKUP=<Your Appwrite Collection ID>
    • NEXT_PUBLIC_FUNCTION_ID_PICKUP_UPDATE=<Your Appwrite Function ID>
    • NEXT_PUBLIC_FUNCTION_ID_REGISTRATION_EMAIL=<Your Appwrite Function ID>
  3. Install dependencies: npm install

  4. Run the development server: npm run dev

Ensure you have the necessary environment variables set for the Appwrite project configuration.

Usage

  1. Food Donors can create listings for surplus food with details like quantity, expiry date, and pick-up location.
  2. Food Banks and Shelters can browse available food listings and request pick-up.
  3. Real-time notifications keep both donors and recipients updated about the status of food donations.
  4. Scheduled cron jobs automatically remove expired food listings from the platform.

Demo

  • Donators can donate Food:

    Screenshot (550)

  • All Donations of Donator:

    Screenshot (549)

  • Users can find All Foods and request for the same:

    Screenshot (552)

  • Users can find their requested foods with the status of rejected, delivered or accepted:

    Screenshot (553)

  • Donators can find all the Requests received:

    Screenshot (551)

  • If the user is not logged in then they cannot access any pages except for the All Foods page to see all the available foods as shown below:

    Untitled design

Contributions

Contributions and feedback are highly appreciated! If you encounter any issues, have new ideas, or want to contribute, please open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any inquiries or collaboration opportunities, you can reach me at: [email protected]

Let's unite to combat food waste and hunger! Together, we can build a sustainable future.