How to create catalog items
The purpose of the catalog is to offer a wide range of courses on everything from Computer Science, Math, Full Stack development and more. Some of the courses will be video based with comprehension check questions along the way. Others will be interactive with lessons, projects and quizzes.
Catalog items are standalone learning units (superblocks) that are made from a collection of blocks. These units could be created from existing blocks, or new blocks, or a mix of both.
Creating catalog items from new blocks
Section titled “Creating catalog items from new blocks”The followings are all the steps needed to create a new catalog item. Skip the block and challenge file creation steps if block and challenge files already exist.
-
Add a superblock JSON file that includes the superblock’s contents.
Example -
List the new superblock in the
superBlockslist.
Example -
Add the superblock to the
superBlocksshared config.
Example -
List the new superblock in the curriculum config.
Example -
Add the superblock enum value in shared config.
Example -
Register the superblock name mapping in the curriculum build.
Example -
Include the superblock name in the certification settings.
Example -
Add the superblock name in the curriculum schema.
Example -
Add block configuration files.
Example -
Add challenge files in the block.
Example -
Add the superblock page file.
Example -
Add the translation string for the superblock.
Example -
Add the intro title and summary.
Example -
Add the catalog entry and a topic if the topic is new.
Example -
Add the superblock to the catalog stage list.
Example -
Add the superblock icon.
Example -
Add label styling for new topics.
Example -
Keep the catalog test in sync.
Example -
Ensure the catalog page imports catalog config.
Example
Creating Video Courses
Section titled “Creating Video Courses”Selecting a New Course
Section titled “Selecting a New Course”A list of available video courses can be found on the catalog of courses spreadsheet located in the curriculum staff chat. Once you select a course, assign your name on the sheet so other team members know it is taken.
Downloading the Video
Section titled “Downloading the Video”All of the videos will be coming from the main freeCodeCamp YouTube Channel.
freeCodeCamp does not keep any of the original full video files. This means you will need to download the original video. There are many tools to do this but the recommended one is yt-dlp. This is a free and open source command line tool used for downloading videos.
Copy the video URL of the course and add it to this command here:
yt-dlp \ --extractor-args "youtube:player_js_variant=tv" \ -f "bestvideo[vcodec^=avc1]+bestaudio[acodec^=mp4a]/best[ext=mp4]" \ --merge-output-format mp4 \ --cookies-from-browser chrome \ -o "%(title)s [%(id)s].%(ext)s" \ video-url-goes-hereIt should only take a minute or two for the download to complete. Please make sure to double check the video quality to ensure the download was successful.
Breaking the Video Down Into Chapters
Section titled “Breaking the Video Down Into Chapters”Once you have downloaded the video, you will need to break it down into chapters. If you go to the original video on YouTube, the video description will provide a detailed course contents breakdown with timestamps.
To separate the video into chapters, you will need to use video editing software. Many editors will work for this. There are paid options like Final Cut Pro and free options like DaVinci Resolve or other similar tools.
Open the video in your editor of choice and add it to the timeline. Then, use your editor’s cutting or splitting tool to divide the video at the timestamps listed in the description.
After splitting the video into sections, review each segment carefully and adjust the start and end points as needed. Once everything is aligned correctly, export each chapter as a separate video file and save them to a folder on your computer.
Once the video is ready, please review it to make sure the export was successful.
Adding Video Chapters to the freeCodeCamp Concepts YouTube Channel
Section titled “Adding Video Chapters to the freeCodeCamp Concepts YouTube Channel”All of these videos will be on the freeCodeCamp Concepts YouTube Channel. You will need to be added as a manager of the account in order to upload the video. If you need access, please reach out to Beau.
Once you have access, you can start adding the videos. The video title should follow this naming convention:
chapter-courseHere are some examples:
- Sum and Difference Formulas - Precalculus Course- Ensuring Correctness of Merge Sort - Introduction to Algorithms and Data StructuresAll videos need be unlisted and have monetization turned off.
Creating Comprehension Check Questions
Section titled “Creating Comprehension Check Questions”Each video in the course will have a comprehension check question associated with it. This is to ensure that campers will engage with the video and understand the material.
You can review how to create comprehension check questions in this detailed guide.