Our codebase is split into multiple repos: website, api, app. We run those 3 node.js applications separately. website and app are the client applications that you can find on https://opencollective.com/yeoman (website) and https://app.opencollective.com/ (app).
To run one of the client application locally, you need to run the api alongside.
brew install postgres
pg_ctl -l /usr/local/var/postgres/server.log startOr download Postgres.app
We currently use node 5.1.0 and npm 3.3.12. Checkout nvm for versioning node.js binaries.
git clone https://github.com/OpenCollective/api.git
cd api
touch .env
npm install
npm install -g nodemonYou should be now able to run the api with npm run dev in autoreload mode or npm start.
npm run db:reset
npm run devIf you have a problem with this step, you might need to grant privileges to your database (see below).
Check if the api is running properly by opening http://localhost:3060/status in your browser.
Some environment variables might be missing from your setup, you need to add them in your .env. If you want to test image uploading, you will need to add your own AWS config.
Now, assuming the postgres database superuser is postgres, let's create the databases.
createdb -U postgres opencollective_localhost
createuser -U postgres opencollective
psql -U postgres
> GRANT ALL PRIVILEGES ON DATABASE opencollective_localhost TO opencollective;You will need to install gulp to compile the assets: https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md
git clone https://github.com/OpenCollective/website.git
cd website
npm install
npm run devThe website is now running. If you run the api alongside, you should be able to go on http://localhost:3000/opencollective to see the donation page.
The default flow is with paypal, if you want to setup the flow with stripe, you will need to connect your account in the app (instructions below)
git clone https://github.com/OpenCollective/app.git
cd app
npm install
npm run devOpen http://localhost:3000/login in your browser and enter the following credentials user@opencollective.com and password.
If you want to try a Stripe donation, login with stripeuser@opencollective.com and password. You will need to click on the blue Authenticate with Stripe button and finish the flow. You will first need to add the stripe api keys in the .env of the api.
STRIPE_SECRET
STRIPE_KEY
STRIPE_CLIENT_ID
npm test
Please refer to the Developer Wiki for more information.