A demonstration using Nuxt with server-side rendering on the edge, authentication and database querying using Cloudflare D1.
This demo is a fork of atidone but using Passkeys for authentication with nuxt-auth-utils.
- Server-Side Rendering on the Edge
- Passkeys authentication backed-in using nuxt-auth-utils
- Leverage Cloudflare D1 as database and drizzle ORM using
hubDatabase()
- User interface made with Nuxt UI
- Embed Drizzle Studio in the Nuxt DevTools
https://todo-passkeys.nuxt.dev
Make sure to install the dependencies using pnpm:
pnpm i
To create sealed sessions, you also need to add NUXT_SESSION_PASSWORD
in the .env
with at least 32 characters:
NUXT_SESSION_PASSWORD="your-super-long-secret-for-session-encryption"
If you don't specify it, one will be generated for you.
Start the development server on http://localhost:3000
npm run dev
In the Nuxt DevTools, you can see your tables by clicking on the Hub Database tab:
drizzle-meets-nuxt-devtools.mp4
You can deploy this project on your Cloudflare account for free and with zero configuration using NuxtHub.
npx nuxthub deploy
It's also possible to leverage Cloudflare Pages CI for deploying, learn more about the different options on https://hub.nuxt.com/docs/getting-started/deploy
Once you deployed your project, you can connect to your remote database locally running:
pnpm dev --remote
Learn more about remote storage on https://hub.nuxt.com/docs/getting-started/remote-storage