Lucia Starter

screenshot of Lucia Starter
svelte
vite
tailwind
bits-ui
drizzle-orm

Minimal starter project for Sveltekit using Lucia for authentication

Overview

The SvelteKit + Lucia starter project is an excellent foundation for developers looking to implement authentication in their web applications. This minimal starter project provides essential authentication functionalities, allowing you to focus on enhancing core features without getting bogged down by complex setups. Whether you're building a small app or a larger full-fledged project, this starter kit aims to streamline the development process right from the start.

Equipped with various components and essential pages, this starter project sets up basic authentication mechanisms, including both email-password verification and OAuth options through popular platforms like Google and GitHub. With easy-to-follow setup instructions and built-in database compatibility, it lays down a solid groundwork for further customization and development.

Features

  • Email - Password Authentication: Easily implement standard authentication with email and password, complete with verification codes and rate limiting to secure user accounts.
  • OAuth Support: Quickly integrate Google and GitHub OAuth for smooth user login experiences and to streamline account creation.
  • Authentication Modals: Pre-built modals allow for user-friendly login and signup processes without the need to design them from scratch.
  • Account Linking: Facilitate the linking of multiple authentication methods to a single user account, improving flexibility for users.
  • Integration with Shadcn-svelte & Superforms: Leverage powerful UI components and forms that enhance user interaction with minimal effort.
  • Turso DB + Drizzle ORM: Use this default database setup or swap with your preferred database while adhering to the easy-to-follow Drizzle documentation.
  • Local Database Setup: Incredibly easy to set up a local database with straightforward instructions, ensuring quick project initiation.
  • Production Build Tools: Preview your app's production build effortlessly and prepare for deployment with the necessary adaptations required for different environments.
svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

bits-ui
Bits UI

Bits UI is a headless component library for Svelte that provides unstyled, accessible UI primitives. It powers shadcn-svelte and offers a foundation for building custom component libraries with full accessibility support in the Svelte ecosystem.

drizzle-orm
Drizzle ORM

Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind. It comes with a drizzle-kit CLI companion for automatic SQL migrations generation. Drizzle ORM is meant to be a library, not a framework. It stays as an opt-in solution all the time at any levels.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

zod
Zod

Zod is a TypeScript-first schema declaration and validation library. It allows you to define schemas that can validate data at runtime while providing excellent TypeScript inference, making it perfect for API validation, form validation, and type-safe data handling.