1. Getting Things Done in Next.js
  2. Introduction
  3. Acknowledgments
  4. 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
  5. Leveling Up with TypeScript
    1. Why TypeScript?
    2. Basic Types
    3. Annotating Functions
    4. Union Types
    5. Generics
    6. Configuring TypeScript
  6. Networking Fundamentals
    1. IPs, Ports and Domains
    2. An HTTP Primer
    3. More on HTTP
  7. 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
  8. Typesafe SQL with Drizzle
    1. Setup
    2. Inserting, Updating and Deleting Data
    3. Selecting Data
    4. Multiple Tables
    5. Migrations
  9. 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
  10. Adding Spice with React
    1. React Components
    2. React State
    3. React Effects
  11. Moving to the Server with Next.js
    1. Setup
    2. Pages and Layouts
    3. More on Routes
    4. Server and Client Components
  12. Becoming Pretty with Tailwind CSS
    1. Setup
    2. Typography Utilities
    3. Background Utilities
    4. Size Utilities
    5. Border Utilities
    6. Spacing Utilities
    7. Flexbox
    8. Grid
  13. The Project
    1. Setup
    2. Authentication
    3. The Projects Page
    4. Task Page
    5. Deployment