Overview
Build a complete Todo application with Thunder - models, a validated API, and a static frontend.
This guide walks you through building a complete Todo application with Thunder, from an empty project to a working API with a static frontend. By the end you'll have touched every core concept: file-based routing, Zod-validated models, the createCRUD helper, pagination, and serving a single-page app.
What You'll Build
A small but complete app that lets users:
- Create, read, update, and delete todos
- Paginate through their todo list
- Use a static HTML/JS frontend served directly by Thunder
Final Project Structure
index.ts
todos.ts
.env
deno.json
Steps
1. Setup
Clone, initialize, and run the project.
2. Models
Define the Todo schema with Zod.
3. API
Build the validated CRUD endpoints.
4. Frontend
Serve a static SPA from Thunder.
New to Thunder? Skim the Getting Started guide first - this example assumes you have Deno installed.