you22fy / yumemi_flutter

0 stars 0 forks source link

株式会社ゆめみ Flutter エンジニアコードチェック課題

課題概要

yumemi-inc/flutter-engineer-codecheck: This is a code check task for Flutter engineers employment in YUMEMI.

制作物詳細

概要

実装内容

実装期間

2024/05/02 ~ 2024/05/08

スクリーンショット・デモ動画

iOS

テーマ 検索画面 リポジトリ詳細
ライト Simulator Screenshot - iPhone 15 - 2024-05-08 at 04 34 25 Simulator Screenshot - iPhone 15 - 2024-05-08 at 04 34 34
ダーク Simulator Screenshot - iPhone 15 - 2024-05-08 at 04 34 28 Simulator Screenshot - iPhone 15 - 2024-05-08 at 04 34 36

Android

テーマ 検索画面 リポジトリ詳細
ライト Screenshot_1715110060 Screenshot_1715110036
ダーク Screenshot_1715110232 Screenshot_1715110235

デモ動画

https://github.com/you22fy/yumemi_flutter/assets/93398385/461f6b68-8d47-41e9-b378-ea5a6134ef77

https://github.com/you22fy/yumemi_flutter/assets/93398385/54c82cd8-d960-4959-bd4c-3fbf6445b71c

実行方法

当プロジェクトは iOS, android のみに対応しています。

  1. 当リポジトリを clone
git clone https://github.com/you22fy/yumemi_flutter.git
  1. プロジェクトディレクトリに移動
cd yumemi_flutter
  1. fvm で指定のバージョンをインストール 当プロジェクトでは flutter3.19.5を使用しています。fvm を使用しない場合は、バージョン3.19.5が動作するようにしてください。
fvm install
  1. パッケージをインストール
fvm flutter pub get
  1. 多言語対応のためのコード生成
fvm flutter gen-l10
  1. アプリを起動
fvm flutter run

使用ツール

開発環境

使用言語/フレームワーク

パッケージ

使用したパッケージは以下の通りです。 パッケージ名 用途
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 多言語対応で使用

その他ツール

AI ツール

ディレクトリ構成

lib 配下のディレクトリ構成は以下の通りです。

ディレクトリ名 用途
components UI コンポーネントを格納するディレクトリ
l10n 多言語対応のためのディレクトリ
models データのモデルクラスを格納するディレクトリ
pages page を格納するディレクトリ.1 つの page に対して 1 つのディレクトリを作成する.
providers アプリ全体で参照したい状態を提供する provider を格納
repositories API 通信を行うリポジトリクラスを格納するディレクトリ
utils アプリ全体で使用する class や関数を格納するディレクトリ

今回できなかったこと