Skip to content

A website which uses Auth.js to authenticate users using OAuth and store their data in turso.

Notifications You must be signed in to change notification settings

LightningFryer/svelte-turso-drizzle

Repository files navigation

Stack used

  • SvelteKit
  • Turso (Using SQLite basically)
  • Auth.js
  • Drizzle ORM
  • Tailwind CSS + Daisyui

Important documentation

Turso + Drizzle initialization

https://orm.drizzle.team/learn/tutorials/drizzle-with-turso
https://docs.turso.tech/sdk/ts/orm/drizzle

Auth.js

https://authjs.dev/getting-started/authentication/oauth
https://authjs.dev/getting-started/adapters/drizzle

Other important info

  • Use npx drizzle-kit push:sqlite for pushing changes to the turso database.
  • The Auth.js documentation tells you to import the turso db client function from the schema.ts file itself to use in auth.ts. This, in my opinion, is a bad idea. So I separated the client and the schema into 2 files namely db.ts for the client and schema.ts for the schema file. Then I just imported the db client function from db.ts instead.

create-svelte

Everything you need to build a Svelte project, powered by create-svelte.

Creating a project

If you're seeing this, you've probably already done this step. Congrats!

# create a new project in the current directory
npm create svelte@latest

# create a new project in my-app
npm create svelte@latest my-app

Developing

Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:

npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of your app:

npm run build

You can preview the production build with npm run preview.

To deploy your app, you may need to install an adapter for your target environment.

About

A website which uses Auth.js to authenticate users using OAuth and store their data in turso.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published