Plateforme SaaS web complète pour les entreprises du BTP : CRM, devis, facturation, équipe, planning et tableaux de bord financiers en temps réel.

Le projet
StructiPro est une plateforme SaaS métier créée pour digitaliser les TPE/PME du bâtiment. Ces entreprises utilisaient jusqu'à 4 outils non connectés — Excel pour les devis, comptabilité séparée, WhatsApp pour l'équipe, tableur RH — ce qui générait des pertes de temps considérables et une vision financière floue de leur activité.
Nous avons construit une SPA React 18 + TypeScript avec Vite, Tailwind CSS et Ant Design, Zustand pour l'état global, Supabase pour le backend multi-tenant (PostgreSQL + RLS) et Stripe pour les abonnements SaaS avec portail self-service.

Fonctionnalités clés
CRM complet avec suivi des chantiers et historique client. Éditeur de devis et factures avec 4 templates PDF professionnels (Classique, Moderne, Wave, Allégé). Dashboard financier en temps réel : CA mensuel, rentabilité par chantier, trésorerie. Planning d'équipe avec FullCalendar, cartographie des chantiers via React Leaflet. Système d'abonnement SaaS avec 3 plans Stripe, PWA installable et mode offline via Workbox.
Stack technique
React 18 + Vite
SPA avec Concurrent Rendering pour des tableaux de bord fluides. Vite remplace Create React App : HMR instantané, bundling Rollup optimisé, builds de production 10× plus rapides.
TypeScript
Contrat de types strict entre composants, stores Zustand et requêtes Supabase. Les entités métier complexes (Situation de travaux, Retenue de garantie, Plan Stripe) sont validées à la compilation.
Tailwind CSS
Utility-first pour itérer rapidement sur l'UI. La config est partagée avec l'app mobile (NativeWind) : mêmes tokens de couleur et d'espacement, cohérence design garantie sans double maintenance.
Ant Design
Composants enterprise prêts à l'emploi pour un outil métier : tables triables/filtrables, formulaires complexes, date picker, modals. Personnalisés via Design Token pour respecter la charte graphique.
Zustand
Stores séparés par domaine (crm, devis, facturation, planning) avec persistance selective via middleware. Pas de boilerplate Redux ni de Context API — le store se consomme avec un hook en une ligne.
Supabase + PostgreSQL RLS
Architecture multi-tenant stricte : Row Level Security isole les données entre entreprises au niveau base de données. Edge Functions pour la logique serveur (calcul situations de travaux, retenues légales).
Stripe
3 plans SaaS avec portail self-service embarqué. Les webhooks déclenchent le provisioning des features en temps réel. La rétention est gérée par un downgrade gracieux automatique en fin de période.
Workbox (PWA)
Service Worker pour la mise en cache des assets critiques et le mode offline. Les artisans en chantier sans réseau peuvent consulter leurs chantiers et continuer à travailler sans perte de données.
Vercel
CI/CD automatique sur chaque push : preview deployments pour les reviews, déploiement production 0-downtime. Edge Network mondial pour des temps de chargement optimaux sur tout le territoire.


Notre processus de travail
Une approche structurée et transparente, de la définition du besoin jusqu'au déploiement en production.
Analyse métier
Cartographie complète des processus BTP : devis, situations de travaux, retenue de garantie — traduction en modèle de données PostgreSQL.
Design system et Maquettes
Définition du design system Tailwind, maquettes des modules critiques, validation client avant dev.
Développement itératif
Livraison par modules : auth + CRM, Devis/Factures, Dashboard financier, Équipe et Planning, PDF, Stripe SaaS, PWA.
Sécurité et Tests
Audit RLS PostgreSQL, revue sécurité XSS, CSRF, injection SQL, tests E2E des flux critiques.
Déploiement Vercel
CI/CD automatique sur Vercel, configuration PWA Workbox, Edge Functions Supabase en production.