- お題である「GitHub リポジトリ検索アプリ」を Flutter で実装
- 検索ワードを入力し、github 上のリポジトリを検索し、検索結果をリスト表示
- リストアイテムをタップすると、リポジトリの詳細画面に遷移し、リポジトリの詳細情報を表示
- ダークモード対応
- 日本語・英語の多言語対応
- 画面回転に対応
- アプリアイコンの作成と設定に対応
2024/05/02 ~ 2024/05/08
テーマ | 検索画面 | リポジトリ詳細 |
---|---|---|
ライト | ||
ダーク |
テーマ | 検索画面 | リポジトリ詳細 |
---|---|---|
ライト | ||
ダーク |
- iOS
2024-05-08.4.39.35.mov
- Android
2024-05-08.4.41.03.mov
当プロジェクトは iOS, android のみに対応しています。
- 当リポジトリを clone
git clone https://github.com/you22fy/yumemi_flutter.git
- プロジェクトディレクトリに移動
cd yumemi_flutter
- fvm で指定のバージョンをインストール
当プロジェクトでは flutter
3.19.5
を使用しています。fvm を使用しない場合は、バージョン3.19.5
が動作するようにしてください。
fvm install
- パッケージをインストール
fvm flutter pub get
- 多言語対応のためのコード生成
fvm flutter gen-l10
- アプリを起動
fvm flutter run
- macOS Sonoma 14.4.1
- Visual Studio Code 1.88.1
- Xcode Version 15.3 (15E204a)
- Flutter 3.19.5
- Dart 3.3.3
使用したパッケージは以下の通りです。
パッケージ名 | 用途 |
---|---|
flutter_riverpod | 状態管理 |
flutter_hooks | 狭い範囲での状態管理 |
hooks_riverpod | riverpod と hooks を併用するためのパッケージ |
go_router | ルーティング |
dio | HTTP 通信 |
infinite_scroll_pagination | 無限スクロール |
flutter_launcher_icons | アプリアイコンの設定 |
github_language_colors | GitHub の言語カラーを取得 |
intl | 多言語対応で使用 |
shared_preferences | 選択言語の保存で使用 |
flutter_localizations | 多言語対応で使用 |
- figma(ロゴ作成)
- FigJam ボード(作業の流れ整理)
- Git/GitHub(バージョン管理)
- GitHub Actions(静的解析, 自動ビルド)
- chatGPT (コーディングの質問・リファクタリング)
- CodeRabbit(PullRequest のレビュー)
- GitHub Copilot(コーディング補助)
lib 配下のディレクトリ構成は以下の通りです。
ディレクトリ名 | 用途 |
---|---|
components | UI コンポーネントを格納するディレクトリ |
l10n | 多言語対応のためのディレクトリ |
models | データのモデルクラスを格納するディレクトリ |
pages | page を格納するディレクトリ.1 つの page に対して 1 つのディレクトリを作成する. |
providers | アプリ全体で参照したい状態を提供する provider を格納 |
repositories | API 通信を行うリポジトリクラスを格納するディレクトリ |
utils | アプリ全体で使用する class や関数を格納するディレクトリ |
- test の実装
- 今回は時間がなかったため、テストの実装ができませんでした。
- GitHub の活用
- GitHub の issue・project などを利用はしましたが、効果的には活用できていないと感じています。