Skip to content

Setup Your Development Environment

This is an overview of the programs you’ll need to install before developing for BobaBoard.

Windows Subsystem for Linux (WSL) [Windows Only]

Section titled “Windows Subsystem for Linux (WSL) [Windows Only]”

WSL allows you to run Linux commands on Windows, and will save you many, many headaches. We recommend using the latest version of WSL (WSL2). The default Ubuntu distribution is the most commonly used, but if you’re more familiar with another distribution, you’re welcome to use it.

For a step-by-step guide to setting up WSL, installing the below pre-requisites, and getting set-up to develop for BobaBoard using WSL see The BobaBoard Guide to Setting up WSL

**You will use Git and a GitHub account to download the BobaBoard code, make changes and send them out for review.**You can learn more about Git and GitHub in our knowledge base.

To install git, follow the instructions on GitHub. While this documentation assumes you’re using git through the command line, using GitHub Desktop or VSCode’s Git(Hub) integration might provide an easier experience for newcomers.

NodeJS allows you to execute JavaScript outside of a web browser. This should be installed via the Node Version Manager (NVM), which allows you to manage multiple versions of NodeJS on the same machine.

Yarn is a JavaScript Package Manager, which automatically downloads and installs the external code that BobaBoard depends on, without you having to manually download everything yourself. Yarn is also used to hide complex scripts under simpler commands like yarn run test.

Docker runs applications in containers. I literally had to Google an ELI5. Trust me, you don’t need to understand Docker to use it.

  • You also need Docker Compose. This comes for free with the above in Windows and Mac, but might need additional steps on Linux.

Docker will be used to run BobaBoard’s PostgreSQL database and the Redis cache without globally installing them on your system. You can learn more about caches in our knowledge base.

You can install each codebase independently by following the “fetching dependencies through yarn” section in its instructions. If you want to “catch them all”, you should go through each of them in reading order and follow the “local copy” section instead.

“Install Fests” are events where one or more contributors install the BobaBoard codebase together and help each other in case of problems. Ms. Boba is also there on standby for any question that comes up.

While we plan to organize regular install fests in the future, we currently schedule them on request. You can contact Ms. Boba for availability.