This repository contains a collection of projects built as part of the freeCodeCamp JavaScript Algorithms and Data Structures Certification.
These projects demonstrate core JavaScript skills, including algorithmic thinking, DOM manipulation, object-oriented and functional programming, local storage usage, asynchronous JavaScript, and more.
The goal of this portfolio is to reinforce and apply foundational JavaScript knowledge through hands-on, interactive projects.
The following certified projects were built using only the course-provided instructions and requirements.
-
Pyramid Generator
Learn Introductory JavaScript
A tool to print out a pyramid pattern using user-defined characters and height. -
Gradebook App
Review JavaScript Fundamentals -
Role Playing Game
Learn Basic JavaScript -
Random Background Color Changer
Learn Basic Debugging -
Calorie Counter
Learn Form Validation -
Rock, Paper, Scissors Game
Review DOM Manipulation -
Music Player
Learn Basic String and Array Methods -
Date Formatter
Learn the Date Object -
Football Team Cards
Learn Modern JavaScript Methods -
Todo App
Learn localStorage -
Decimal to Binary Converter
Learn Recursion
-
Spam Filter
Learn Regular Expressions -
Number Sorter
Learn Basic Algorithmic Thinking -
Statistics Calculator
Learn Advanced Array Methods -
Spreadsheet
Learn Functional Programming -
Shopping Cart
Learn Basic OOP -
Platformer Game
Learn Intermediate OOP -
Dice Game
Review Algorithmic Thinking -
fCC Authors Page
Learn Fetch and Promises -
fCC Forum Leaderboard
Learn Asynchronous Programming
Each of the following projects is a requirement to complete the certification:
The following certified projects were built independently, using only the course-provided requirements.
-
Palindrome Checker
A tool that checks if a given string is a palindrome. -
Roman Numeral Converter
Converts integers into their Roman numeral representations.
-
Telephone Number Validator
Validates U.S. telephone numbers using regular expressions. -
Cash Register App
A virtual cash register that calculates change based on available currency denominations. -
RPG Creature Search App
An interactive app that fetches and displays creature data from an RPG API.
- Pure JavaScript implementations (no frameworks)
- Hands-on approach to learning modern JS fundamentals
- Strong focus on algorithms, logic, and interactivity
- Real-world project applications
-
JavaScript (ES6+)
Core language used throughout all lessons and projects. -
HTML5 (used optionally in browser-based projects)
Required in projects involving forms or layout such as:- Palindrome Checker
- Calorie Counter
- Cash Register
- RPG Creature Search App
-
CSS3 (optional for styling browser-based projects)
Not required by the curriculum, but helpful for:- Improving UI/UX in interactive projects
- Personalizing project appearance (e.g., Rock, Paper, Scissors UI)
-
DOM API
Used to create interactive elements and respond to user input in:- Rock, Paper, Scissors
- Calorie Counter
- Palindrome Checker
- Dice Game
- Shopping Cart
-
Browser APIs (localStorage, fetch)
Used in asynchronous and stateful projects:- Todo App (
localStorage) - fCC Authors Page (
fetch) - fCC Forum Leaderboard (
fetch) - RPG Creature Search App (
fetch)
- Todo App (
-
freeCodeCamp’s Test Suite
Automatically validates project requirements and completion. Required for all certification projects.