freeCodeCamp Projects

Here are projects from the JavaScript Algorithm and Data Structures Certification course, where I gained proficiency in JavaScript fundamentals, Object-Oriented Programming (OOP), Functional Programming, and working with APIs to fetch data and manage local storage. This collection highlights my ability to create dynamic and interactive web pages.

Go back to Home Page

FCC Forum Board

Built this forum leaderboard, which helped me gain proficiency in asynchronous concepts in JavaScript. The project covered the Fetch API, promises, Async/Await, and the try..catch statement.

FCC Authors Page

One common aspect of web development was learning how to fetch data from an external API and work with asynchronous JavaScript. In this freeCodeCamp authors page project, I learned how to use the fetch method and dynamically update the DOM to display the fetched data. I also practiced paginating the data so that results could be loaded in batches.

Dice Game

In my Dice game project, I applied algorithmic thinking to break down complex problems into well-defined, step-by-step instructions. I managed game state, implemented game logic for rolling dice, kept score, and enforced rules for various combinations. The project enhanced my skills in event handling, array manipulation, conditional logic, and dynamically updating the user interface based on the game state.

Platformer Game

Coding a game helped me grasp key programming principles while creating an interactive experience. In this platformer project, I deepened my understanding of classes, objects, and inheritance, and learned to design and organize game elements efficiently.

Shopping Cart

Object-Oriented Programming (OOP) is one of the major approaches in software development. In this shopping cart project, I defined classes and used them to structure my code. I created class instances and implemented methods for data manipulation.

US Phone Number Validator

Validate diverse US phone number formats. The project ensured all numbers, whether with or without the country code and using various separators, were consistently formatted. I also confirmed that the area code was always included and that any provided country code was "1" for US numbers, improving data consistency and reducing processing errors.

Spreadsheet

Parsing and evaluating mathematical expressions, implementing spreadsheet functions, handling cell references, and creating interactive web interfaces, while dynamically updating the page based on user input, and covering concepts like the map(), find(), and includes() methods, as well as the parseInt() function, all within the framework of Functional Programming, where code is organized into smaller functions to build complex programs.

Statistics Calculator

Handling user input, DOM manipulation, and method chaining while performing statistical calculations like mean, median, mode, variance, and standard deviation, helping me become more comfortable with JavaScript array manipulation methods such as map(), reduce(), and filter().

Number Sorter

I learned how to implement and visualize different sorting algorithms like bubble sort, selection sort, and insertion sort using JavaScript, which helped me understand the fundamental concepts behind these algorithms and how to apply them to sort numerical data in web applications.

Spam Filter with Regex

Capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text I wanted, while working with regular expressions, which are powerful patterns that help programmers match, search, and replace text but can be difficult to understand due to the use of many special characters.

Roman Numeral Converter

Fulfilled user stories to create a converter with various edge cases in mind.

Todo App Converter

Learned how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements.

Team Cards

In the sports team cards project, I explored DOM manipulation, object destructuring, event handling, data filtering, switch statements, default parameters, Object.freeze(), the map() method, and more.

Palindrome Checker

I needed to remove all non-alphanumeric characters (punctuation, spaces, and symbols) and convert everything into the same case (lower or upper case) to check for palindromes.

Date Formatter

I had to navigate through various methods, formats, and time zones. In this project, I learned how to work with the JavaScript Date object, including its methods and properties. I also learned how to correctly format dates. The project covered concepts such as the getDate(), getMonth(), and getFullYear() methods.

Music Player

In this project, I coded a basic MP3 player using HTML, CSS, and JavaScript. The project covered fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, previous, and shuffle functionalities. Dynamically update my user interface based on the current song.

Calorie Counter

I validated user input, performed calculations based on that input, and dynamically updated my interface to display the results. This project taught me basic regular expressions, template literals, the addEventListener() method, and more.

Simple RPG

Fundamental programming concepts in JavaScript by coding my own Role Playing Game. I learned how to work with arrays, strings, objects, functions, loops, if/else statements, and more during this project.