App Stoneybatter Cross Training
Application web pour Stoneybatter Cross Training, une salle de crossfit située à Dublin, en Irlande.

Déploiement
26 février 2025
Stack front-end
Stack back-end, paiements & emails
Contexte
Stoneybatter Cross Training est une salle de sport, spécialisée dans le Crossfit située à Dublin en Irlande. Des cours et des séances de crossfit sont proposés aux membres qui réservent leur place en avance. Les membres ont le choix entre acheter directement une ou plusieurs places, ou un abonnement mensuel à un tarif avantageux.
Le gérant de la salle utilisait une solution externe SaaS pour gérer les réservations, les paiements et la planification des cours avec les coachs. Le service ne répondait pas aux besoins métier du dirigeant, car il se voyait obligé d'envoyer des liens de paiement Stripe par WhatsApp, de maintenir à jour manuellement un tableur de suivi des membres et de relancer manuellement en cas d'échec de renouvellement.
Ce qui peut se résumer à un carnet et un stylo au tarif de 273€ par mois.
Aperçu

L'app web Stoneybatter Cross Training propose à ses membres d'acheter des crédits pour ensuite réserver une place pour un cours de crossfit. Les cours sont composés d'une série d'exercices propre à chaque type de séance, et qui sont créés par les coachs de la salle. Le manager et les coachs ont accès à des fonctionnalités supplémentaires de type CRUD pour gérer les cours, les workouts et les membres.
Fonctionnalités
Calendrier de cours

Paiements récurrents et uniques

Authentification et gestion du compte membre


Administration par le gérant et les coachs
Le gérant et les coachs ont accès à des fonctionnalités d'administration pour créer, modifier et supprimer des éléments de l'app, en fonction de leur rôle.


Envoi automatique de mails
Des mails automatiques sont envoyés aux membres pour les informer de divers événements, comme la confirmation de réservation, la validation ou l'annulation d'une réservation en liste d'attente.
Affichage plein écran de la séance
Pour afficher sur l'écran de télévision de la salle de sport.

Stack technique
L'architecture de l'app est hébergée sur un serveur contenant la base de données et Nuxt .
La base de données SQLite est gérée via Directus . Nuxt est utilisé en mode SPA afin de garantir une utilisation fluide du dashboard et est épaulé par Nuxt UI pour les styles. Le serveur Nitro , intégré dans Nuxt, permet à la fois de gérer les paiements via Stripe , de servir d'intermédiaire entre le Front-end et le Backend (BFF) mais aussi d'effectuer des tâches récurrentes (cron). Les mails automatiques sont envoyés via Amazon SES et leurs flux sont gérés par une instance de Plunk. Une sauvegarde automatique de la base de données est mise en place avec Duplicati .
Processus
Création d'un site web caché (restriction IP) mis à jour automatiquement à chaque ajout de code afin de pouvoir mettre en place une méthode Agile adaptée. Le propriétaire de la salle de crossfit a pu utiliser et tester le site régulièrement afin de remonter les ajustements nécessaires lors de la phase de développement.
Le jour du déploiement, l'ensemble de la base des membres a été importée dans l'app, puis le site a été ouvert au public. Les membres ont pu se connecter et utiliser l'app immédiatement, en choisissant simplement un nouveau mot de passe.
Maintenance et évolutions
Dans les semaines qui ont suivi le déploiement, nous avons apporté des améliorations et corrections de bugs mineurs remontés par les utilisateurs.
Environ un mois après la stabilisation de l'app, nous avons rajouté une nouvelle fonctionnalité d'ajouts de records personnels (PRs) pour les membres, qui leur permet de suivre leurs progrès sur tous les exercices de crossfit et de les comparer avec les records des autres membres, s'ils le souhaitent.

Résultats et impact
Le retour utilisateur qui a été le plus marquant est celui de la fluidité d'utilisation. La stack étant légère et les requêtes optimisées, l'app est très réactive et rapide (parfois trop pour certains membres habitués à l'ancienne solution !)
L'intégration des fonctionnalités PWA a permis de rassurer certains membres, en l'installant sur leur téléphone comme une application native.
Bien que pour la plupart des tâches d'administration le manager utilise son ordinateur pour être plus efficace, il a adoré pouvoir gérer certaines tâches rapides depuis son téléphone lorsqu'il est en déplacement, sans devoir les remettre à plus tard.
Le gérant de la salle a également pu réduire ses frais de gestion mensuels de 97% en passant de 273€ à 8€ par mois, en utilisant une solution sur mesure qui répond exactement à ses besoins métier.