Fitbord · Système d'exploitation des espaces sportifs
Produit interne. SaaS multi-tenant de gestion d’espaces sportifs : membres, abonnements, passes, facturation, présences, fidélité, et comptage des entrées par capteur local.

Un gérant de salle pilote son activité entre un tableur, un carnet et un fil WhatsApp. Il ne sait pas combien de membres sont réellement actifs, quelles factures sont impayées, ni combien de personnes sont entrées hier. Les outils existants sont soit des CRM génériques avec le mot « gym » collé dessus, soit des logiciels de caisse qui ignorent la vie du lieu.
Un SaaS multi-tenant construit sur AdonisJS 7 et Postgres, avec 91 modèles de données et 123 migrations : membres et champs personnalisés, formules et passes, factures et rapprochement de caisse quotidien, présences, cours et plannings avec liste d'attente, exercices et rapports de séance, fidélité, parrainage, compétitions et classements, matériel et maintenance. Onze applications se partagent le monorepo, dont un back-office gestionnaire, un portail membre en PWA, un back-office plateforme et un générateur de mini-sites par salle. Les paiements passent par un fournisseur externe; le temps réel par le flux SSE d'AdonisJS; l'observabilité par OpenTelemetry.
La partie la plus intéressante techniquement est l'agent de comptage. Une salle ne sait pas combien de personnes sont réellement entrées : les pointages manquent, les badges se prêtent. Un agent installé sur place lit un flux caméra local, en tire des passages de porte anonymes et directionnels, et ne publie que des compteurs vers l'API. Aucune identité n'est calculée et, par défaut, aucune image ne quitte l'appareil.
L'écart entre ce compteur et les pointages enregistrés devient l'indicateur utile : il révèle les entrées non enregistrées sans surveiller personne. Une variante Android existe pour les salles sans machine dédiée.
- Modèles de données
- 91
- Migrations
- 123
- Applications du monorepo
- 11
- Commits
- 726
- Tailwind CSS
- Vite
- S3
- Redis
- AdonisJS
- Postgres
- Python
- React
- Next.js
- TypeScript





