Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A collaborative todo-list app built with Nuxt and Deno KV, with real-time updates via Deno KV Watch and Server-Sent Events.
Nuxt with Deno KV is a boilerplate template that builds a collaborative todo-list app by combining Nuxt, Deno Deploy, and Deno KV.
Nuxt with Deno KV is a full-stack Nuxt application that demonstrates server-side rendering on the edge via Deno Deploy, using Deno KV as the database layer. The app is a collaborative todo list that updates in real time for all connected clients. It exposes a useKv() hook for easy access to Deno KV, and the UI is built with Nuxt UI and Nuxt UI Pro. The project is published under the MIT License.
useKv() hook — a composable that wraps Deno KV for use directly inside Nuxt components and server routes..github/workflows/deploy.yml) deploys the app to Deno Deploy automatically.NUXT_UI_PRO_LICENSE secret in your repository or remove @nuxt/ui-pro from dependencies and nuxt.config.ts to avoid the paid component license.After cloning the repository, install dependencies with pnpm i, then run npm run dev to start the development server at http://localhost:3000. For production, commit to GitHub and let the included Actions workflow build and deploy the app to Deno Deploy; if you keep Nuxt UI Pro, store the license key in the NUXT_UI_PRO_LICENSE secret.
The project source is MIT-licensed, so you can freely use and modify the code. However, the default setup includes Nuxt UI Pro, which is a paid product; you can either purchase a license or remove the @nuxt/ui-pro dependency and its config to avoid that cost.
Deno KV is a key-value database built into the Deno runtime and hosted on Deno Deploy. It stores the todo list items in this template, and can be accessed through the exposed useKv() hook.
The app integrates Deno KV Watch, which triggers callbacks when data changes, and sends those updates to the browser using Server-Sent Events. That's what keeps every connected client's todo list in sync.
No — the template is specifically wired to Deno KV. You'd need to replace the useKv() implementation and server logic to back the app with another database like Postgres or SQLite.
