みんなの定義は、ユーザーが自身の解釈や体験に基づいて言葉の「定義」を投稿し、共有することができるアプリです。
言葉の背後にある多様な価値観や感じるニュアンスを共有し、新しい視点や考え方を発見することができます。
TODO: DL用のリンク貼る
開発環境
fvm flutter run --dart-define-from-file=dart_defines/dev.json
本番環境
fvm flutter run --dart-define-from-file=dart_defines/prod.json
以下環境を使用しています。
Flutter 3.13.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ead455963c (4 days ago) • 2023-09-26 18:28:17 -0700
Engine • revision a794cf2681
Tools • Dart 3.1.3 • DevTools 2.25.0
また、状態管理はRiverpodを使用しています。
以下を使用しています。
- Authentication
- Firestore Database
- Storage
- Analytics
- Crashlytics
CIの構築に使用しています。
CIは、Pull Request作成時とPush時に、静的解析とテストの実行が行われるようにしています。
アーキテクチャについて に記載しています。
- Issueベースで開発する
- 開発時はdevelopブランチからブランチを切り、developブランチへプルリクエストを出してマージする
- ブランチ名は「feature/#〇〇(対応するIssueの番号)_〇〇(対応内容)」とする
- VS Codeの拡張を使用するなどして、commit時に「feat」「chore」などの接頭辞をつける
ビジネスロジックに対してUnit Testを原則書く書かない場合は、理由や後で書く旨をコメントで残す
プライベート関数に対してはUnit Testを原則書かない書く場合は、理由をコメントで残す
- Unit Testは、作成が容易そうな関数、重要度が高そうな関数に対して書く
- 理想は原則UnitTestを書くことだが、ユーザーが増えるまではこの方針で進める
- Widget Test, Integration Testは実装しない
- ある程度ユーザーが増えたら実装予定
- テストはCIで自動実行する
- 動作確認は適宜行い、プルリクエスト作成時に確認内容や結果を記載する
- 使用するIDEはVS Codeを前提とする
- Flutterのバージョン管理にfvmを使う
- 初回リリースまでFlutterバージョンは「3.13.6」を使用する