モバイル向けゴルフ ハンディキャップ予測アプリの構築方法 | Mendix

メインコンテンツへスキップ

モバイル向けゴルフハンディキャップ予測アプリの構築方法

ゴルフハンディキャップ申請ブログの背景画像

アマチュアゴルファーとして、私は米国ゴルフ協会(USGA)のハンディキャップインデックスを管理する必要があります。私は、現在のハンディキャップインデックスをリアルタイムで簡単に追跡し、ハンディキャップを下げてより多くのトーナメントに出場するために必要な範囲にするために達成すべき目標スコアも得られる方法を求めていました。そこで、 Mendix わずか数日で、現在のインデックスを表示できるだけでなく、次にどこでプレイするかに基づいてインデックスを予測できるようになります。

障害の管理はストレスになることがある

ハンディキャップ インデックス (多くの場合、単に「インデックス」) は、基本的にあなたの能力の尺度であり、パーに対する平均スコアの指標です。ゴルフでは、スコアが低いほど良いので、インデックスが低いほど、おおよそ優れたプレーヤーになります。一部のトーナメントでは、登録するためにすべてのプレーヤーのインデックスが一定レベル以下である必要がありますが、さまざまなスコアがインデックスにどのように影響するかを予測するのに役立つすぐに利用できるツールはあまりありません。たとえば、現在のインデックスが 4.4 で、参加したいトーナメントが近づいていることがわかっているものの、そのトーナメントのインデックスが最大 4.0 である場合、ハンディキャップ インデックスを計算するための計算が比較的複雑なため、その目標を達成するためにどのようなスコアを出す必要があるかを把握するのは困難です。その上、公式のインデックスは XNUMX ~ XNUMX 週間ごとにしか更新されないため、いつもそれほど長く待つことはできません。

理想的な障害管理アプリ

理想の世界では、USGA のゴルフ ハンディキャップおよび情報ネットワーク (GHIN) サービスにアクセスして、最近のスコアやインデックス履歴など、インデックスに関する最新の公式情報を取得できるアプリが必要です。また、アプリはコースとその難易度のリストも保持し、ユーザーがスコアを予測したいときに、プレーしているコースの名前を言うだけで済むようにする必要があります。アプリでは、保留中のラウンドを常に入力できるため、GHIN からの次の改訂を待つことなく、リアルタイムでインデックスを計算できます。最後に、アプリでターゲット インデックス (目標) を入力し、1 ラウンド、2 ラウンド、またはそれ以上のラウンドでその目標を達成するために必要なスコアを教えてくれるはずです。

GHIN と統合してハンディキャップデータを取得する

GHINハンディキャッププログラムオンラインサービスと統合して、スコアやプレーヤーがプレーしたコースなど、ユーザーのハンディキャップ変更履歴を取得しました。この統合では、簡単なRESTサービスを使用しているため、簡単に実装できます。RESTサービスの詳細については、 Mendix こちら.

ログイン不要のソリューション

私が使用 LocalStorage リーダー/ライター ウィジェット Mendix App StoreはユーザーのGHIN番号をユーザーのブラウザに保存し、ユーザーがアプリケーションに戻ったときに自動的にデータを取得するようにします。このウィジェットは特定のGHIN番号の値を探します。 ローカルストレージ キーを取得し、新しいオブジェクトを作成し、キーが見つかったときにそのオブジェクトをマイクロフローに渡します。

LocalStorage リーダー/ライター ウィジェット

これは OnFound マイクロフローです:

OnFound マイクロフロー

新しく作成されたパラメータを受け取ります ユーザー設定 オブジェクトは、GHIN 番号 (ID) を使用して Web サービスを呼び出してスコアを取得するサブマイクロフローを呼び出し、ページを表示します。

新しく作成されたUserSettingsオブジェクトは、GHIN番号(ID)を使用してWebサービスを呼び出すサブマイクロフローを呼び出します。

このページには、 ローカルストレージ 著者 ウィジェットは Mendix マイクロフローを実行し、そのマイクロフローの文字列結果をアイテムに格納する ローカルストレージ.

このページは、ユーザーに GHIN ID を入力させることによっても移動できます。この場合、LocalStorage Reader は既存のアイテムを見つけられず、同じマイクロフロー (上記) を実行する前に、ユーザーに自分で入力するよう促します。この場合、ユーザーが LocalStorage Writer のあるページにアクセスすると、その情報は次回のために保存されます。

アプリをモバイル化する

アプリが Web 上で正しく動作するようになったら、次はモバイルに移植する番です。App Store の新しいモバイル ウィジェットをいくつか使用して、アプリの外観と操作性を Android および iOS (総称して「モバイル」) のモバイル アプリのようにしました。

App Storeのモバイル機能ウィジェットを使用して、アプリにページ間の遷移を追加しました。このウィジェットは、 Mendix デフォルトのモーダル ウィンドウとデフォルトの読み込みスピナーを、ネイティブのモバイル版とともに表示します。

モバイル機能ウィジェット

見落とされがちなもう一つの要素は Mendix モバイルアプリでは、入力タイプがデータタイプに適切であることを確認することが重要です。たとえば、 Mendix 整数データ型を表すテキストフィールドには、 入力タイプ=”テキスト” Web 上でレンダリングされるとき。デフォルトで表示されるキーボードに数字の行が常に表示されるとは限らないため、モバイルでは問題が発生する可能性があります。

キーボードタイプの例

App StoreのSetAttributeウィジェットはこれに最適です。ページ上の要素をターゲットにしてHTML属性を設定できます。私の場合は、type 入力属性を「数字」に変更します。これにより、モバイル デバイスのキーボードには数字キーのみが表示されます。

アプリケーション例のスクリーンショット

アプリを構築するより良い方法

使い方 Mendixわずか数日で、私と友人たちがこの夏のトーナメントのハンディキャップ指数を管理できるモバイルアプリを構築することができました。同様の趣味をお持ちで、自動化のメリットが期待できる場合は、当社の入門ガイドをご覧ください。 こちら.最初のアプリを構築する Mendix 無償版

言語を選択してください