Skip to content

aipictors/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

709 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiscussionsまたはIssuesに自由に投稿できます。

  • Discussions → アプリのアイデアや質問など
  • Issues → 不具合や改善など具体的な開発内容

Discord の「アプリ」カテゴリでも交流できます!

https://discord.gg/aipictors

セットアップ

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 watch

開発

VSCodeの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

GraphQL

更新があった場合は取得する。

$ bunx get-graphql-schema "https://aipics.fly.dev" > lib/schema.graphql

https://aipics.fly.dev

ソーシャルログイン(Google / X(Twitter))

Flutter側の実装は以下のフローです。

  1. Firebase Auth で Google / X(Twitter) にサインイン
  2. Firebase ID Token を Authorization: Bearer <token> に載せて GraphQL を呼ぶ
  3. isInitializedUserProfilefalse の場合はプロフィール初期設定へ遷移
  4. 初期設定画面で updateUserProfile を実行して完了

関連コード:

Firebase Console 側の設定(必須):

  • Authentication → Sign-in method で GoogleTwitter(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

About

アプリになった!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 5