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

Languages & Frameworks

Project Structure

The project's core repositories are divided into three:

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:

https://docs.opencollective.com/help/developers/bounties

Ask for Help

If you stuck or you have a question, join our slack #engineering channel through the link below:

https://slack.opencollective.com/

We're trying our best to make our documentation better. We encourage you to give suggestions on how we can improve it.