Required Software
Introduction
This document outlines required software for Coding Bootcamp. Please install this software before starting the course unless instructed otherwise.
Complete Fundamentals setup
Please install the latest version of Windows or MacOS that your computer supports.
If you haven't already, please obtain and install Fundamentals required hardware, software and accounts.
[Windows Only] Install Windows-specific software
Install and setup Windows Subsystem for Linux (WSL)
WSL allows us to run the Linux operating system on Windows machines. We do this because most programming uses Unix-based operating systems, of which MacOS is a descendant. Most SWEs that use Windows do their work in WSL to maximise compatibility between their work and work done on Linux machines. Before installing WSL, update Windows to the latest version.
Install WSL here.
Install the latest version of Ubuntu here. Ubuntu is a popular version of the Linux operating system.
Run
sudo apt install build-essential
in Ubuntu in WSL to install standard libraries Ubuntu needs to further install common packages.Run
sudo apt-get install ca-certificates
in Ubuntu in WSL to get SSL verification certificates on Ubuntu for Ubuntu to communicate with VS Code on our computer.
Integrate VS Code with WSL
Install the VS Code Remote Development extension to enable VS Code to integrate with WSL.
Click the Remote Development extension icon in the bottom left corner of VS Code. A pop up will appear with a list of options. Click the first option "Remote-WSL: New Window" for the default distro.
You will see a notification "Starting VS Code in WSL...". This means VS Code is setting up a server inside WSL for the first time. Once installed, the VS Code of your Windows OS will sync automatically with the VS Code of your Ubuntu OS, and the VS Code terminal will show the Ubuntu terminal.
[Mac Only] Install Mac-specific software
Install Homebrew
Follow instructions at https://brew.sh/ to install Homebrew.
Homebrew is a package manager for MacOS that provides a single source of truth for which packages and package versions are installed. This is typically only relevant to command line packages; We typically do not install GUI applications via Homebrew.
Homebrew typically manages OS-specific packages, e.g. node
, and not application-specific packages, e.g. react
. Application-specific packages are typically managed by application-level package managers such as npm
or pip
. Application-specific packages are typically bundled and deployed together with an application, regardless of where those applications are running.
Install and configure Git
Install Git
Open an Ubuntu terminal in VS Code and run the following commands separately.
Personal Access Tokens
Configure Git and GitHub
When using the HTTPS protocol on GitHub to retrieve repository information you will need to develop a personal access token on your GitHub account, you will then be able to use this token to authenticate your request. To create a personal access token please follow this set of documentation.
After you have created the personal access token be sure to save it in a safe spot as it will be required when authenticating requests to the GitHub servers. You will be prompted to pass your GitHub username and password when trying to push to repositories, use your Personal Access Token in place of your password.
Configure Git default branch
Set the default Git branch to main
as per GitHub's (and Rocket's) latest convention. Some older versions of Git may still use master
as the default branch name.
Configure Git default editor
Follow instructions here to enable the
code
command in terminal to open VS Code.Set the default Git code editor to VS Code to avoid Git's default command line editor Vim, which requires learning Vim-specific keyboard shortcuts. We may need to use Vim on remote servers as SWEs, but to keep things simple during Bootcamp we will stick to VS Code.
Configure Git and GitHub Credentials
Set your GitHub account credentials on your computer through the command line. This will enable us to interact with GitHub via the command line, which we will do a lot. Please replace <YOUR_GITHUB_USERNAME>
and <YOUR_GITHUB_EMAIL>
with your GitHub username and email.
Type git config -l
into the terminal to verify configuration success. If you see user.name
and user.email
in the output, we succeeded. If you see a :
at the bottom of the output, you may need to press Enter
until you see the lines starting with user.name
and user.email
.
After configuring your GitHub credentials you will be able to access GitHub repositories and make requests, however you will be prompted for your username and password every single request. While this level of security is brilliant for companies it can be frustrating for the developers. To make your lives a tad easier you can run these commands in your CLI in order to save your credentials into the environment.
After doing these commands you may need to go through git flow once before it has saved your credentials (including your personal access token, which should be used as a password when prompted for username and password.
Install Node.js
Open an Ubuntu terminal in VS Code and run the following commands separately.
Install Code Formatters
Install Prettier
Prettier is a code formatter that will auto-format our code and make it more readable when we save our files.
Install the Prettier extension for VS Code here.
Install ESLint
ESLint is a JavaScript code linter that helps us detect functional errors in our code prior to running it.
Install ESLint on your computer by running
sudo npm i -g eslint
from the terminal in VS Code. Enter your computer's password if prompted.Install the ESLint VS Code extension here.
Set VS Code formatting settings
Open VS Code and open the command prompt with
Ctrl+Shift+P
on Windows orCmd+Shift+P
on MacStart typing
Preferences: Open Settings (JSON)
and select this option when you see it in the search dropdown. VS Code should open a JSON settings file.Replace the contents of the file with the code below
Save the settings file
Restart VS Code to apply settings
Setup folder structure for Coding Bootcamp
Rocket recommends the following folder structure to keep ourselves organised during Bootcamp.
Name files and folders in kebab-case, e.g. new-file.txt
, lowercase and hyphenated for ease of use on the command line. We do not recommend naming files and folders with spaces in names because we will need to enter special characters in the terminal to escape the space character when referring to these files.
Please do not store code in folders synced to cloud storage such as Google Drive or Apple iCloud. This will cause issues during Bootcamp, such as package installations running slowly or unnecessary extra files committed to GitHub.
Store all Bootcamp code in a folder called
bootcamp
.Within
bootcamp
, create a folderm1
for Module 1 and store all Module 1 exercise code there in exercise-specific folders. Our Project 1 repo folder can also go insidem1
.Make 3 copies of
m1
withinbootcamp
and rename themm2
,m3
, andm4
, 1 folder for each module in Bootcamp.
Sign up for accounts
We will use the following software accounts during Bootcamp.
Extra Reading
GitHub and SSH
Another way developers are able to authenticate requests to GitHub is to create and use an SSH key on their personal machines. This SSH key acts as a unique signature that can be linked to your GitHub account online, essentially creating a connection between your machine and GitHub when used. SSH keys require a little more setup than using HTTPS but they will not prompt you for authentication every single request.