For these courses, I use real developer tools and software including VS Code, PostgreSQL, and the Linux / Unix command line to complete interactive tutorials and build projects.
These courses start off with basic Bash commands. Using the terminal, I learn everything from navigating and manipulating a file system, scripting in Bash, all the way to advanced usage.
Next, how to create and use a relational database with PostgreSQL, a database management system, and SQL, the language of these databases.
Finally, learn Git, the version control system, an essential tool of every developer.
The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.
In this 170-lesson course, you will learn terminal commands by creating a website boilerplate using only the command line.
- Build a Boilerplate --- Done
A relational database organizes data into tables that are linked together through relationships.
In this 165-lesson course, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters.
- Build a Mario Database --- Done
This is one of the required projects to earn certification.
For this project, you will build a database of celestial bodies using PostgreSQL.
- Build a Celestial Bodies Database --- Done
Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.
In this 220-lesson course, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs.
- Build Five Programs --- Done
SQL, or Structured Query Language, is the language for communicating with a relational database.
In this 140-lesson course, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL.
- Build a Student Database: Part 1 --- Done
SQL join commands are used to combine information from multiple tables in a relational database
In this 140-lesson course, you will complete your student database while diving deeper into SQL commands.
- Build a Student Database: Part 2 --- Done
This is one of the required projects to earn your certification.
For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics.
- Build a World Cup Database --- Done
There's more to Bash commands than you might think.
In this 140-lesson course, you will learn some more complex commands, and the details of how commands work.
- Build a Kitty Ipsum Translator --- Done
In this 210-lesson course, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL.
- Build a Bike Rental Shop --- Done
This is one of the required projects to earn your certification.
For this project, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon.
- Build a Salon Appointment Scheduler --- Done
Nano is a program that allows you to edit files right in the terminal.
In this 40-lesson course, you will learn how to edit files in the terminal with Nano while building a castle.
- Build a Castle --- Done
Git is a version control system that keeps track of all the changes you make to your codebase.
In this 240-lesson course, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands.
- Build an SQL Reference Object --- Done
This is one of the required projects to earn your certification.
For this project, you will create Bash a script to get information about chemical elements from a periodic table database.
- Build a Periodic Table Database --- Done
This is one of the required projects to earn your certification.
For this project, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information.
- Build a Number Guessing Game --- Done
- Docker Engine
- VS Code and the Dev Containers extension
- Git
- Clone the RDB Alpha repo with
git clone https://github.com/freeCodeCamp/rdb-alpha
- Open a terminal, navigate to the
rdb-alpha
directory, and open VSCode withcode .
- Press Ctrl / Cmd + Shift + P and enter
Dev Containers: Rebuild Container and Reopen in Container
- A new VS Code window will open and begin building the Docker image. It will take several minutes to build the first time.
- Once the image is finished building, press Ctrl / Cmd + Shift + P and enter
CodeRoad: Start
to open CodeRoad - In the CodeRoad window, click "Start New Tutorial"
- Enter the URL to the
tutorial.json
file of the project you want to start (ex: https://raw.githubusercontent.com/freeCodeCamp/learn-bash-by-building-a-boilerplate/main/tutorial.json) - Click the "Start" button
There may be some additional troubleshooting steps to get the container running properly. They can often be solved by following the onscreen instructions, or examining any error messages in your terminal.
Note: If you restart or switch projects you will lose your progress, along with any files or directories you created.
- Press Ctrl / Cmd + Shift + P and enter
Dev Containers: Rebuild Container
- Wait for VS Code to reopen and reload the Docker container
- Open CodeRoad, enter the URL to a
tutorial.json
file, and start the project as described above
- Learn Bash by Building a Boilerplate
- Learn Relational Databases by Building a Mario Database
- Celestial Bodies Database
- Learn Bash Scripting by Building Five Programs
- Learn SQL by Building a Student Database: Part 1
- Learn SQL by Building a Student Database: Part 2
- World Cup Database
- Learn Advanced Bash by Building a Kitty Ipsum Translator
- Learn Bash and SQL by Building a Bike Rental Shop
- Salon Appointment Scheduler
- Learn Nano by Building a Castle
- Learn Git by Building an SQL Reference Object
- Periodic Table Database
- Learn GitHub by Building a List of Inspirational Quotes (in progress)
- Number Guessing Game