Skip to content
An open source food bank logistics and inventory management tool
Branch: staging
Clone or download
tsukimi2 and jspaine Fix/common constants (#408)
* Replace literal values of common constants with constant name.

* Remove unused import in volunteer integration test.
Latest commit b42e9ff Mar 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Update initial default data to reflect Pantry-for-Good (#233) Sep 7, 2017
client Added tests for EditUser. (#401) Dec 3, 2018
common (#122) Show notifications of users applied/updated, donations, delive… ( May 16, 2018
flow-typed/npm Adding flow and flow-typed definitions (#217) Aug 23, 2017
resources Fix nginx api proxy Jun 28, 2018
server Fix/common constants (#408) Mar 13, 2019
.babelrc Add istanbul test coverage (#321) Nov 17, 2017
.csslintrc Base for open source version Nov 19, 2016
.dockerignore Setup docker build Jun 19, 2018
.editorconfig Base for open source version Nov 19, 2016
.eslintrc Disable react deprecated warnings for now May 16, 2018
.flowconfig Adding flow and flow-typed definitions (#217) Aug 23, 2017
.gitignore Add deployment resources Jun 19, 2018
.nycrc Add istanbul test coverage (#321) Nov 17, 2017
.osfg-dir-config.js Create .osfg-dir-config.js Jul 11, 2017
.slugignore fix heroku config files May 22, 2017
.travis.yml Setup docker build Jun 19, 2018 update readme and env files Jul 2, 2017 Add deployment instructions Jun 28, 2018
Dockerfile shx fails in docker build Jun 20, 2018 add MIT license Dec 4, 2016 test ci Mar 4, 2019
app.json use sendgrid Jul 1, 2017
docker-compose.yml Use built image of app Jun 20, 2018
gulpfile.js Page editor (#66) May 30, 2017
package-lock.json Update jsdom and fix travis build Nov 1, 2018
package.json Update jsdom and fix travis build Nov 1, 2018 add autoprefixer, babel polyfill Jun 7, 2017
webpack.config.js Remove unused mapbox code Jun 19, 2018 add autoprefixer, babel polyfill Jun 7, 2017

Build Status Docker Repository on Quay Join the chat at

This repository is for the Pantry-for-Good application designed by Open Source for Good Contributors at freeCodeCamp. For deployment instructions see the deployment guide.

If you'd like to contribute, the contributing guide explains the git workflow and the developers guide gives an overview of how the app works. The open issues are a good place to start, or you can try the app and add your own issues. If you get stuck or need help with something, feel free to leave a comment.

Some issues are quite large, don't feel like you have to finish them, it's ok. Little bits help too! Start slow!

There's a demo app hosted at, though it might be a bit behind the current version.


Local installation summary:

  1. Install Node.js and MongoDB
  2. Start MongoDB
  3. git clone
  4. cd Pantry-for-Good
  5. Make sure you're on the 'staging' branch (git branch), otherwise run git checkout staging
  6. npm install
  7. npm run dev
  8. Open http://localhost:8080 in your web browser
  9. Login with username password password

Detailed local development installation steps

You'll need to have a Node.js version >= 6 installed. Either use your OS's package manager or follow the installation instructions on the official website.

This app uses MongoDB as its database engine. Follow these instructions to install it locally and start the MongoDB server on your machine.

Install git if it is not already installed. To clone this repository to your local machine, open a command line interface and navigate to the directory where you would like to install the app. Then run git clone

Move to the Pantry-for-Good directory and run the npm install command to install the application dependencies.

Type npm run dev to start the application in development mode. If all goes well, it will be available at http://localhost:8080. The application is pre-populated with an administrator account with as username and password as password.

Installing API keys

To use all the features of this application you will need to obtain API keys and install them in the application. After following the instructions below to obtain API Keys, put your keys in the file server/config/env/secrets.js.

1. gmapsApiKey

Google Maps API key for the deliveries feature. Currently, this key needs to be entered in the general settings page of your local instance of the application.

2. oauth

Google+ API for allowing users to register/login with google.

3. sendgrid

Sendgrid email API for sending emails.

  • Register for a trial account or deploy the app and get the username/password from the heroku config vars
  • Go to Settings > API Keys and create a key
  • Paste the key in secrets.js or the SENDGRID_API_KEY config var of your deployed app.
You can’t perform that action at this time.