Adrien Guillon
Terminé
·LaravelVue.jsInertia.jsMySQL

Resa : SaaS Réservation

Application SaaS Laravel 11 permettant à des professionnels de proposer un portail de réservation en ligne avec isolation des données par tenant, facturation Stripe et dashboard admin.

Laravel 11
Backend
Vue 3
Frontend
Oui
Multi-tenant
Stripe
Paiement

Problème

Les professionnels indépendants (cabinets, cliniques) ont besoin d'un système de prise de rendez-vous en ligne sans gérer d'infrastructure. Chaque client doit avoir son propre sous-domaine avec isolation complète des données.

Solution

Architecture multi-tenants single-database avec isolation par Global Scope Eloquent. Chaque tenant dispose de son sous-domaine, tableau de bord, et portail de réservation public. Facturation via Laravel Cashier (Stripe), queues Redis pour les notifications.

Architecture

Routage sous-domaine : {tenant}.app.localhost
Multi-tenancy : Global Scope Eloquent + tenant_id
Laravel 11 : API + controllers + middleware
Vue 3 + Inertia.js : SPA côté client
MySQL 8 : base de données partagée
Redis 7 : cache, sessions, queues
Stripe : facturation via Laravel Cashier

Multi-tenancy

Pattern Single Database : toutes les données cohabitent dans la même base, isolées par tenant_id via un Global Scope Eloquent. Chaque sous-domaine est résolu dynamiquement dans AppServiceProvider.

Facturation Stripe

Intégration Laravel Cashier pour la gestion des abonnements, périodes d'essai, et webhooks Stripe. Chaque tenant peut gérer son plan depuis le tableau de bord.

Stack complète

LaravelVue.jsInertia.jsMySQLRedisStripeDockerTypeScript