Comment nous avons créé une application de prévision de handicap de golf pour mobile | Mendix

Passer au contenu principal

Comment nous avons créé une application mobile de prévision des handicaps de golf

Image d'arrière-plan du blog sur les demandes de handicap au golf

En tant que golfeur amateur compétitif, je dois gérer mon index de handicap de l'Association de golf des États-Unis (USGA). Je voulais un moyen simple de suivre mon index de handicap actuel en temps réel qui me donne également un score cible que je devais atteindre pour m'assurer que mon handicap descendrait à la fourchette requise pour participer à plus de tournois. J'ai donc créé une application mobile avec Mendix en seulement quelques jours, je peux afficher mon index actuel tout en prédisant mon index en fonction de l'endroit où je vais jouer ensuite.

Gérer un handicap peut être stressant

Un index de handicap (souvent simplement « index ») est essentiellement une mesure de votre capacité ; c'est un indicateur de votre score moyen par rapport au par. Au golf, plus votre score est bas, mieux c'est, donc un index bas se traduit en gros par un meilleur joueur. Certains tournois exigent que tous les joueurs aient un index égal ou inférieur à un certain niveau pour s'inscrire, et il n'existe pas beaucoup d'outils facilement disponibles pour aider un golfeur à prédire comment différents scores affecteront son index. Par exemple, si mon index actuel est de 4.4 et que je sais qu'il y a un tournoi à venir auquel je veux participer, mais que ce tournoi nécessite un index d'au plus 4.0, il m'est difficile de déterminer les scores que je dois obtenir pour atteindre cet objectif, car les mathématiques pour calculer un index de handicap sont relativement complexes. De plus, votre index officiel n'est mis à jour que toutes les deux à quatre semaines, et je ne peux pas toujours me permettre d'attendre aussi longtemps !

L'application idéale de gestion du handicap

Dans un monde parfait, je devrais pouvoir disposer d'une application capable de communiquer avec le service Golf Handicap and Information Network (GHIN) de l'USGA pour recueillir les informations officielles les plus récentes sur mon index, y compris les scores récents et l'historique de mon index. L'application devrait également conserver une liste des parcours et de leur difficulté, afin qu'un utilisateur puisse simplement nommer le parcours sur lequel il joue lorsqu'il souhaite prédire un score. L'application me permettrait toujours de saisir les parties en attente afin qu'elle puisse calculer mon index en temps réel, au lieu de devoir attendre la prochaine révision du GHIN, et enfin, l'application devrait me permettre de saisir un index cible (objectif) et de m'indiquer les scores que je dois obtenir pour atteindre cet objectif en 1, 2 ou plusieurs tours.

Intégration avec GHIN pour récupérer les données de handicap

J'ai intégré le service en ligne du programme de handicap GHIN pour récupérer l'historique de révision du handicap d'un utilisateur, y compris les scores et les parcours sur lesquels le joueur a joué. Cette intégration utilise un service REST simple, ce qui facilite sa mise en œuvre. Vous pouvez en savoir plus sur les services REST avec Mendix ici.

Solution sans connexion

J'ai utilisé l' Widget de lecture/écriture LocalStorage du Mendix App Store pour enregistrer le numéro GHIN de l'utilisateur dans le navigateur de l'utilisateur, de sorte que lorsqu'il revient à l'application, celle-ci récupère automatiquement ses données pour lui. Ce widget recherche la valeur d'un stockage local clé, crée un nouvel objet, puis transmet cet objet à un microflux lorsque la clé est trouvée.

Widget de lecture/écriture LocalStorage

Voici le microflux OnFound :

Microflux OnFound

Il prend un paramètre du nouveau créé Paramètres utilisateur objet, appelle un sous-microflux qui utilise le numéro GHIN (ID) pour appeler un service Web afin de récupérer les scores, puis affiche une page.

objet UserSettings nouvellement créé, appelle un sous-microflux qui utilise le numéro GHIN (ID) pour appeler un service Web

La page, à son tour, a le Stockage local écrivain widget, qui indique Mendix pour exécuter un microflux et stocker le résultat de la chaîne de ce microflux dans un élément de Stockage local.

Cette page peut également être consultée en demandant à l'utilisateur de saisir son identifiant GHIN. Dans ce cas, le lecteur LocalStorage ne trouve pas l'élément existant et invite l'utilisateur à le saisir lui-même, avant d'exécuter le même microflux (ci-dessus). Dans ce cas, lorsque l'utilisateur arrive sur la page avec le rédacteur LocalStorage, ses informations sont enregistrées pour la prochaine fois.

Rendre l'application mobile

Une fois que l’application s’est comportée correctement sur le Web, il était temps de la déployer sur mobile. À l’aide de quelques nouveaux widgets mobiles de l’App Store, j’ai fait en sorte que mon application ressemble à une application mobile pour Android et iOS (collectivement, « mobile »).

En utilisant le widget Mobile Features de l'App Store, j'ai donné à l'application des transitions d'une page à l'autre. Ce widget remplace également le Mendix fenêtres modales par défaut et le spinner de chargement par défaut avec leurs homologues mobiles natifs.

Widget de fonctionnalités mobiles

Une autre pièce qui est souvent négligée avec Mendix Les applications mobiles garantissent que les types d'entrée sont adaptés à leurs types de données. Par exemple, un Mendix le champ de texte qui représente un type de données entier a toujours type d'entrée = "texte" lorsqu'il est rendu sur le Web. Cela peut entraîner des problèmes sur mobile, car le clavier affiché par défaut n'aura pas toujours la ligne de chiffres.

Exemple de types de clavier

Le widget SetAttribute de l'App Store est parfait pour cela ; il vous permet de cibler un élément de la page et de définir un attribut HTML. Dans mon cas, j'ai défini letype attribut de mon entrée à « numéro ». Cela fait que le clavier d'un appareil mobile n'affiche que les touches numériques.

Capture d'écran d'un exemple d'application

Une meilleure façon de créer des applications

L'utilisation de Mendix, en quelques jours seulement, j'ai pu créer une application mobile qui permet à mes amis et à moi de gérer nos indices de handicap pour les tournois de cet été. Si vous avez un passe-temps similaire qui pourrait bénéficier d'un peu d'automatisation, consultez notre guide de démarrage ici.Créez votre première application sur Mendix gratuitement

Choisissez votre langue