Free course

Web APIs Course

Design and build a production-shaped TypeScript API with Hono, SQLite, validation, OpenAPI, consistent errors, security boundaries, tests, and operational logs.

5 modules · 25 lessons · No signup

Prerequisites: TypeScript, Node.js, HTTP and SQLite

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build, document, test, secure, and prepare a resource-oriented Books API for a compatible production release.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. API foundations

    Design the contract, start Hono on Node.js, return JSON, and inspect HTTP exchanges.

    1. Design the Books API
    2. Create a Hono Node project
    3. Return the first resource
    4. Inspect requests and responses
    5. Check your understanding: api foundations
  2. Routes and errors

    Read parameters, create and change resources, and return consistent problem responses.

    1. Read path and query parameters
    2. Create resources with POST
    3. Update and delete resources
    4. Standardize API errors
    5. Check your understanding: routes and errors
  3. Validation and data

    Validate runtime input, persist SQLite data, bind SQL values, and paginate collections.

    1. Validate unknown input
    2. Design the SQLite schema
    3. Write parameterized queries
    4. Paginate, filter, and sort
    5. Check your understanding: validation and data
  4. Contracts and security

    Describe OpenAPI, configure CORS, place auth boundaries, and handle retries and abuse.

    1. Describe the API with OpenAPI
    2. Configure CORS deliberately
    3. Place the authentication boundary
    4. Handle retries and abuse
    5. Check your understanding: contracts and security
  5. Test and ship

    Test handlers and data, add safe observability, and prepare a compatible release.

    1. Test handlers with requests
    2. Add database integration tests
    3. Add request IDs and structured logs
    4. Prepare a compatible release
    5. Check your understanding: test and ship