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 https://pantry-for-good.herokuapp.com, though it might be a bit behind the current version.
git clone https://github.com/freeCodeCamp/Pantry-for-Good.git
cd Pantry-for-Good
git branch
), otherwise run git checkout staging
npm install
npm run dev
admin@example.com
password password
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 https://github.com/freeCodeCamp/Pantry-for-Good.git
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 admin@example.com
as username and password
as password.
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
.
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.
Google+ API for allowing users to register/login with google.
Sendgrid email API for sending emails.
secrets.js
or the SENDGRID_API_KEY
config var of your deployed app.