Sveltekit-prisma-betterauth-shadcn-typescript Svelte Themes

Sveltekit Prisma Betterauth Shadcn Typescript

Template SvelteKit avec Authentification

Une template moderne pour construire des applications web avec SvelteKit, incluant l'authentification, la gestion des utilisateurs, et une interface utilisateur élégante.

🚀 Technologies Utilisées

  • Framework: SvelteKit - Framework full-stack pour Svelte
  • Base de données: SQLite avec Prisma comme ORM
  • Authentification: Better Auth - Solution d'authentification complète
  • UI: Tailwind CSS + shadcn-svelte (basé sur Bits UI)
  • Internationalisation: Paraglide pour la gestion des langues
  • Langage: TypeScript
  • Outil de build: Vite

📋 Prérequis

🛠️ Installation

  1. Cloner le repository:

    git clone <url-du-repo>
    cd bistrea
    
  2. Installer les dépendances:

    bun install
    
  3. Configurer la base de données:

    # Générer le client Prisma
    bunx prisma generate
    
    # Appliquer les migrations à la base de données
    bunx prisma db push
    

🚀 Lancement en Mode Développement

Pour démarrer le serveur de développement :

bun dev

Le serveur sera accessible sur http://localhost:5173.

Options supplémentaires

  • Ouvrir automatiquement dans le navigateur :
    bun dev -- --open
    

📜 Scripts Disponibles

Voici tous les scripts Bun disponibles :

  • bun dev - Lance le serveur de développement
  • bun build - Construit l'application pour la production
  • bun preview - Prévisualise la version de production localement
  • bun check - Vérifie les types TypeScript et la syntaxe Svelte
  • bun check:watch - Vérifie en continu les types et la syntaxe
  • bun lint - Vérifie le formatage du code et les règles ESLint
  • bun format - Formate automatiquement le code avec Prettier

🔐 Authentification

L'application utilise Better Auth pour gérer :

  • Inscription/Connexion avec email et mot de passe
  • Sessions utilisateur
  • Protection des routes
  • Gestion des comptes OAuth (extensible)

Routes d'authentification

  • /auth/login - Page de connexion
  • /auth/register - Page d'inscription
  • /auth/logout - Déconnexion

🌐 Internationalisation (i18n)

Le projet supporte plusieurs langues grâce à Paraglide :

  • Messages dans messages/en.json et messages/fr.json
  • Configuration dans project.inlang/

🎨 Interface Utilisateur

  • Tailwind CSS pour le styling
  • shadcn-svelte pour les composants prêts à l'emploi (basé sur Bits UI)
  • Lucide Icons pour les icônes
  • Thème sombre/clair supporté

📊 Base de Données

Le schéma Prisma inclut :

  • User - Utilisateurs
  • Session - Sessions utilisateur
  • Account - Comptes liés (pour OAuth)
  • Verification - Tokens de vérification

�️ Prisma - Gestion de la Base de Données

Prisma est utilisé comme ORM pour interagir avec la base de données SQLite. Voici les commandes et workflows principaux :

Commandes Utiles

# Générer le client Prisma (à faire après chaque modification de schema.prisma)
bunx prisma generate

# Appliquer les migrations à la base de données
bunx prisma db push

# Créer une nouvelle migration (si vous modifiez le schéma manuellement)
bunx prisma migrate dev --name "nom-de-la-migration"

# Voir l'état des migrations
bunx prisma migrate status

# Ouvrir Prisma Studio (interface graphique pour voir/modifier les données)
bunx prisma studio

# Valider le schéma Prisma
bunx prisma validate

# Formater le fichier schema.prisma
bunx prisma format

# Réinitialiser la base de données (ATTENTION: supprime toutes les données)
bunx prisma migrate reset --force

Développement avec Prisma

  1. Modifier le schéma : Éditez le fichier prisma/schema.prisma
  2. Générer le client : bunx prisma generate
  3. Appliquer les changements : bunx prisma db push (pour le développement rapide)
  4. Créer des migrations : bunx prisma migrate dev (pour la production)

Bonnes Pratiques

  • Utilisez prisma db push pendant le développement
  • Créez des migrations avec prisma migrate dev avant le déploiement
  • Vérifiez toujours les migrations avec prisma migrate status
  • Utilisez Prisma Studio pour inspecter et modifier les données pendant le développement

�🚀 Déploiement

  1. Construire l'application :

    bun build
    
  2. Prévisualiser la build :

    bun preview
    
  3. Déployer selon votre plateforme (Vercel, Netlify, etc.) en utilisant l'adapter approprié dans svelte.config.js.


Pour plus d'informations, consultez la documentation SvelteKit.

Top categories

Loading Svelte Themes