App Stoneybatter Cross Training

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

Aperçu récapitulatif du projet Stoneybatter Cross Training
En passant d'une solution SaaS à une application web sur mesure, le gérant de la salle a réduit ses frais de gestion mensuels de 273€ à 8€.

Site web

app.stoneybattercrosstraining.ie

Déploiement

26 février 2025

Stack front-end

Nuxt Vue.js Nuxt UI TypeScript

Stack back-end, paiements & emails

Directus Nitro Stripe aws SESplunkPlunk
L'accès à l'app est réservé aux membres et nécessite une inscription.

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

Capture page d'accueil

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

Capture du calendrier

Paiements récurrents et uniques

Capture page de paiement

Authentification et gestion du compte membre

Capture page de gestion du compteCapture page de connexion

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.

Capture exemple d'administrationCapture page de gestion

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.

Photo écran

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.

Capture classement personal records

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.