You will find below the instructions to set up you computer for Powercoder Web Development Bootcamp.
Please read them carefully and execute all commands in the following order.
If you get stuck, don't hesitate to ask a teacher for help 🙋
Let's start 🚀
To be able to interact when we are not in the same physical room, we will be using Zoom, a video conferencing tool.
Go to zoom.us/download.
Under Zoom Client click the Download button.
Open the file you have just downloaded to install the app.
Open the Zoom app.
If you already have a Zoom account, sign in using your credentials.
If not, click on the Sign Up Free link:
You will be redirected to Zoom's website to complete a form.
When it's done, go back to the Zoom app and sign in using your credentials.
You should then see a screen like this:
You can now close the Zoom app.
Have you signed up to GitHub? If not, do it right away.
👉 Upload a picture and put your name correctly on your GitHub account. This is important as we'll use an internal dashboard with your avatar. Please do this now, before you continue with this guide.
Let's install Visual Studio Code text editor.
Copy (Ctrl + C) the commands below then paste them in your terminal (Ctrl + Shift + v):
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install -y codeThese commands will ask for your password: type it in.
Enter.
Now let's launch VS Code from the terminal:
code✔️ If a VS Code window has just opened, you're good to go 👍
❌ Otherwise, please contact a teacher
Let's install some useful extensions to VS Code.
Copy-paste the following commands in your terminal:
code --install-extension ms-vscode.sublime-keybindings
code --install-extension emmanuelbeziat.vscode-great-icons
code --install-extension github.github-vscode-theme
code --install-extension MS-vsliveshare.vsliveshare
code --install-extension dbaeumer.vscode-eslint
code --install-extension Rubymaniac.vscode-paste-and-indent
code --install-extension alexcvzz.vscode-sqliteHere is a list of the extensions you are installing:
- Sublime Text Keymap and Settings Importer
- VSCode Great Icons
- Live Share
- ESLint
- Paste and Indent
- SQLite
Visual Studio Live Share is a VS Code extension which allows you to share the code in your text editor for debugging and pair-programming: let's set it up!
Launch VS Code from your terminal by typing code and pressing Enter.
Click on the little arrow at the bottom of the left bar 👇
- Click on the "Share" button, then on "GitHub (Sign in using GitHub account)".
- A popup appears asking you to sign in with GitHub: click on "Allow".
- You are redirected to a GitHub page in you browser asking you to authorize Visual Studio Code: click on "Continue" then "Authorize github".
- VS Code may display additional pop-ups: close them by clicking "OK".
That's it, you're good to go!
Instead of using the default bash shell, we will use zsh.
We will also use git, a command line software used for version control.
Let's install them, along with other useful tools:
- Open an Ubuntu terminal
- Copy and paste the following commands:
sudo apt updatesudo apt install -y curl git imagemagick jq unzip vim zshThese commands will ask for your password: type it in.
Enter.
Let's now install GitHub official CLI (Command Line Interface). It's a software used to interact with your GitHub account via the command line.
In your terminal, copy-paste the following commands and type in your password if asked:
sudo apt remove -y gitsome # gh command can conflict with gitsome if already installed
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install -y ghTo check that gh has been successfully installed on your machine, you can run:
gh --version✔️ If you see gh version X.Y.Z (YYYY-MM-DD), you're good to go 👍
❌ Otherwise, please contact a teacher
Let's install the zsh plugin Oh My Zsh.
In a terminal execute the following command:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"If asked "Do you want to change your default shell to zsh?", press Y
At the end your terminal should look like this:
✔️ If it does, you can continue 👍
❌ Otherwise, please ask for a teacher
CLI is the acronym of Command-line Interface.
In this section, we will use GitHub CLI to interact with GitHub directly from the terminal.
It should already be installed on your computer from the previous commands.
First in order to login, copy-paste the following command in your terminal:
email
gh auth login -s 'user:email' -wgh will ask you few questions:
What is your preferred protocol for Git operations? With the arrows, choose SSH and press Enter. SSH is a protocol to log in using SSH keys instead of the well known username/password pair.
Generate a new SSH key to add to your GitHub account? Press Enter to ask gh to generate the SSH keys for you.
If you already have SSH keys, you will see instead Upload your SSH public key to your GitHub account? With the arrows, select your public key file path and press Enter.
Enter a passphrase for your new SSH key (Optional). Type something you want and that you'll remember. It's a password to protect your private key stored on your hard drive. Then press Enter.
Enter.
You will then get the following output:
! First copy your one-time code: 0EF9-D015
- Press Enter to open github.com in your browser...Select and copy the code (0EF9-D015 in the example), then press Enter.
Your browser will open and ask you to authorize GitHub CLI to use your GitHub account. Accept and wait a bit.
Come back to the terminal, press Enter again, and that's it.
To check that you are properly connected, type:
gh auth status✔️ If you get Logged in to github.com as <YOUR USERNAME> , then all good 👍
❌ If not, contact a teacher.
Open windows terminal (check that you're in a ubuntu environment)
Run the following commands:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingYou don't want to be asked for your passphrase every time you communicate with a distant repository. So, you need to add the plugin ssh-agent to oh my zsh:
First, open the .zshrc file:
code ~/.zshrcThen:
- Spot the line starting with
plugins= - Add
ssh-agentat the end of the plugins list
The list should look like:
plugins=(gitfast last-working-dir common-aliases zsh-syntax-highlighting history-substring-search pyenv ssh-agent)✔️ Save the .zshrc file with Ctrl + S and close your text editor.
Node.js is a JavaScript runtime to execute JavaScript code in the terminal. Let's install it with nvm, a version manager for Node.js.
In a terminal, execute the following commands:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh
exec zshThen run the following command:
nvm -vYou should see a version. If not, ask a teacher.
Now let's install node:
nvm install 16.15.1When the installation is finished, run:
node -vIf you see v16.15.1, the installation succeeded ✔️ You can then run:
nvm cache clear❌ If not, contact a teacher
yarn is a package manager to install JavaScript libraries. Let's install it:
In a terminal, run the following commands:
npm install --global yarn
exec zshThen run the following command:
yarn -v✔️ If you see a version, you're good 👍
❌ If not, ask for a teacher
In a few weeks, we'll talk about databases and SQL. SQLite is a database engine used to execute SQL queries on single-file databases. Let's install it:
In a terminal, execute the following commands:
sudo apt-get install sqlite3 libsqlite3-devThen run the following command:
sqlite3 -version✔️ If you see a version, you're good 👍
❌ If not, ask for a teacher
Sometimes, SQLite is not enough and we will need a more advanced tool called PostgreSQL, an open-source robust and production-ready database system.
Let's install it now.
Run the following commands:
sudo apt install -y postgresql postgresql-contrib libpq-dev build-essentialsudo -u postgres psql --command "CREATE ROLE \"`whoami`\" LOGIN createdb superuser;"Great you almost completed the setup! Now it's time to sign-up into your dashboard.
Open this webpage https://poco-dashboard.herokuapp.com , you'll see a central white button. Click on sign in with github
After that will be redirected to your personal page and you should se your avatar on the right.
In this page you'll be able to see your daily progress in the exercises.
It's our platform to see all the content of bootcamp and videos of the lectures. The link will be shared on Slack at the end of the day :)
Slack is a communcation platform pretty popular in the tech industry.
Download the Slack app and install it.
Launch the app and sign in to powercoders organization.
Make sure you upload a profile picture :camera_with_flash:
The idea is that you'll have Slack open all day, so that you can share useful links / ask for help / decide where to go to lunch / etc.
To ensure that everything is working fine for video calls, let's test your camera and microphone:
- Open the Slack app
- In any channel message bar type
/call --testand pressEnter - Click on the "Start test" green button
✔️ When the test is finished, you should see green "Succeed" messages at least for your microphone and camera. 👍
❌ If not, contact a teacher.
You can also install Slack app on your phone and sign in powercoders!
On our pedagogical platform we have some videos. By default Firefox on Linux cannot play them as they use an unsupported codec (H264). To get those videos working for you, you need to run this:
sudo apt install libavcodec-extra -ytree is a nice tool to visualize a directory tree inside the terminal:
ncdu is a text-based interface disk utility.
htop is an interactive process viewer.
tig is a text-mode interface for git.
sudo apt install tree ncdu htop tigUbuntu is always tracking changes in your folders and to do this it uses inotify. By default the Ubuntu limit is set to 8192 files monitored.
As programming involves a lot of files, we need to raise this limit. In your terminal run:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -pYou are going to use most of the apps you've installed today really often. So let's pin them to your dock so that they are just one click away!
To pin an app to your dock, launch the app, right-click on the icon in the dock to bring up the context menu and choose "Add to Favorites".
You must pin:
- Your terminal
- Your file explorer
- VS Code
- Your Internet browser
- Slack
- Zoom
Your computer is now all set for Powercoders Web Development course 💪 👏
Enjoy the bootcamp, you will nail it 🚀






