svelte-turso-drizzle

Svelte Turso Drizzle

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

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.

Top categories

svelte logo

Want a Svelte site built?

Hire a Svelte developer
Loading Svelte Themes