How to Start Contributing
Before you start, consider reading the codebase overview to understand the different areas of the project and the technologies used in each of them.
You don't need to have deep knowledge of all involved technologies/programming languages to contribute to BobaBoard. You also don't need to be a "professional developer".
As long as you're willing to put in the effort to learn, Ms. Boba will be very happy to guide you in the process. After all, every explanation she gives makes this documentation better.
TODO[Ms.Boba]: Create a intro page to help people with a specific skill (or desire to learn a specific skill) find good entry points to check out issues.
Step 0 - Sign up for a GitHub Account
In order to submit code, you will need a GitHub account. You can read more about GitHub in our Knowledge Base.
Step 1 - Take a look at open issues
You can find open issues in our Issues Tracker. Issues marked "good first issue" are particularly relevant.
The issue tracker is currently a WIP. Not all open issues are reflected in it, and some issues and their labels might be out of date or incorrect. If nothing there strikes your fancy (or you want to know current priorities), consider contacting Ms. Boba for other options.
Step 2 - Contact Ms. Boba
Currently, Ms. Boba is the person with the best understanding of the whole codebase and its state. Once you agree on the issue you're going to be tackling, she will create a WIP document defining the goal of the projects and the relevant steps. She will also guide you in installing the relevant codebases.
If you want to explore the codebase on your own, look at the Setting up your Dev Env page.
TODO[Ms.Boba]: I REALLY should have a "contact me" page.
Step 3 - Keep in touch (and submit code)
The main thing we ask volunteers is to communicate, communicate, communicate. Unless you specifically request an "urgent" issue (which comes with different expectations), you'll most likely be assigned a long-term project. We know things can happen and that life might get in the way, and we don't judge contributors for dropping out, or taking longer than planned. We just need to know, so we can plan accordingly.
Ms. Boba (or another volunteer) will periodically ping you for updates. Just let her know what's up (including "nothing") and submit a pull request when you're ready. You can learn more about the development lifecycle in our knowledge base.
The unstable and early nature of the codebase makes it even more important to break up your changes in smaller chunks! Ms. Boba can help break down tasks in manageable pieces!
Ms. Boba is really friendly and loves to info dump! If you're blocked or confused, reach out to her for help!