DiscussionsまたはIssuesに自由に投稿できます。
- Discussions → アプリのアイデアや質問など
- Issues → 不具合や改善など具体的な開発内容
Discord の「アプリ」カテゴリでも交流できます!
FVMを使用してFlutterのバージョンを管理しています。
# FVMをインストール(未インストールの場合)
$ dart pub global activate fvm
# 指示に従い、fvmをパスに追加
$ export PATH="$PATH":"$HOME/.pub-cache/bin"
# プロジェクトで指定されたFlutterバージョンをインストール
$ fvm install必要な場合はコードを生成する。
$ dart run build_runner build監視する場合は
$ dart run build_runner watchVSCodeのRunからDevelopまたはProductionを選択して実行する。
| モード | 値 |
|---|---|
| 開発モード | Develop |
| リリースモード | Production |
Flutterのバージョンを更新する場合はFVMを使用する。
# 新しいバージョンをインストールして切り替え
$ fvm use <version>
# 例: 3.40.0に更新
$ fvm use 3.40.0.fvmrcが更新されるのでコミットする。
たぶん。
$ flutter pub upgrade --tighten$ rm -rf ~/flutter/bin/cache
$ rm -rf build
更新があった場合は取得する。
$ bunx get-graphql-schema "https://aipics.fly.dev" > lib/schema.graphqlFlutter側の実装は以下のフローです。
- Firebase Auth で Google / X(Twitter) にサインイン
- Firebase ID Token を
Authorization: Bearer <token>に載せて GraphQL を呼ぶ isInitializedUserProfileがfalseの場合はプロフィール初期設定へ遷移- 初期設定画面で
updateUserProfileを実行して完了
関連コード:
- ログインUI: lib/features/home/hello_screen.dart
- Googleログイン: lib/features/login/functions/login_with_google.dart
- X(Twitter)ログイン: lib/features/login/functions/login_with_twitter.dart
- 初期化判定: lib/features/login/functions/is_initialized_user_profile.dart
- プロフィール初期設定画面: lib/features/login/profile_setup_screen.dart
Firebase Console 側の設定(必須):
- Authentication → Sign-in method で Google と Twitter(X) を有効化
- Android: Firebaseプロジェクトにアプリを登録し、
SHA-1/SHA-256を登録(Googleログインで必須) - iOS:
REVERSED_CLIENT_IDのURL Schemeが設定されていること(Googleログインで必須) - Twitter(X): API Key / API Secret を Firebase に設定(X Developer Portal 側のアプリ作成が必要)
※ Twitter(X) はプロジェクトごとにキーが異なるため、このリポジトリには値を同梱していません。
モジュールをインストールする。
$ bun i翻訳を追加する。
$ bun run tools/i18n