Contribution Guide
We're happy to have you contributing to our codebase! We recommend you go through the following guide.
Technical Requirements
You'll need to have some basic programming experience with the technologies and tools we use.
Tools
Git & Github - Clone, commit and open a PR using Git with GitHub. Check out the following tutorials:
Languages & Frameworks
JavaScript/Node.js - We recommend having basic experience working with Node, which Open Collective is written in (frontend & backend). Check out these free JavaScript & Node tutorials:
GraphQL - Our API uses GraphQL, powered by Sequelize and PostgreSQL. Understanding how this work is important to contributing to or fixing the majority of the issues on our API. To learn more, check out these tutorials & articles:
React & Next.js - You'll need to understand React and Next.js to contribute to issues on the frontend. Check out the following links:
Project Structure
The project's core repositories are divided into three:
opencollective/opencollective - Here is where we manage issues and community discussions. Our issues are all labelled with a complexity label. We recommend starting with simple issues (
complexity -> simple
).opencollective/opencollective-frontend - This repository contains our frontend code. You can find more information in the setup section of this guide.
opencollective/opencollective-api - This contains our API code. If you enjoy working on the backend, you can set up our API locally. To learn about setting it up, check out the setup section below.
Project Setup
This section explains how you can get Open Collective running locally on your computer.
Frontend
Setting up the frontend is straightforward. We've provided a comprehensive guide in a separate document that explains how to set up the project.
Setup guide
https://github.com/opencollective/opencollective-frontend/blob/main/README.md
NOTE: If you're only contributing frontend code, you don't need to setup the API.
API
The API setup requires more effort than the frontend, as it requires installing the PostgreSQL. You might experience difficulty setting up the API on a Windows environment. We recommend using a Unix environment.
Just like the front end, we have a separate document for the setup.
Setup guide
https://github.com/opencollective/opencollective-api/blob/main/README.md
Others
Design Contribution
Like to contribute to our design? Checkout our design contribution guidelines.
Commit conventions
Before you make your first commit, read through our commit convention, provided in the link below:
https://github.com/opencollective/opencollective-frontend/blob/main/CONTRIBUTING.md
Bounty Program
We recommend you learn more about our bounty program through the link below:
Ask for Help
If you are stuck or have a question, join our Discord #engineering channel through the link below:
We're trying our best to make our documentation better. We encourage you to give suggestions on how we can improve it.
Last updated