Learn Linux, PostgreSQL, Git, and Bash Scripting – right from the command line (new 300-hour freeCodeCamp Certification)

Hey friends, over the past 18 months, we’ve been designing and coding this interactive Relational Database certification. It isn’t live on freecodecamp.org/learn yet, but you can install it on your computer and work through all 13 of its projects – right inside VS Code. Here’s how to install it: Relational Database Course – How to Learn SQL in VSCode Using Docker and freeCodeCamp

We would welcome any feedback you all have. If you get stuck somewhere – installing or progressing through the projects – let us know. This is a work in progress. :slight_smile: Thanks, and happy coding.


I am excited to get started :grinning:

I am also thinking of writing an article on my experience going through it.


Hello, I am currently installing as per said in the article, but the problem i am facing is while installing Coderoad. I don’t know why, but the installation stops when it comes to the line - installing extension: coderoad.coderoad. Can you help me fix this problem? Feel free to ask me any more details. Thank you.

Hi @BashicPerl !

Welcome to the forum!

This was my first time setting up docker and vs code so I won’t be much help here.

Could you provide a screenshot of your terminal and installation?
That might help experienced devs who have setup this up before on how to trouble shoot it.

Also, maybe you can include if you are working with windows or mac?

Is there any error messages or anything @BashicPerl? My experience was that the extension would install after the container loads. This takes a little time and the command to start the extension would not work or show until it was finished.

There wasn’t any error messages per se, but I waited for almost over an hour for CodeRoad to get installed in the container. After that, my patience ran out and I closed it. I also tried the following - made a new folder, installed Coderoad (Coderoad got installed pretty quickly if it is installed normally, that is ,not installed in a container) after opening the folder in VScode, ran CodeRoad: start. It started normally(yay!!), did whatever it told me to do, pasted https://raw.githubusercontent.com/freeCodeCamp/learn-bash-by-building-a-boilerplate/main/tutorial.json in URL, and it tutorial started. But the problem I faces was that I couldn’t find the terminal to run the codes told in the tutorial. My normal terminal is PowerShell, so the codes run normally, but doesn’t get updated in the tutorial. So, after almost 6 hours of waiting and trying to fix these, I finally thought that i would wait for it to officially out on the website!!!

In VS code do have the option to click on Terminal at the top?

That’s what I am using to run mine now.

My current setup is to have coderoad exercises on top and the terminal on bottom

I am stuck on the first Tutorial of learning Bash by building a BoilerPlate. In the tutorial, it is telling me to click on the "Hamburger option, open a new terminal " and run the code. But when I did that, the error shown is “Test Runner Failed”. I found that when my terminal is running, it is running locally, because it is showing the the local address of my Computer, but to run the tutorial’s codes, the prompt should be something like this - “codeally:…” - something like this probably. I don’t know much about this though :confused:

yeah that should be the first prompt.
If i remember correctly it has the word project in it.
Then the prompt changes once you start the lesson.

But I don’t have any other terminals running.

So maybe just try having only the terminal in VS code running.

It should only take a few minutes to build the container and install the extension - not hour(s). The tutorials will not work outside of the container - so there’s no reason to try and go down that route. Did you try re-running the container at all? Maybe another try would go better.

Some time ago I took some industrial computer science courses for 3 years. I also got a diploma. Among others, I was introduced to Linux (Red Hat) and MySQ.
Unfortunately, after graduating, I started working in another direction and I did not practice what I studied.
I would be interested in re-learning Linux and contributing through my work to the 13 projects. If I am not too efficient, I apologize, but I will do my best to achieve something.

I did the following - i copied the repo in my Downloads folder and reopened in the container. It executed upto the point when it showed - Installing coderoad.coderoad. I wasted almost an hour waiting for it to install(I am new to Docker and don’t have any idea as to how much time it might actually take). I thought it might be an issue of permission because my C: drive is the drive containing OS and so it might have some restricting conditions like drive write permissions(again, I am a basically a newbie in this so I wasn’t sure at all). I changed the drive to E: and tried there, but it took more time to reopen in container(probably because E: is HDD) but it was still stuck at installing coderoad.coderoad and then I tried executing it outside container. Much time passed, so I uninstalled Docker and everything. :expressionless: :expressionless: :expressionless:

hi all,
the course looks and feels great. Remarks so far:

  • Celestial bodies task. I was able to export my db as a .sql file, but I cannot bring it back. Can anyone share their tip HOW?
  • Learn BASH by writing 5 program. IMHO it should say explicitly ‘use NANO’, otherwise how else are you supposed to add lines to the top etc? I suggest you reorder the tutorials - i.e The Castle should be one of the first (by the way it works fine);
  • Stuck in Students database tutorial - cannot checkmark ‘touch insert.sh’ task

Celestials - here is what finally worked to restore the db:
once I made a dump, I opened that file in VS and copied its content to my desktop
once I remade the container and reopened the CodeRoad, I created a folder in the course container (mkdir), created a uni.sql file with nano, copy-pasted content of the file saved on my desktop and saved the nano edited file. then I applied the command you listed in the instructions (by the way, there is a typo - missing ‘p’ in freecodecam ')

Hi @IVD !

Welcome to the forum!

For others, who might be reading this thread, here is the command with the missing p

From the Celestial bodies instructions:
For this project, you need to log in to to PostgreSQL with psql to create your database. Do that by entering psql --username=freecodecam --dbname=postgres in the terminal.

//correct one to use for celestial bodies
psql --username=freecodecamp --dbname=postgres

Sorry for your experience @BashicPerl. Getting this running can be a little difficult sometimes as it may be different depending on your set up. I hope you give the web based version another try when it’s ready :+1:

1 Like

Thanks for the feeback @IVD

For the five programs tutorial - the intent was to open the files in the VS Code editor. Not sure if you are trying to modify them from the command line or what. Nano shouldn’t be necessary on those - but it would probably work if you want to use it.

I do see a bug in the students database project. Sorry about that - I can get a fix in :+1:


hi Tom,
thanks for the great course.
Please post an update here once the Student DB issue is solved - I cannot move forward as next tutotrials depend on the knowledge of ingest.sh code structure covered in the students.
Reg. the editing tasks - using VS Code is the simplest solution, but I though the tutorial wanted us to use echo >> method :slight_smile: Maybe, just write it explicitly for students to use VSC editor :slight_smile:

1 Like

The SQL tutorial should be mostly working @IVD - I would be cautious with using the reset button. There seems to be some permissions issues that weren’t present in testing. It may not work quite right or cause some issues. Let me know how it goes :+1:

OMG thanks for this! I have to wait to the curriculum update (have no virtualization in my current machine). I use linux and very interested on the sql stuff I have a mod for a strategy game which uses SQLite and will be nice learn more to improve it.