私は比較的新しい Flutter プログラマーなので、以下の質問に不備があればご容赦ください…</p>
構造/アーキテクチャのジレンマに苦しんでいます。背景は次のとおりです。 アプリの根拠:
- 私のアプリを使用すると、ユーザーは自分の地域で利用できる小さな仕事を確認でき、時間を見つけて、報酬のために仕事を実行するのに適切な場所にいる場合、
- アプリは標準の REST API (Firebase ではない) を使用するため、サーバーがステータス変更通知の送信に依存してデータの再取得をトリガーすることはできません。
- 重要な要素は、(1) 特定の住所の最新の求人リスト - 他のユーザーが既にその住所の求人に応募している可能性があること (5 分ごとにリストを定期的に更新するなど)、および (2) アプリが必要とするものです。ユーザーの位置を追跡し、それに応じて、ユーザーが更新時間内に 2 km 以上移動した場合に、サーバーにジョブを要求します。
チャレンジ:
- 基本レベルでは、アプリには次のプロバイダーが必要だと思います: (1) auth – authToken の提供、(2) 地理位置情報 – ユーザーの位置を定期的にチェック、(3) jobList - 特定の位置 (高レベルのジョブの説明とアドレスをフェッチ) (, (4) jobDetails – 特定のジョブを実行するための正確な指示をフェッチします。
- ご覧のとおり、(2) geolocation および (3) jobList – プログラムで更新する必要があります (一定間隔で、または geolocation の変更時に)、(1) auth、(4) jobDetails はユーザーによってトリガーされます。
大きな疑問 ;) は…上記のタイプのアプリの適切なアーキテクチャは何ですか? すなわち:
- サーバー API に接続するためにサービスを使用する必要がありますか?これらはプロバイダーによって使用されますか?
- ジオロケーションからのタイマーと再配置イベントでのjobListのプログラムによる再フェッチを確実にする方法は?
- 再配置を検出するために場所の変更を継続的にリッスンする方法はありますが、処理でアプリを圧倒することはありませんか?
- (すぐに古い) jobLIst データをそのオブジェクト クラスだけに保存する必要がありますか、それとも設定プロバイダーまたはローカル データベースを使用する必要がありますか、または設定プロバイダーまたはデータベース マッピングを構築する必要のない最新の JSON 応答を保存する簡単な方法がありますか?
- Auth APIへのすべての呼び出しで、deviceIdを提供する必要があります-アプリ全体で使用できるようにする方法-これはかなり静的ですが、認証に必要なので、認証プロバイダーの一部であることを確認する必要がありますか?
上記についてコメントしたり、関連する例のソースを提案したりできれば、本当に感謝しています。
ありがとう、乾杯!