Documentation
StartFast Pro
StartFast Pro est un template premium Next.js 15 prêt pour la production avec authentification, paiements, équipes, i18n, analytiques, blog et un système UI propre — tout préconfiguré.
Cette documentation vous aidera à démarrer rapidement et à personnaliser StartFast Pro pour votre produit SaaS.
Ce que vous obtenez
- •Next.js 15 App Router avec React 19 et composants serveur
- •Authentification avec Better Auth (Email, Google, GitHub OAuth)
- •Base de données PostgreSQL avec Drizzle ORM
- •Paiements Stripe avec abonnements et webhooks
- •Envoi d'emails via Resend
- •Internationalisation avec next-intl (7 langues)
- •Équipes et RBAC avec organisations, rôles et permissions
- •Analytiques avec intégration PostHog
- •Système de blog avec Markdown, SEO et temps de lecture
- •Tableau de bord admin pour utilisateurs, commandes, analytiques et contenu
- •Tests E2E avec Playwright
- •TypeScript avec sécurité des types de bout en bout
Démarrage rapide
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run devOuvrir http://localhost:3000
Variables d'environnement
Copiez .env.example vers .env.local et configurez :
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=StartFast Pro
# Database (Postgres)
DATABASE_URL=postgresql://username:password@localhost:5432/startfast_pro
# Authentication (Better-Auth)
BETTER_AUTH_SECRET=your-secret-key-at-least-32-characters
BETTER_AUTH_URL=http://localhost:3000
# Email (Resend)
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com
# Stripe
STRIPE_SECRET_KEY=sk_test_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxxx
# Optional: Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional: GitHub OAuth
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# Analytics (PostHog)
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com
# Default Locale
NEXT_PUBLIC_DEFAULT_LOCALE=enConfiguration de la base de données
StartFast Pro utilise PostgreSQL avec Drizzle ORM. Nous recommandons Neon pour PostgreSQL serverless.
- 1.Créer une base de données PostgreSQL (locale ou Neon)
- 2.Configurer DATABASE_URL dans votre .env.local
- 3.Exécuter npm run db:push pour pousser le schéma vers la base de données
- 4.Utiliser npm run db:studio pour voir/éditer les données avec Drizzle Studio
- 5.Utiliser npm run db:generate pour générer les migrations
Schema: Le schéma de la base de données est défini dans src/db/schema.ts en utilisant l'approche TypeScript-first de Drizzle. Le client DB est exporté depuis src/db/index.ts.
Authentification
StartFast Pro utilise Better Auth avec l'adaptateur Drizzle pour l'authentification. Supporte email/mot de passe et OAuth social.
- 1.Configurer BETTER_AUTH_SECRET (au moins 32 caractères)
- 2.Configurer BETTER_AUTH_URL avec l'URL de votre app
- 3.(Optionnel) Configurer Google OAuth : GOOGLE_CLIENT_ID et GOOGLE_CLIENT_SECRET
- 4.(Optionnel) Configurer GitHub OAuth : GITHUB_CLIENT_ID et GITHUB_CLIENT_SECRET
Tip: La config d'auth est dans src/lib/auth.ts (serveur) et src/lib/auth-client.ts (client). Les sessions expirent après 7 jours par défaut.
Paiements Stripe
StartFast Pro supporte les abonnements Stripe avec gestion des webhooks.
- 1.Obtenir vos clés API depuis Stripe Dashboard → API Keys
- 2.Configurer STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
- 3.Créer un endpoint webhook à https://your-domain.com/api/webhook/stripe
- 4.Copier le secret de signature du webhook dans STRIPE_WEBHOOK_SECRET
Tip: Pour les tests locaux, utilisez stripe listen --forward-to localhost:3000/api/webhook/stripe
Configuration email
StartFast Pro utilise Resend pour les emails transactionnels.
- 1.Créer un compte Resend
- 2.Obtenir votre clé API et configurer RESEND_API_KEY
- 3.Configurer EMAIL_FROM avec votre adresse d'expéditeur vérifiée
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.comInternationalisation
StartFast Pro inclut le support multi-langues via next-intl avec 7 langues intégrées.
- • Anglais (en)
- • Chinois (zh)
- • Japonais (ja)
- • Coréen (ko)
- • Allemand (de)
- • Français (fr)
- • Espagnol (es)
Les fichiers de traduction sont dans src/i18n/messages/. Configurez la locale par défaut avec :
NEXT_PUBLIC_DEFAULT_LOCALE=enAnalytiques
StartFast Pro s'intègre avec PostHog pour les analytiques produit. Des traqueurs d'événements préconfigurés sont inclus pour les inscriptions, abonnements, actions d'équipe et plus.
- 1.Créer un compte PostHog
- 2.Configurer NEXT_PUBLIC_POSTHOG_KEY et NEXT_PUBLIC_POSTHOG_HOST
Tip: Les helpers d'analytiques sont dans src/lib/analytics.ts. Utilisez analytics.signUp(), analytics.subscriptionStarted(), etc.
Équipes et rôles
StartFast Pro inclut un système complet d'organisation et de contrôle d'accès basé sur les rôles (RBAC).
Rôles
- • Propriétaire — Accès complet. Peut transférer la propriété.
- • Admin — Gérer les membres, paramètres et la plupart des ressources.
- • Membre — Créer et éditer du contenu. Accès limité aux paramètres.
- • Lecteur — Accès en lecture seule.
Tip: Les permissions sont définies dans src/lib/permissions.ts. Utilisez hasPermission(role, permission) pour vérifier l'accès.
Déploiement
Déployez sur Vercel en quelques minutes :
- 1.Poussez votre code sur GitHub
- 2.Importez le repo sur Vercel
- 3.Ajoutez toutes les variables d'environnement
- 4.Déployez !
Important: Après le déploiement, mettez à jour votre URL de webhook Stripe vers votre domaine de production.
Support
Besoin d'aide ? Contactez-nous :
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele