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, open a PR using Git with GitHub. Check out the following tutorials:
Languages & Frameworks
JavaScript/Nodejs - 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 these 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 & Nextjs - You'll need to understand React and Nextjs 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 seperate document that explains how to set up the project.
Setup guide
https://github.com/opencollective/opencollective-frontend/blob/master/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 and PostGIS extensions. You might experience difficulty setting up the API on a Windows environment. We recommend using a Unix environment. (We're currently working to make it easier on Windows).
Just like the frontend, we have a seperate document for the setup.
Setup guide
https://github.com/opencollective/opencollective-api/blob/master/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/master/CONTRIBUTING.md
Bounty Program
We recommend you learn more about our bounty program through the link below:
Ask for Help
If you stuck or you have a question, join our slack #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