Skip to content
/ nuxt-todos-edge Public template
forked from atinux/atidone

Atinux's nuxt-todos-edge, but with Prisma

License

Notifications You must be signed in to change notification settings

Teages/nuxt-todos-edge

 
 

Repository files navigation

Nuxt Todo List on the Edge

A demonstration using Nuxt with server-side rendering on the edge, authentication and database querying using Cloudflare D1.

Features

Live demo

https://todos.nuxt.dev

nuxt-todos-edge-demo.mp4

Setup

Make sure to install the dependencies using pnpm:

pnpm i

Create a GitHub Oauth Application with:

  • Homepage url: http://localhost:3000
  • Callback url: http://localhost:3000/api/auth/github

Add the variables in the .env file:

NUXT_OAUTH_GITHUB_CLIENT_ID="my-github-oauth-app-id"
NUXT_OAUTH_GITHUB_CLIENT_SECRET="my-github-oauth-app-secret"

To create sealed sessions, you also need to add NUXT_SESSION_SECRET in the .env with at least 32 characters:

NUXT_SESSION_SECRET="your-super-long-secret-for-session-encryption"

Development

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

Deploy

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

Remote Storage

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

Notice

Prisma is still in beta for Cloudflare D1, and it doesn't support migrations yet. So you need create the migrations manually.

License

MIT License

About

Atinux's nuxt-todos-edge, but with Prisma

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 54.0%
  • Vue 45.2%
  • JavaScript 0.8%