Back to templates

Template details

Next.js Turso Starter

Starter template for building a Next.js 15 app with Turso SQLite-over-HTTP and Drizzle ORM, including a Todo CRUD example.

About this template

Next.js Turso Starter is a boilerplate repository from the Turso database team for building a Next.js 15 application backed by Turso (SQLite over HTTP) and Drizzle ORM, shipped with a working Todo CRUD example.

What is Next.js Turso Starter?

Next.js Turso Starter is an open-source starter template that pairs a Next.js 15 front end with the Turso database and Drizzle ORM. It takes Turso database credentials as environment variables and produces a deployed-ready app whose example data layer is a Todo CRUD flow. The App Router, Server Actions, TypeScript and Tailwind CSS form the front-end stack, and the template is maintained in the tursodatabase GitHub organization, with a one-click Deploy with Vercel button provided for cloning it.

Key Features

  • Next.js 15 with App Router — the application uses the App Router routing model rather than the Pages Router.
  • Server Actions — data mutations are handled with Next.js Server Actions, avoiding hand-written API routes for the Todo operations.
  • Drizzle ORM — schema and queries are defined in TypeScript, with migrations generated from schema changes.
  • Turso Database — persistence runs on Turso, described in the deploy metadata as SQLite over HTTP.
  • Todo CRUD example — the template ships with a working create/read/update/delete Todo flow to demonstrate the stack.
  • TypeScript and Tailwind CSS — typed application code with utility-first styling out of the box.
  • Drizzle Studio — an npm run db:studio script opens Drizzle Studio for database management.
  • Migration scripts — db:generate, db:push and db:migrate cover the schema-to-database workflow.

Who is it for?

  • Next.js developers new to Turso: clone the repo, add TURSO_DATABASE_URL and TURSO_AUTH_TOKEN to a .env file, and have a connected SQLite-backed app running with minimal setup.
  • Teams evaluating Drizzle ORM: the bundled Todo CRUD flow shows schema definition, query generation and migrations in a small, readable codebase.
  • Developers who want a hosted SQLite setup: the Turso integration and Vercel deploy button give a path from local development to a deployed app without running a database server.

How does Next.js Turso Starter work?

Clone the repository, run npm install, copy .env.example to .env and fill in the Turso database URL and auth token, then run npm run db:generate and npm run db:push to create the schema. Finally, npm run dev starts the development server. Database changes are managed through the Drizzle scripts; db:push applies schema changes directly and the page advises using it with caution.

FAQ

Is Next.js Turso Starter free to use?

It is a public GitHub template repository with a Deploy with Vercel button, so the code itself is free to clone and deploy. Running it requires a Turso database, whose URL and auth token you supply via environment variables.

What database does the template use?

It uses Turso, described in the template's own metadata as SQLite over HTTP, accessed through Drizzle ORM. Connection details are read from TURSO_DATABASE_URL and TURSO_AUTH_TOKEN.

Screenshot of Next.js Turso Starter