Fondations backend (PRO)
Structure backend prête à la production, modélisation des données et fondations côté serveur pour de vraies applications SaaS.
Des fondations qui rendent le produit réelLien vers la section
Starter Free vous donne un surface SaaS frontale.
Starter Pro vous donne le structure backend, modèle de données et fondations côté serveur nécessaire pour produire un vrai produit.
C'est là que votre application cesse de se comporter comme une démo et commence à se comporter comme un système:
- réelle persistance
- Les vrais utilisateurs
- Propriété réelle
- État de facturation réel
- Règles réelles côté serveur
- Comportement réel du produit
Le backend est l’endroit où votre produit devient réel.
Paiement unique — Accès instantané après achat
Idée de base
Un SaaS n’est pas qu’un écran. Ce sont les données, les règles, la propriété, l'accès, l'état de facturation et les limites côté serveur.
Ce que cela résoutLien vers la section
Beaucoup de produits SaaS n’échouent pas parce que l’interface utilisateur est faible.
Ils échouent parce que le backend devient flou :
- La propriété des données est dupliquée
- auth et facturation ne sont pas connectés proprement
- règles d'accès fuite dans les composants
- La logique du produit est dispersée sur plusieurs pages
- Les décisions de schéma deviennent coûteuses à changer
- Les données simulées deviennent une logique de production fragile
Starter Pro vous donne une base structurée afin que le travail de backend puisse évoluer avec le produit au lieu de le ralentir.
Ce qui est inclusLien vers la section
Structure prête pour la base de données
Modèles côté serveur
Logique auth-consciente
Limites de facturation
Couches d'architectureLien vers la section
Les fondations du backend Starter Pro sont organisées autour de responsabilités claires.
Couche de données
- Fondements du schéma de Prisma
- Structure prête pour la migration
- accès dactylographié à la base de données
- auth et modèles de facturation
- futurs modèles de domaine
Couche d'application
- Logique du produit côté serveur
- Limites orientées domaine
- Opérations au niveau des fonctionnalités
- points de validation
- helpers backend réutilisable
Couche d'intégration
- auth context
- Contexte de facturation Stripe
- traitement webhook
- Limites des fournisseurs de messagerie
- intégration de livraison sécurisée
Couche d'accès
- Routes protégées
- contrôle de propriété
- accès selon l’offre
- limites d'administrateur et d'utilisateur
- Autorisations vérifiables par le serveur
Règle du système
Gardez les règles de produit proches du backend. L'interface utilisateur peut refléter l'accès, mais la logique sensible doit être vérifiable par le serveur.
Starter Free vs Starter ProLien vers la section
| Capacité | Starter Free | Starter Pro |
|---|---|---|
| Source des données | Faux | Base de données prête |
| Persistance | Non inclus | Fondation incluse |
| schéma Prisma | Non inclus | Fondation incluse |
| Propriété de l'utilisateur | Conceptuel | Auth-conscient |
| Accès facturation | Conceptuel | Facturation |
| Données protégées | Faux | Orienté serveur |
| Modèles côté serveur | Minimum | Orienté vers la production |
| Limites de domaine | Frontend-first | Prêt pour le backend |
| Meilleur cas d'utilisation | Valider UX | Construire des systèmes de produits launchables |
Une distinction simple
Starter Free vous donne la surface. Starter Pro vous donne le système en dessous.
ArchitectureLien vers la section
Responsabilités du modèle de donnéesLien vers la section
Un véritable backend SaaS a besoin de modèles qui représentent la couche métier, pas seulement les données de l’interface utilisateur.
Starter Pro est conçu autour de responsabilités telles que :
| Zone | Objet |
|---|---|
| Utilisateur | Identité, profil, propriété, sessions |
| Compte | Connexions fournisseur OAuth |
| Session | Sessions authentifiées actives |
| Client | Relation de facturation avec Stripe |
| Produit | Famille de produits ou de régimes vendables |
| Prix | Prix Stripe et plan commercial |
| Abonnement | Accès, statut, cycle de vie et renouvellements |
| Facture | Historique des paiements et état de facturation |
| WebhookEvent | Traitement fiable des événements |
| Modèles de domaine | Vos entités de produits réelles |
Pourquoi cela compte
Un backend SaaS n’est pas seulement un CRUD. C’est l’endroit où l’identité, les revenus, la propriété et le comportement des produits se rencontrent.
Exemple de fonctionnalitéLien vers la section
Une caractéristique comme Projects se comporte très différemment en fonction de la couche dorsale en dessous.
Fonction de type démo
- État simulé
- Fausse persistance
- Pas de règles de propriété
- Pas d'accès protégé
- Pas de comportement de facturation
Fonctionnalité prête pour le produit
- modèle de base de données
- Créer/mettre à jour/supprimer des flux
- Propriété de l'utilisateur
- Accès protégé
- Auth et points d'intégration de facturation
C'est la différence entre une fonctionnalité de démonstration et une fonctionnalité réelle.
Voie de mise en œuvreLien vers la section
Valider la fondation existanteLien vers la section
Avant d'ajouter votre logique de domaine, confirmez que l'authentification, la facturation, la configuration de la base de données et les flux de données d’exemple locales fonctionnent.
Définissez votre premier modèle de domaineLien vers la section
Ajoutez l'entité produit qui compte le plus à votre SaaS.
model Project {
id String @id @default(cuid())
name String
ownerId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}Ajouter des règles de propriétéLien vers la section
Connectez les données produit au modèle utilisateur, client ou organisation authentifié.
export function canAccessProject(projectOwnerId: string, userId: string) {
return projectOwnerId === userId;
}Conserver la logique du produit côté serveurLien vers la section
L'interface utilisateur doit appeler le flux de produit.
Il ne devrait pas avoir de règles sensibles.
Connecter la facturation si nécessaireLien vers la section
Si la fonctionnalité est payante ou dépend du plan, ajoutez des vérifications tenant compte du plan près de la limite du serveur.
Ce que vous évitez de construire vous-mêmeLien vers la section
Sans Starter Pro, vous devez généralement concevoir et câbler:
- base de données schéma fondations
- relations auth-to-user
- association des comptes aux clients Stripe
- Règles d'accès à l'abonnement
- comportement de la route protégée
- webhook état persistance
- Contrôles de propriété des produits
- règles d'accès de livraison
- patterns de séparation de domaine
C’est souvent long, facile à dupliquer et coûteux à refactoriser plus tard.
Règles du backendLien vers la section
Utilisez ces règles lors de l'extension du backend.
Préférez
- Limites de domaine claires
- Vérifications de propriété vérifiables par serveur
- Logique d'accès au plan centralisée
- modèles de base de données qui reflètent le comportement des produits
- backend helpers pour les règles répétées
Éviter
- mettre des règles d'accès uniquement dans l'interface utilisateur
- dupliquer les contrôles de propriété entre les composants
- mélange de la logique de facturation dans des fonctionnalités non liées
- traiter les données simulées comme les données de production
- ajouter des modèles de domaine sans règles d'accès
Guide de décisionLien vers la section
Utilisez Starter Pro lorsque la persistance devient réelle
- Vous avez besoin de données réelles
- Les faux états ne suffisent plus
- Les utilisateurs ont besoin de règles de propriété
- Le statut de facturation affecte l'accès au produit
- La structure du backend devient un bloqueur
- vous voulez moins d'incertitude architecturale avant le lancement
Restez en Free tout en validant UX
- vous êtes toujours en train de valider UX
- Les flux de produits ne sont pas encore stables
- La persistance n'est pas requise
- Le travail en backend ralentirait l’apprentissage
Mise à niveau lorsque la persistance devient réelle
Starter Free vous aide à valider la surface du produit. Starter Pro vous donne la base backend qui rend le produit launchable.
Liste de contrôle de productionLien vers la section
Avant de traiter le backend comme prêt au lancement, validez :
- Migrations de base de données
- Données sur les données d’exemple
- modèle d'utilisateur
- modèle de session
- association des comptes aux clients Stripe
- État de la souscription
- Gestion des événements webhook
- contrôle de propriété
- Accès aux données protégées
- logique d'accès selon l’offre
- Validation côté serveur
- gestion des erreurs
- variables d'environnement de déploiement
Principe de validation
Ne construisez pas de complexité de nouveau produit sur un backend non validé. Confirmez d'abord la fondation.
Questions courantesLien vers la section
Connectez les utilisateurs, la facturation, les données et les accès.
Paiement unique — Accès instantané après achat