Un SaaS TypeScript prêt pour la prod, clé en main.
- Dernière mise à jour
- —
- 30 derniers jours
- 0 commit
- Licence
- Commerciale
Fonctionnalités
Les capacités qui font de ce projet un starter pour la production, pas un tutoriel.
Auth + RBAC clés en main
Better Auth avec email/mot de passe, OAuth, 2FA et un plugin organisation. Les rôles sont appliqués au niveau du middleware oRPC, donc chaque requête multi-tenant filtre automatiquement par organizationId.
Hexagonal par domaine
Chaque domaine métier est son propre package avec les couches domain / application / infrastructure. L'interface (routes oRPC, workflows Temporal) vit dans l'app qui consomme — le code du domaine reste portable.
Des workflows qui ne perdent pas de données
Temporal gère l'exécution durable, les retries et le replay. Les Activities appellent les mêmes use cases basés sur Effect que tes routes — un seul runtime, deux adaptateurs.
Persistance Postgres-first
Schéma Prisma avec les tables Better Auth, miroir des abonnements Stripe, journal d'audit, endpoints de webhooks. Un seul conteneur Postgres héberge toutes les bases de données dont la stack a besoin.
Webhooks sortants
Endpoints par organisation avec payloads signés HMAC. Les use cases émettent des évènements ; la livraison est best-effort avec des politiques de retry déclarées au niveau du workflow.
Garde-fous de sécurité par défaut
TypeScript strict, Zod à chaque frontière, contrats oRPC avec erreurs typées, rate limiting sur l'auth, helper de journal d'audit, headers façon OWASP. Fail fast sur les configs manquantes.
Observabilité incluse
OpenTelemetry sur api, worker et web. otel-collector self-hosted dans compose ; remplace l'exporter par ton backend quand tu en as un.
Déploie partout où compose tourne
Un Dockerfile multi-stage construit les images api, worker, web et migrate. Le même compose.yml pilote dev, CI et prod via les profiles. Dokploy est l'hébergeur recommandé ; rien ne t'enferme.
Tarifs
Paiement unique. Code source complet. Sans abonnement, sans verrouillage par siège.
one-time, no future updates
- MIT-licensed for your single project
- Full source — every workspace, every gate
- Source-available updates for 30 days
- Discord channel for fellow buyers
one-time, every future update
- Unlimited projects
- Every future update — new locales, new domains, new gates
- Priority issue triage on the public tracker
- Discord with direct access to the maintainer
scoped to your team
- Everything in Lifetime
- Onboarding session for your team
- Architecture review of your fork
- Hourly or retainer billing