Skip to content

prabasajee/food-donation-pipeline-project

Repository files navigation

Food Donation Pipeline Project

[![License](https://img.shields.io/badge/License Table of Contents

Introduction

The Food Donation Pipeline Project is dedicated to reducing food waste and hunger by connecting donors, organizations, and recipients through an efficient, real-time digital platform.

Why Build This Project?

Every year, millions of tons of food go to waste while many people lack access to adequate nutrition. This platform provides a practical, technology-driven solution—making the donation process seamless, transparent, and impactful for all involved.

Key Features

  • Simple Onboarding: Straightforward registration and intuitive navigation for donors and recipient organizations.
  • End-to-End Tracking: Monitor each donation from listing to successful delivery.
  • Impact Analytics: Visual dashboards showing donation patterns and real-world results.
  • Custom Notifications: Receive updates about donation activity and opportunities tailored to your needs.
  • Role-Based Access: Different permissions and experiences for donors, organizations, and admins.
  • Location Integration: Find and match donations with recipients using Google Maps API.

Technology Stack

Layer Technology
Frontend React.js
Backend Node.js, Express.js
Database MongoDB
DevOps & CI/CD Docker, GitHub Actions
APIs Google Maps API (location & mapping features)

Getting Started

Follow these quick steps to set up the project locally and explore its functionality.

Prerequisites

  • Node.js and npm installed on your system
  • MongoDB (local or remote instance)
  • Google Maps API Key

Setup Guide

  1. Clone the repository:

    git clone https://github.com/prabasajee/food-donation-pipeline-project.git
    cd food-donation-pipeline-project
  2. Install dependencies:

    npm install
  3. Configure environment variables:

    • Create a .env file in the root directory.
    • Add:
      DATABASE_URL=mongodb://localhost:27017/food-donation
      GOOGLE_MAPS_API_KEY=your_google_maps_api_key
      
  4. Run with Docker (recommended):

    • If you have Docker installed, use Docker Compose for an easy start:
      docker-compose up
    • Or, start locally:
      npm start
  5. Access the application:

    • Open your browser at http://localhost:3000.

Usage Scenarios

  • Donors: List surplus food items with details and pickup location.
  • Organizations: Discover, claim, and coordinate pickups for nearby donations.
  • Admins: Oversee activity, generate impact reports, and manage organization onboarding.

Example Workflow

  1. Donor logs in and submits a new food donation.
  2. Organizations near the donor are notified instantly.
  3. An organization claims the item and arranges collection.
  4. The system tracks the donation until it reaches the recipient, updating all parties and analytics in real-time.

Contributing

We welcome all types of contributions—from code enhancements to UI/UX suggestions or improving project documentation.

How to Contribute

  1. Fork the repository to your GitHub account.
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m "Describe your feature or fix"
  4. Push and submit a pull request:
    git push origin feature/your-feature-name
  5. Open a pull request to the main branch. Please follow the project’s code style and contribution guidelines.

License

This project is licensed under the MIT License. See the LICENSE file for full details.

Contact

For questions, feedback, or suggestions:

Your contributions help us fight food waste and hunger with technology. Thank you for joining the mission!

[1] https://img.shields.io/badge/License-MIT-blue.svg

About

A web application that connects food donors with NGOs to reduce food waste and fight hunger.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published