1. Homepage
  2. Applications
  3. SleepTime App
    ❱
    1. Step 1: HTML
    2. Step 2: button
    3. Step 3: events
    4. Step 4: script tag
    5. Step 5: Styling
    6. Step 6: style tage
    7. Step 7: More styling
    8. Step 8: DOM
    9. Step 9: getElementById()
    10. Step 10: Date object
    11. Step 11: Calc sleep times
    12. Step 12: Style Guide
  4. Better SleepTime
    ❱
    1. Step 1: Git
    2. Step 2: Initialize a local Git repository
    3. Step 3: Update a file
    4. Step 4: Check changes between versions
    5. Step 5: Revert changes
    6. Step 6: The SleepTime App
    7. Step 7: Staging multiple files
    8. Step 8: GitHub
    9. Step 9: GitHub Pages
    10. Step 10: Clone a remote repository
    11. Step 11: Improved styling
    12. Step 12: Improved function
  5. Rock Paper Scissors
    ❱
    1. Step 1: HTML Boilerplate
    2. Step 2: Add Bootstrap
    3. Step 3: Add buttons
    4. Step 4: Container
    5. Step 5: Grid
    6. Step 6: Bootstrap button
    7. Step 7: Check responsiveness
    8. Step 8: Adjust responsiveness
    9. Step 9: Jumbotorn
    10. Step 10: Card
    11. Step 11: Link to script
    12. Step 12: Computer plays
    13. Step 13: Game logic
    14. Step 14: Display on HTML
  6. TicTacToe
    ❱
    1. Step 1: Starter
    2. Step 2: HTML
    3. Step 3: Style
    4. Step 4: Script
    5. Step 5: Debug
    6. Step 6: Implement
    7. Step 7: Solution
  7. Payment App
    ❱
    1. Step 1: Starter
    2. Step 2: HTML File
    3. Step 3: Styles
    4. Step 4: HTML Form
    5. Step 5: Submit
    6. Step 6: Prevent default
    7. Step 7: Validations
    8. Step 8: Luhn Algorithm
    9. Step 9: Array.split
    10. Step 10: Array.map
    11. Step 11: Array.reduce
    12. Step 12: Implement Luhn
  8. Brick Breaker
    ❱
    1. Step 1: Vite
    2. Step 2: Install Dependencies
    3. Step 3: Run
    4. Step 4: Canvas
    5. Step 5: Animation
    6. Step 6: Block Class
    7. Step 7: Block Object
    8. Step 8: Sprite Class
    9. Step 9: Sprite Object
    10. Step 10: Ball Class
    11. Step 11: Refactor Ball
    12. Step 12: Paddle Class
    13. Step 13: Restrict paddle
    14. Step 14: Collision Detection
    15. Step 15: Game over
    16. Step 16: Brick Class
    17. Step 17: Lay the Bricks
    18. Step 18: Scores
    19. Step 19: Winning the game
    20. Step 20: Build and Serve
    21. Step 21: Deploy
  9. Weather App
    ❱
    1. Step 1: AccuWeather Account
    2. Step 2: AccuWeather App
    3. Step 3: AccuWeather API
    4. Step 4: Postman
    5. Step 5: GET Request
    6. Step 6: Postman Collection
    7. Step 7: Starter
    8. Step 8: Layout & Style
    9. Step 9: Script
    10. Step 10: Fetch
    11. Step 11: getLocationKey
    12. Step 12: getCurrentCondition
    13. Step 13: updateUI
  10. QuickNotes App
    ❱
    1. Step 1: Create React App
    2. Step 2: Fake notes
    3. Step 3: Refactor
    4. Step 4: Keys
    5. Step 5: Mantine UI
    6. Step 6: Display Notes
    7. Step 7: Search bar
    8. Step 8: Filter Notes
    9. Step 9: Delete Icon
    10. Step 10: Delete Notes
    11. Step 11: Header
    12. Step 12: Add Button
    13. Step 13: Add Notes
    14. Step 14: Edit Icon
    15. Step 15: Edit Page
    16. Step 16: Homepage
    17. Step 17: React Router
    18. Step 18: Routing
    19. Step 19: Navigation
    20. Step 20: Edit Notes
    21. Step 21: Add Notes
    22. Step 22: Protect Edit View
    23. Step 23: Debugging
    24. Step 24: Persistence
    25. Step 25: Rich Text Editor
    26. Step 26: Dark Theme
    27. Step 27: 404 Page
    28. Step 28: Favicon
    29. Step 29: Prettier
    30. Step 30: Deploy
  11. Hello Node & Express
    ❱
    1. Step 1: Node
    2. Step 2: NPM
    3. Step 3: ES6 Module
    4. Step 4: Hello Node
    5. Step 5: Hello Express
    6. Step 6: Web Server
    7. Step 7: API Server
    8. Step 8: Heroku
    9. Step 9: CI/CD
    10. Step 10: GitHub Secrets
  12. Bookmark API
    ❱
    1. Step 1: Scaffold the app
    2. Step 2: Bookmark Model
    3. Step 3: Vitest
    4. Step 4: Bookmark DAO
    5. Step 5: BookmarkDAO Tests
    6. Step 6: Debug in Webstorm
    7. Step 7: GET bookmarks
    8. Step 8: POST Request
    9. Step 9: Path Parameter
    10. Step 10: DELETE Request
    11. Step 11: PUT Request
    12. Step 12: Refactor
    13. Step 13: Supertest
    14. Step 14: Endpoint testing
    15. Step 15: Add sample bookmarks
    16. Step 16: Test a GET request
    17. Step 17: Test a POST request
    18. Step 18: Test a PUT request
    19. Step 19: Test a DELETE request
    20. Step 20: Query Parameters
    21. Step 21: Test GET with query parameters
    22. Step 22: MongoDB & Mongoose
    23. Step 23: Mongoose Schema & Model
    24. Step 24: Bookmark DAO with Mongoose ODM
    25. Step 25: Update the bookmarks route
    26. Step 26: Refactor
    27. Step 27: Test Bookmark Model
    28. Step 28: Test BookmarkDAO
    29. Step 29: Test Bookmarks route
    30. Step 30: Vitest UI & Coverage
    31. Step 31: Schema Validation
    32. Step 32: Validation with Zod
    33. Step 33: ApiError
    34. Step 34: Validate ObjectID
    35. Step 35: HTTP Errors
    36. Step 36: Global Error Handler
    37. Step 37: Middleware
    38. Step 38: CORS
    39. Step 39: Helmet
    40. Step 40: Deploy
  13. Roster API
    ❱
    1. Step 1: Starter
    2. Step 2: Source
    3. Step 3: Tests
    4. Step 4: Add password
    5. Step 5: Hash password
    6. Step 6: Update UserDao
    7. Step 7: Test UserDao
    8. Step 8: Update users route
    9. Step 9: Test users route
    10. Step 10: Authentication
    11. Step 11: Add auth.js
    12. Step 12: JWT
    13. Step 13: Add auth.test.js
    14. Step 14: Add a role
    15. Step 15: Update UserDao
    16. Step 16: Test UserDao
    17. Step 17: Update users route
    18. Step 18: Authorization
    19. Step 19: Update users route
    20. Step 20: Test users route
  14. Readings
  15. HTML
  16. CSS
  17. Git & GitHub
  18. JavaScript History
  19. JavaScript Basics
    ❱
    1. Variables
    2. Syntax
    3. Types
    4. Strings
    5. Numbers
    6. Arithmetics
    7. Math
    8. Objects
    9. Array
    10. Date
  20. JavaScript Control Flow
    ❱
    1. Equality Operators
    2. Comparison Operators
    3. Logical Operators
    4. Boolean-ish
    5. if statement
    6. switch statement
    7. Loops
    8. Enhanced Loops
  21. JavaScript Functions
    ❱
    1. Defining Functions
    2. Function Expression
    3. Arrow Functions
    4. Hoisting
    5. Arguments
    6. Function Scoping
    7. Inner Functions
    8. Functional Encapsulation
    9. Closures
    10. Mimic OOP
    11. Functions are Objects
    12. Methods
    13. Function Context
  22. OOP in JavaScript
    ❱
    1. Class Syntax
    2. Instantiate Classes
    3. Dot operator
    4. The this keyword
    5. this keyword, again!
    6. Information Hiding
    7. Setters & Getters
    8. Static Fields & Methods
    9. Inheritance
    10. Polymorphism
    11. Class Expression
  23. RESTful APIs
    ❱
    1. What is API?
    2. What is HTTP?
    3. What is CRUD?
    4. Client-Server Architecture
    5. What is REST?
    6. JHU Class Search
    7. Course Search API
  24. Asynchronous Patterns
    ❱
    1. Some Things Take Time!
    2. Not All Tasks Created Equal!
    3. Asynchronous Programming
    4. Understanding Async Operations
    5. Patterns for Dealing with Async Code
    6. Callback
    7. Callback Hell!
    8. Promises
    9. Replacing Callbacks with Promises
    10. Promises Exercise
    11. Chaining Promises
    12. Async & Await
    13. Putting it all together!
  25. JavaScript Modules
    ❱
    1. IFEE Revisited!
    2. An ES6 Module is just a file!
    3. Exporting
    4. Importing
    5. Module does not create a type!
    6. Default Export/Import
    7. Before ES6 Modules
  26. React
    ❱
    1. Create React App
    2. React Component
    3. Thinking in Components
    4. React Element
    5. JSX Rules
    6. Props
    7. State
    8. The nuances of useState
    9. React Hooks
    10. The useEffect Hook
    11. React Data Flow
    12. State Management
    13. Styling
  27. React Router
  28. Node & Express
    ❱
    1. Before NodeJS
    2. Node Runtime
    3. CommonJS
    4. ES6
    5. Node Modules
    6. HTTP Module
    7. Express
  29. MongoDB
    ❱
    1. Atlas
    2. Cluster
    3. Security
    4. Connect
    5. Mongoose
    6. Mongoose Schema
    7. Mongoose Model

Full-Stack JavaScript

Putting it all together!