Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opencollective/opencollective-api
Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL.
https://github.com/opencollective/opencollective-api
graphql hacktoberfest nodejs opencollective postgres
Last synced: 5 days ago
JSON representation
Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL.
- Host: GitHub
- URL: https://github.com/opencollective/opencollective-api
- Owner: opencollective
- License: mit
- Created: 2015-05-19T05:40:22.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T11:18:51.000Z (10 days ago)
- Last Synced: 2024-10-29T11:57:34.879Z (10 days ago)
- Topics: graphql, hacktoberfest, nodejs, opencollective, postgres
- Language: TypeScript
- Homepage: https://api.opencollective.com
- Size: 190 MB
- Stars: 419
- Watchers: 48
- Forks: 267
- Open Issues: 63
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - opencollective/opencollective-api - Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL. (TypeScript)
- awesome-starred - opencollective/opencollective-api - Open Collective's API. A GraphQL API powered by Sequelize and PostgreSQL. (nodejs)
README
# Open Collective API
![CI](https://github.com/opencollective/opencollective-api/workflows/CI/badge.svg)
![E2E](https://github.com/opencollective/opencollective-api/workflows/E2E/badge.svg)
[![Discord](https://discordapp.com/api/guilds/1241017531318276158/widget.png)](https://discord.opencollective.com)## 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 20.x and NPM version 10.x.
- We recommend using [nvm](https://github.com/creationix/nvm): `nvm install && nvm use`.
2. 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
- More info in our [PostgreSQL Database](docs/postgres.md) documentation3. For [node-gyp](https://github.com/nodejs/node-gyp), make sure you have Python 2 available and configured as the active version.
- You can use [pyenv](https://github.com/pyenv/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
```- API is started on http://localhost:3060
- A local email inbox is started on http://localhost:1080See the [dev docs](docs/dev.md) for querying basics.
#### 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](docs/postgres.md)## Deployment
**Summary**: This project is currently deployed to staging and production with [Heroku](https://www.heroku.com/). To deploy, you need to be a core member of the Open Collective team.
See: [docs/deployment.md](docs/deployment.md)
## More documentation:
- [PostgreSQL Database](docs/postgres.md)
- [List of supported environment variables](docs/environment_variables.md)
- [Developing with Emails](docs/emails.md)
- [Data Exports](docs/data_exports.md)## Discussion
If you have any questions, ping us on [Discord](https://discord.opencollective.com) or Twitter
([@opencollect](https://twitter.com/opencollect)).## License
[MIT](LICENSE)