Setup Your Development Environment
This is an overview of the programs you'll need to install before developing for BobaBoard.
Developing for BobaBoard requires use of the command line. While this might seem scary, the amount of commands needed is minimal and they can often be run without a deep understanding of them.
If you're intimidated, contact Ms. Boba for help! Also consider editing this page to make it less scary for newcomers.
What to Install
Install Checklist
- Windows Subsystem for Linux (WSL) [Windows Only]
- Git
- NodeJS
- Yarn
- Docker [BobaBackend Only]
Windows Subsystem for Linux (WSL) [Windows Only]
This is only for Window users. It's optional, but highly recommended. Without this, it might be harder to help you in case of errors.
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.
If you need Docker (see below) and have Windows 10 Home Edition, you must install WSL.
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
Git/GitHub
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 (with NVM)
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.
You can also install NodeJS directly through the installer, but you won't be able to switch between versions. It is highly, highly recommended that you install NVM.
While NVM isn't natively supported on Windows, you can get access to it through WSL.
Yarn
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
.
Using npm
instead of yarn
will result in errors. You can blame React for that.
Docker [BobaBackend Only]
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.
[Windows Only] You should run docker in a WSL2 instance. There's a checkbox in Docker settings for this. (This is required if you have Windows 10 Home Edition, and only recommended for other versions of Windows 10.) If Docker is failing to start, make sure you have WSL2 installed.
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.
Next Steps
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.
BobaBoard Install Fests
"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.