1. Getting Things Done in Next.js
  2. Introduction
  3. A Brief Introduction to JavaScript
    1. Hello World
    2. Primitive Data Types
    3. Arrays and Objects
    4. Control Flow
    5. Functions
    6. Classes
    7. Error Handling
    8. Basic Data Structures
    9. Functional Thinking
    10. Asynchronous Programming
    11. Modules
    12. Packages
    13. Writing Decent Code
    14. Tips for Larger Projects
  4. Leveling Up with TypeScript
    1. Why TypeScript?
    2. Basic Types
    3. Annotating Functions
    4. Union Types
    5. Generics
    6. Configuring TypeScript
  5. Networking Fundamentals
    1. IPs, Ports and Domains
    2. An HTTP Primer
    3. More on HTTP
    4. Servers and Clients
  6. Persistence with SQL
    1. Setup
    2. Data Types and Constraints
    3. Inserting, Updating and Deleting Data
    4. Selecting Data
    5. Modifying Tables
    6. Working with Multiple Tables
  7. Typesafe SQL with Drizzle
    1. Setup
    2. Inserting, Updating and Deleting Data
    3. Selecting Data
    4. Multiple Tables
    5. Migrations
  8. A Vanilla Client
    1. Hypertext Markup Language
    2. Marking Up Text
    3. Hyperlinks and Images
    4. The Document Object Model
    5. Events
    6. Web Forms
    7. A Simple Client
  9. Adding Style with CSS
    1. Using CSS
    2. CSS Selectors
    3. Basic Styles
    4. The Box Model
    5. The Flexbox
  10. Adding Even More Style with Tailwind CSS
    1. Setup
    2. Typography Utilities
    3. Background Utilities
    4. Size Utilities
    5. Border Utilities
    6. Spacing Utilities
    7. Flexbox
  11. Adding Spice with React
    1. React Components
    2. React State
    3. React Effects
  12. The Project (CSR)
  13. Moving to the Server with Next.js
    1. Setup
    2. Pages and Layouts
    3. More on Routes
    4. Server and Client Components
  14. The Project (SSR)
    1. Setup
    2. The Projects Page
    3. Task Page
    4. Deployment