This repository is for the Pantry-for-Good application designed by Open Source for Good Contributors at freeCodeCamp.
You can test it out by deploying to Heroku:
The button creates an admin account with username [email protected]
and password password
.
- Install Node.js and MongoDB
- Start MongoDB
git clone https://github.com/freeCodeCamp/Pantry-for-Good.git
cd Pantry-for-Good
npm install
npm run dev
- Open http://localhost:8080 in your web browser
- Login with username
[email protected]
passwordpassword
You'll need to have the latest verison of Node.js 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 username [email protected]
and password password
.
To use all the features of this application you will need to obtain API keys and install them in the application. Make a copy of the server/config/env/secrets-template.js
file in the same directory and rename it secrets.js
. After following the instructions below to obtain API Keys, put your keys in this file.
1. gmapsApiKey
Google Maps API key required for the deliveries feature
2. oauth
Google API that will allow the application to work with google accounts.
When you create your Client ID for Web Application, add http://localhost:8080/api/auth/google/callback
to the Authorized Redirect URIs section
3. sendpulse
Sendpulse email service API. Required for the password reset by email to work.
We welcome pull requests from seasoned Javascript developers. Please read our guide first, then check out our open issues.