Let's build a passenger counter app! 
 
Setting up our JavaScript file 
 
Write your first JavaScript variable 
 
Basic mathematical operations 
 
Reassigning and incrementing 
 
The onclick event listener 
 
Using functions to write less code 
 
Write your first function 
 
Write a function that logs the sum 
 
Write a function that increments 
 
The Document Object Model 
 
Display the count with innerText 
 
Write your first string variable 
 
Log a greeting to the console 
 
Improve the message with string concatenation 
 
Personalize and Download Your App 
 
Concatenate two strings in a function 
 
Incrementing and decrementing 
 
Rendering an error message 
 
Setting Up a Local Dev Environment 
 
Getting Started with GitHub Desktop 
 
Edit with VS Code and Push to GitHub 
 
Deploy and Share Your Solo Project 
 
Let's build a Blackjack game! 
 
Add the firstCard secondCard and sum 
 
Your first if...else statement 
 
if/else...if/else statement 
 
The if...else statement for our game 
 
Add the hasBlackJack variable 
 
Let's practice boolean conditions 
 
Make the start button work 
 
Add to the sum when newCard is clicked 
 
Rename the startGame function 
 
Solving our cards problem with an array 
 
Arrays with multiple data types 
 
Adding and removing items from arrays 
 
Push a new card to the array 
 
Write your first array-based for loop 
 
Use a loop to render cards 
 
How can we avoid hard-coding card values? 
 
Returning values in functions 
 
Use a function to set the card values 
 
Generating random numbers with Math.random() 
 
Flooring the number with Math.floor() 
 
Using Math.random() and Math.floor() to create a dice 
 
Completing our dice function 
 
Make getRandomCard() work 
 
Complete getRandomNumber function 
 
Assign values in the startGame function 
 
Our new card feature is broken 
 
Write your first logical operator 
 
Only trigger newCard() if you're allowed to 
 
Use an object to store player data 
 
push pop unshift shift challenge 
 
Let's build a Chrome Extension! 
 
Style the button and input tag 
 
Make the input button work with onclick 
 
Refactor to addEventListener 
 
Write your first addEventListener() 
 
Create the myLeads array and inputEl 
 
When to use let and const 
 
Push to the myLeads array 
 
Push the value from the input field 
 
Use a for loop to log out leads 
 
Create the unordered list 
 
Render the leads in the unordered list 
 
How to render <li> elements with innerHTML 
 
Write your first innerHTML 
 
Render the <li> elements with innerHTML 
 
Use createElement() and append() instead of innerHTML 
 
Improving the performance of our app 
 
Create the render function 
 
Write your first template string 
 
Make the template string even more dynamic 
 
Template strings on multiple lines 
 
Refactor the app to use a template string 
 
Deploying the Chrome Extension 
 
Storing arrays in localStorage 
 
Save the leads to localStorage 
 
Get the leads from localStorage 
 
Guess the expression - truthy or falsy? 
 
Checking localStorage before rendering 
 
Make the delete button work 
 
How function parameters can improve our code 
 
Write your first function parameter 
 
Functions with multiple parameters 
 
Numbers as function parameters 
 
Refactor renderLeads() to use a parameter 
 
How to get the current tab? 
 
Use the Chrome API to get the tab 
 
Log out items in an array 
 
addEventListener and object in array 
 
Convert string to number challenge 
 
Create new Firebase Project 
 
Create new Firebase Realtime Database 
 
Set up Database Environment Variable 
 
Aside: Push data to Firebase Realtime Database 
 
Push a lead to Firebase Realtime Database 
 
Aside: Get a snapshot of data using onValue 
 
Console log data inside of onValue 
 
Aside: Turn an Object into an Array 
 
Render all items using onValue 
 
Aside: Delete all data using remove 
 
Delete all leads using remove 
 
Add label placeholder and max-width 
 
Aside: Setting the viewport 
 
Adding viewport with meta tag 
 
Adding favicon and phone icons 
 
Aside: Web Application Manifest 
 
Turning the web app into "mobile" app 
 
Congrats on completing the Learn JavaScript course!