Skip to content

Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL.

License

Notifications You must be signed in to change notification settings

jzabala/opencollective-api

 
 

Repository files navigation

Open Collective API

Circle CI Slack Status Dependency Status Coverage Status

Foreword

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!

Development

Prerequisite

  1. Make sure you have Node.js version >= 10.
  • We recommend using nvm: nvm install.
  1. Make sure you have a PostgreSQL database available
  • Check the version: 11.0, 10.3, 9.6.8, 9.5.12, 9.4.17, 9.3.22 or newer
  • Check that the PostGIS extension is available
  • More info in our PostgreSQL Database documentation
  1. For node-gyp, make sure you have Python 2 available and configured as the active version.
  • You can use pyenv to manage Python versions.

Install

We recommend cloning the repository in a folder dedicated to opencollective projects.

git clone [email protected]:opencollective/opencollective-api.git opencollective/api
cd opencollective/api
npm install

Start

npm run dev

Troubleshooting

  • If you're running into node-gyp issues related to Python 3 vs Python 2, you can run: npm rebuild
  • If you have issues with PostgreSQL, check our dedicated documentation

Deployment

Summary: This project is currently deployed to staging and production with Heroku. To deploy, you need to be a core member of the Open Collective team.

See: docs/deployment.md

More documentation:

Discussion

If you have any questions, ping us on Slack (https://slack.opencollective.org) or on Twitter (@opencollect).

About

Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 92.1%
  • HTML 6.7%
  • Other 1.2%