In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.
- Code of conduct for this project is given in Code of Conduct.
Back-End
- MongoDB
- Express JS
- JavaScript
Front-End
- EJS
- CSS
- BootStrap
- jQuery
- All the
coderequired to get started
- Clone this repo to your local machine using
git clone https://github.com/ChicoState/PantryNode
$ cd PantryNodeCreate a .env file with the following contents
#DB CONFIG
DB_USER='postgres'
DB_HOST='database'
DB_NAME='pantrynode'
DB_PASSWORD=Update Password
DB_PORT=5432
#DB ADMIN
PGADMIN_EMAIL='admin@admin.com'
PGADMIN_PASSWORD=Update Password
Docker containerization
$ docker-compose upBrowser
http://localhost:3000/Open http://localhost:82 in a web broswer
login using the credentials define in the docker-compose file
add a new server to the management console using db_sandbox as the host name/address field and the POSTGRES_PASSWORD value
Note that the default username for postgres is postgres
Currently no live mounts are used for the docker comtainer because of this you must rebuild the container to sync code changes
docker compose buildDashboard System
- This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.
Stock Management
-
This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.
-
Additionally, Allowing to manage the purchase and expiry of the stock.
Sales Report
- The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.
Install ESLint dependencies
npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-config-react-app eslint@^8.0.0 typescriptRun ESLint Locally
npx eslint .See the Contributing guide to contribute to the project!