Getting Started

The basic information on how to get started.

Get ready to dig in! πŸ’ͺ We're hoping that contributing to this project will be as rewarding to you as it is to us. πŸš€

For a start, we support the Python Community Code of Conduct. Please make sure you are friendly and welcoming in all of our spaces.

Git repositories

We have several public repositories, but these are the main ones:

And here's the repository for our GCP deployment: codeforlife-deploy-appengine.

It's recommended to fork the repository first before cloning it to your workspace.

Setting up your environment

Each repository has its installation guide that you can follow to set up your working environment. Please read the README and follow the steps. We use virtual environment pipenv so you need to get familiar with this.

The easiest repo to start with is codeforlife-portal, followed by rapid-router, and aimmo. rapid-router and aimmo are independent of each other, so you only need to set up the one that you're thinking to work on.

Our development so far has been on Mac or Linux. If you're on Windows, perhaps you can help us adding Windows instruction to the installation guide!

Good First Issue

Once you manage to get the program running locally, we suggest you have a look at tickets in our issue tracker that are labelled good first issue. Each repository has its own contributing section with the list of labelled tickets. Here's the section for codeforlife-portal, rapid-router, and aimmo respectively.

The issues labelled as good first issue are selected for their relative approachability for first-time contributors. These are meant to be a great way to get a smooth start and won't put you in front of the most complex parts of the system.

Tracking issues

We use Zenhub to track our issues, which has similar usage to Kanban board. To see our workspace you need to install Zenhub Browser Extension.

Clicking on the Zenhub tab will bring you to the board. You may need to switch the workspace to "Code for Life Volunteers" or go directly to the volunteers workspace here. (You need to have the browser extension installed to view it.) The volunteer workspace contains only issues that are labelled volunteers so please concentrate on that board.

If you're curious, you can get a pretty good idea about the things the core developers are working on by checking the core developer workspace. We check the progress on the board at our daily standup and update the status of the tasks throughout the day.

Getting in touch

Any question or comment regarding a specific issue is best discussed on the thread in the Github issue itself or the associated PR.

If you have a more general question or comment, please start a thread on Github Discussions, located in each individual repository. We monitor Github closely and will get notified regarding any activity.

Last updated