- 116-117: Challenge: Changing Casing in Text
- 118: Basic Arithmetic and Modulo Operator in Javascript
- 121-122: Functions Part 1: Challenge - The Karel Robot
- 124: Functions Part 2: Parameters and Arguments
- Coding Exercise 3: Life in Weeks
- Coding Exercise 4: BMI Calculator
- 131: Random Number Generation in Javascript: Building a Love Calculator
- 132: Control Statements: Using If-Else Conditionals & Logic
- Coding Exercise 5: BMI Calculator Advanced (IF/ELSE)
- Coding Exercise 6: Leap Year
- 138: Adding Elements and Intermediate Array Techniques
- Coding Exercise 7: Who's Buying Lunch?
- Coding Exercise 8: Fibonacci
- Create an External JS File
- Add Dice Images
- Create a Random Number
- Change both img to a Random Dice
- Change both img Elements
- Change the Title to Display a Winner
- 172: Higher Order Function Challenge
- 171: Adding Event Listners to a Button
- 174: How to Play Sounds on a Website
- 176: How to Use Switch Statements in JavaScript
- 179: Using Keyboard Event Listeners to Check for Key Presses
- 181: Adding Animation to Websites
- Add JS and jQuery
- Create a New Pattern
- Show the Sequence to the User with Animations and Sounds
- Check Which Button is Pressed
- Add Sounds to Button Clicks
- Add Animations to User Clicks
- Start the Game
- Check the User's Answer Against the Game Sequence
- Game Over
- Restart the Game
- 241: Creating Our First Server with Express
- 242: Handling Requests and Responses: the GET Request
- 244: Understanding and Working with Routes
- 246: Calculator Challenge Setup
- 248: Responding to Requests with HTML Files
- 249: Processing Post Requests with Body Parser
- 250: BMI Routing Challenge
- 258: Making GET Requests with the Node HTTPS Module
- 259: How to Parse JSON
- 260: Using Express to Render a Website with Live API Data
- 261: Using Body Parser to Parse POST Requests to the Server
- 263: Setting up the Sign Up Page
- 264: Posting Data to Mailchimp's Servers via their API
- 265: Adding Success and Failure Pages
- 266: Deploying Your Server with Heroku (https://gentle-wildwood-03304.herokuapp.com/)
- 282: Templates? Why Do We Need Templates?
- 283: Creating Your First EJS Template
- 284: Running Code Inside the EJS Template
- 285: Passing Data from Your Webpage to Your Server
- 287: Adding Pre-Made CSS Stylesheets to Your Website
- 288: Understanding Templating vs Layouts
- 289: Understanding Node Module Exports: How to Pass Functions and Data between Files
- Get Home route and add content to home.ejs
- Pass data from homeStartingContent to home.ejs
- Add header and footer partials to home.ejs
- Moved header and footer to partials folder
- Add About and Contact routes, pass content to about and contact.ejs
- Add nav href to header
- Add compose form and POST route
- Add text fields to compose form and use bootstrap
- Create JS object for post
- Push post into posts array
- Add posts to render array
- Loop through all posts
- Refactor for loop to use forEach
- Render each post onto Home
- Add express routing parameters /posts/:blogPost
- Loop through posts array to check if it matches title in url
- Add lodash and use _.lowerCase on titles
- Separate page for each blog post
- Truncate post body on Home page to 100 characters
- Add Read More to posts
- 357: Introduction to Mongoose
- 358: Reading from Your Database with Mongoose
- 359: Data Validation with Mongoose
- 360: Updating and Deleting Data Using Mongoose
- 361: Establishing Relationships and Embedding Documents using Mongoose
- 364: Take ToDoList Project to the Next Level and Connect it with Mongoose
- 365: Rendering Database Items into the ToDoList App
- 366: Adding New Items to our ToDoList Database
- 367: Deleting Items from our ToDoList Database
- 368: Creating Custom Lists using Express Route Parameters
- 369: Adding New Items to the Custom ToDoLists
- 370: Revisiting Lodash and Deleting Items from Custom ToDo Lists
- 374: How to Setup MongoDB Atlas
- 375: Deploying An App with a Database to Heroku (https://agile-hamlet-78426.herokuapp.com/)
- Save Composed Posts with MongoDB
- Get Home Page to Render the Posts
- Redirect to Home Page after save() is completed with no errors
- Render correct blog post based on post _id
- 389: Set Up Server Challenge
- 391: GET All Articles
- 392: POST a New Article
- 393: Delete All Articles
- 394: Chained Route Handlers Using Express
- 395: GET a Specific Article
- 396: PUT a Specific Article
- 397: PATCH a Specific Article
- 398: DELETE a Specific Article
- 403: Getting Set Up
- 404: Level 1 - Register Users with Username and Password
- 406: Level 2 - Database Encryption
- 407: Using Environment Variables to Keep Secrets Safe
- 408: Level 3 - Hashing Passwords
- 410: Level 4 - Salting and Hashing Passwords with bcrypt
- 412: Level 5 - Using Passport.js to Add Cookies and Sessions
- 413a: Level 6 - OAuth 2.0 & How to Implement Sign In with Google
- 413b: Level 6 - OAuth 2.0 with Facebook
- 414: Letting Users Submit Secrets
- 422: JSX Code Practice
- 423: JavaScript Expressions in JSX & ES6 Template Literals
- 424: JavaScript Expressions in JSX Practice
- 425: Attributes and Styling React Elements
- 426: Inline Styling for React Elements
- 427: React Styling Practice
- 428: React Components
- 429: React Components Practice
- 431: JavaScript ES6 Import, Export and Modules Practice
- 434: Keeper App Project - Part 1
- 436: React Props
- 437: React Props Practice
- 438: React DevTools
- 439: Mapping Data to Components
- 440: Mapping Data to Components Practice
- 441: JavaScript ES6 Map/Filter/Reduce
- 442: JavaScript ES6 Arrow functions
- 443: Keeper App Project - Part 2
- 444: React Conditional Rendering with the Ternary Operator & AND Operator
- 445: Conditional Rendering Practice
- 447: React Hooks - useState
- 448: useState Hook Practice
- 449: JavaScript ES6 Object & Array Destructuring
- 450: JavaScript ES6 Destructuring Challenge
- 451: Event Handling in React
- 452: React Forms
- 454: Changing Complex State
- 455: Changing Complex State Practice
- 456: JavaScript ES6 Spread Operator
- 457: JavaScript ES6 Spread Operator Practice
- 458: Managing a Component Tree
- 459: Managing a Component Tree Practice
- 460: Keeper App Project - Part 3
- 461: React Dependencies & Styling the Keeper App