If you see a step below that could be improved (or is outdated), please update the instructions. We rarely go through this process ourselves, so your fresh pair of eyes and your recent experience with it, makes you the best candidate to improve them for other users. Thank you!
Make sure you have Node.js version >= 10.
We recommend using nvm: nvm use
.
We recommend cloning the repository in a folder dedicated to opencollective
projects.
git clone [email protected]:opencollective/opencollective-invoices.git opencollective/invoices
cd opencollective/invoices
npm install
This project requires an access to the Open Collective API. You have two options:
cp .env.staging .env
to connect to the Open Collective staging APIcp .env.local .env
to connect to the API running locally
If you decide to pick the local strategy, make sure you install and run the opencollective-api project.
To start the service:
npm run dev
If you use this service through frontend, you're ready to go - frontend will pass your authorization token directly to the app.
However if you're using the service directly you'll need to set the Authorization
header with your token to identify your requests.
Code style? Commit convention? Please check our Contributing guidelines.
TL;DR: we use Prettier and ESLint, we do like great commit messages and clean Git history.
You can run the tests using npm test
.
To deploy to staging or production, you need to be a core member of the Open Collective team.
Setting a Slack token will post a message on #engineering
with the changes you're
about to deploy. It is not required, but you can activate it like this:
- Go to https://api.slack.com/custom-integrations/legacy-tokens
- Generate a token for the OpenCollective workspace
- Add this token to your
.env
file:
OC_SLACK_USER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
npm run deploy:staging
npm run deploy:production