/BGMEA-FoodBank

Primary LanguageEJSMIT LicenseMIT

Food Donation Management System

A web application which is useful for management of food donation and collection activities.

Table of Contents

Features

  • The system consists of three types of users: admins, donors and agents.
  • Admins: They control all the activities and accept/reject donations and select agents.
  • Donors: They are the driving users of the application who donate food.
  • Agents: They are responsible for collecting food from homes of food donors.
  • Each user should have an account.
  • Every user also have a dashboard where they can view several things in short summary.
  • The application provides signup, login and logout functionalities.

Donor Features

  • Donors make the donation request for food with basic details.
  • Donors' donation requests can be accepted or rejected and the status can be easily tracked by them.
  • Donors can view their current incomplete donations (if any).
  • Donors can also view all their past donations.
  • Donors can update their profile.

Admin Features

  • Admins receive all the requests made by donors.
  • Admins can accept or reject the donation requests depending upon the details provided by a donor.
  • If accepted, admins can assign an agent to a donation for collecting donation from the donor's home.
  • Admins can view all the pending donations along with status.
  • Admins can view all the donations that they have received.
  • Admins can also view all the agents in the application.
  • Admins can update their profile.

Agent Features

  • Agents will receive notifications from admins to collect food from donor's homes.
  • Agents can mark their collection upon collection of food from donor's home.
  • Agents can also view all those food donations which have been collected by them previously.
  • Agents can update their profile.

Technologies used

  • HTML
  • CSS
  • Bootstrap
  • Javascript
  • Node.js
  • Express.js
  • Mongodb
  • ejs

npm packages used

  • express
  • ejs
  • express-ejs-layouts
  • mongoose
  • express-session
  • bcryptjs
  • passport
  • passport-local
  • connect-flash
  • method-override
  • dotenv

Prerequisites

For running the application:

  • Node.js must be installed on the system.
  • You should have a MongoDB database.
  • You should have a code editor (preferred: VS Code)

Installation and Setup

  1. Install all the dependencies
    npm install
  2. Create a file named ".env" and enter the following credentials:
    MONGO_URI = yourmongouri;
  3. Run the web application
    npm start
  4. Open http://localhost:5000
  5. You need to first signup and then login to run the application.

Useful Links