Une fondation Next.js + AWS. Auth, facturation, i18n et infra déjà câblées.
Google Lighthouse
Performance
Accessibilité
Bonnes pratiques
SEO
Pages marketing
app/(front-pages)Surfaces marketing routées avec bascule de locale.
Connexion & auth
app/[lang]/loginConnexion, reset de mot de passe, écrans de compte.
Layout dashboard
app/(dashboard)Un vrai segment `(dashboard)` protégé avec sidebar.
Légal & cookies
app/(legal)Conditions, confidentialité, cookies, sitemap, robots.
Pools Cognito
amplify/auth · CognitoConnexion email + mot de passe définie en code.
Routes protégées
middleware.tsBoundary auth imposée par le middleware.
Emails auth personnalisés
auth/customMessageTemplates vérification, invitation et reset.
Triggers post-confirmation
auth/postConfirmationHook Lambda qui s'exécute après inscription.
Checkout Stripe
functions/stripe-*Sessions, changements de plan, webhooks.
Checkout Paddle
functions/paddle-*Même surface avec Merchant of Record par-dessus.
Handlers webhook
functions/*-webhookIntake agnostique au provider.
Couche d'entitlements
server/billing · entitlementsSource de vérité unique pour les droits de chaque plan.
Amplify Gen 2
amplify/backend.ts · Gen 2Backend défini en TypeScript.
Fonctions Lambda
amplify/functions · LambdaHandlers facturation, email, routage API.
DynamoDB
amplify/data · DynamoDBPatterns single-table, queries typées.
Stockage S3
amplify/storage · S3Buckets définis en code.
Email transactionnel SES
amplify/functions/email-* · SESTemplates, envoi, gestion des bounces.
Routing par locale URL
i18n/routingSegments `[lang]` avec helpers de liens typés.
3 locales · EN/FR/AR
i18n/messages · EN/FR/ARMarketing, dashboard, auth traduits, avec RTL.
Metadata JSON-LD
lib/seo · JSON-LDDonnées structurées au niveau page.
Sitemap & robots
app/sitemap.xml · robots.txtGénérés au build avec variantes locales.
Système MUI v9
theme/ · MUI v9Theming basé sur tokens, couche surface custom.
Utilitaires Tailwind
tailwind.configHelpers layout aux côtés de MUI.
Mode clair/sombre
theme/colorSchemesBascule du color scheme stockée en cookie.
Page theme showcase
theme-showcaseUne route `/theme-showcase` live.
Docs d'installation
docs/Guides pas-à-pas dans `/docs`.
CLAUDE.md (règles maison)
CLAUDE.mdComment étendre la codebase sans risque.
.cursor/rules
.cursor/rulesRègles de workflow pour les agents IA.
Authentification
Connexion Cognito. Routes protégées.
Authentification
Les screenshots finaux arrivent bientôt. Inspectez l'UI fonctionnelle dans la démo.
Ouvrir dans la démosrc/├─ app/[lang]/ # App Router · per-locale routes│ ├─ (front-pages)/ # marketing · no auth in bundle│ ├─ (dashboard)/ # gated app surfaces│ └─ (legal)/ # policies, sitemap, robots├─ components/ # ui · features · layout├─ lib/ # billing · seo · email · cookies├─ server/ # auth · billing · entitlements├─ i18n/ # typed namespaces · en/fr/ar · RTL├─ configs/ # billing · theme · navigation└─ theme/ # MUI tokens · Tailwind utilities amplify/ # Cognito · data · functions (CDK)├─ auth/ # Cognito + triggers├─ data/ # DynamoDB + access patterns├─ functions/ # Lambdas: Stripe + Paddle + email└─ storage/ # S3 buckets docs/ # 8 written guidesCLAUDE.md # house rules for AI iteration.cursor/rules/ # workflow rules · always-applied
Flows auth + intégration Cognito
1 à 2 semaines
Câblé
Facturation Stripe + Paddle + webhooks
2 à 3 semaines
Câblé
Bootstrap AWS (Amplify + CDK)
1 à 2 semaines
Câblé
Entitlements + changements de plan
≈ 1 semaine
Câblé
i18n + RTL + metadata SEO
1 à 2 semaines
Câblé
Système de thème + dark mode
≈ 1 semaine
Câblé
Email transactionnel (SES + templates + bounces)
3 à 5 jours
Câblé
Conventions IA + règles repo + docs
quelques jours
Câblé
Reconstruction évitée
≈ 8 à 12 semaines
Features dès le premier jour
Next.js 15
React 19
TypeScript
MUI v9
Tailwind
AWS Amplify Gen 2
Lambda
Cognito
DynamoDB
S3
SES
Stripe
Paddle
pnpm
ESLint
Prettier
providers de facturation · Stripe + Paddle
locales · EN · FR · AR avec RTL
de mises à jour incluses
score Lighthouse
C'est un boilerplate, mais conçu pour un autre objectif. La plupart des starters optimisent la première démo ; CleanFrame optimise la dixième fonctionnalité — un seul jeu de conventions, des types stricts et un placement documenté, pour que le code reste lisible en grandissant.
Ce sont d'excellents choix pour lancer un SaaS vite, souvent autour d'une stack précise. CleanFrame vise un autre acheteur : freelances et studios qui livrent des apps B2B sérieuses sur Next.js + AWS, où la maintenabilité sur de nombreuses fonctionnalités compte plus qu'un lancement en cinq minutes. Choisissez celui qui correspond à votre façon de livrer.
Non. Les décisions AWS — Amplify Hosting, ressources CDK, Cognito, cache — sont déjà prises et câblées. Vous livrez dessus et apprenez les pièces nécessaires au fur et à mesure. Une connaissance plus poussée d'AWS aide plus tard, mais n'est pas requise pour livrer.
Oui. Les fournisseurs de facturation sont derrière une seule interface et activés par feature flags. Utilisez Stripe seul, Paddle seul, les deux, ou retirez la facturation entièrement — le reste de l'app ne dépend pas d'un fournisseur précis.
Un siège, le code source complet, l'usage commercial pour vos propres produits, le travail client pour un développeur solo, des projets personnels illimités, 12 mois de mises à jour, un support standard, et un accès à vie à la version achetée.
Jusqu'à cinq sièges, le code source complet, des projets clients illimités, le travail client commercial, des droits de réutilisation entre projets clients, 12 mois de mises à jour, un support prioritaire, et un accès à vie à la version achetée.
Votre licence n'expire pas. Vous gardez un accès à vie à tout ce qui a été publié pendant votre fenêtre de mises à jour, et l'app continue de fonctionner. Après 12 mois, vous cessez simplement de recevoir de nouvelles mises à jour — un renouvellement peut être proposé, mais rien de ce que vous avez déjà n'est retiré.
Un snapshot taggé du dépôt à la version que vous achetez, plus 12 mois de mises à jour ultérieures. Les modalités finales de livraison sont confirmées à la commande ; pendant l'accès anticipé, le scope est défini manuellement via /contact.
Oui. Solo couvre le travail client pour un développeur seul ; Studio couvre des projets clients illimités au sein d'une équipe, avec des droits de réutilisation entre projets. Voir les niveaux de licence pour les termes exacts.
Comme il s'agit d'un produit de code source, les achats sont définitifs une fois l'accès au dépôt accordé — pas de garantie satisfait-ou-remboursé générale. Avant d'acheter, inspectez la démo en ligne, le walkthrough, les docs et la liste des fonctionnalités, et posez toute question avant-vente. Les cas exceptionnels peuvent être examinés manuellement à notre discrétion.

Je suis ingénieur full-stack avec une dizaine d'années à construire des apps B2B sur Next.js et AWS — portails clients, dashboards et outils internes qui doivent tenir en production, pas seulement en démo.
J'ai créé CleanFrame pour la partie que tout le monde sous-estime : garder un code propre quand les fonctionnalités, les délais et les modifications assistées par IA s'accumulent. C'est la base que je voulais sur chaque livraison.
Le code source complet. Les conventions. La voie AWS. Une seule licence.
Obtenir CleanFrame