Skip to content

Latest commit

 

History

History
65 lines (35 loc) · 1.78 KB

README.md

File metadata and controls

65 lines (35 loc) · 1.78 KB

gottiesclient

CI

おうちハッカソン。

アプリアーキテクチャ

arch_diagram

Client

Firestore, API サーバーと通信をします。

Repository

任意の Client を保持して、Client からデータを取得します。

Store

主に画面ごとに作成し、画面で使う情報を Repository から取得し、保持します。 変更を通知する必要がある場合は ChangeNotifier を継承します。

例外として、AppStore を作成します。 AppStore は画面を跨いで保持する必要のある情報や、通知を管理する Store とします。

Page

1 画面ごとに作成します。 肥大化してしまう場合は各 page パッケージ内に widgets パッケージを切ってそこに切り出します。

Widget

画面の部品。

各画面ごとの Widget と アプリ全体で使い回す Widget があります。

アプリ配布

アプリの配布に Firebase AppDistribution を使用しています。 手元の環境でのビルド成果物を配布したい場合は、 .env.example.env にコピーし、必要な情報を入力した上で bundle exec fastlane android distribute_app を実行してください。

各設定値について

FIREBASE_APP_ID_IOS

Firebase で iOS アプリを登録した際の App ID

FIREBASE_APP_ID_ANDROID

Firebase で Android アプリを登録した際の App ID

FIREBASE_CLI_TOKEN

firebase login:ci で取得した Firebase のトークン

IPA_PATH

iOS のビルド成果物へのパス

※ 現在はアップロードできません。

APK_PATH

Android のビルド成果物へのパス