本プロジェクトは株式会社ゆめみ(以下弊社)が、弊社に Flutter エンジニアを希望する方に出す課題用のプロジェクトです。 本課題が与えられた方は、以下を詳しく読んだ上で課題に取り組んでください。
以下の要件を満たす、Android・iOS で動作するアプリを Flutter で作成してください。
- IDE・SDK・プログラミング言語については、基本的に最新の安定版を利用すること
- 最新の安定版以外を利用する場合は、理由も含めて README に記載すること
- 状態管理パッケージには Provider/Riverpod のいずれかを使うこと
- サードパーティーライブラリについては、オープンソースのものに限り制限しない
基本的に Flutter プロジェクト作成時のバージョンにすること
OS Version | |
---|---|
iOS | 9.0 ~ 15.2 |
Android | 4.1 ~ 12 |
※ 本プロジェクト更新時点
- 何かしらのキーワードを入力できる
- 入力したキーワードで GitHub のリポジトリを検索できる
- GitHub のリポジトリを検索する際、GitHub API(
search/repositories
)を利用する - 検索結果は一覧で概要(リポジトリ名)を表示する
- 検索結果のアイテムをタップしたら、該当リポジトリの詳細(リポジトリ名、オーナーアイコン、プロジェクト言語、Star 数、Watcher 数、Fork 数、Issue 数)を表示する
マテリアルデザインに準拠すること
- GitHub の public リポジトリの URL をお知らせください
- 別の方法で提出する場合はご相談ください(Git のコミット履歴が分かる形式が望ましいです)
- この課題とは別のコード(ご自身で公開されているOSS等)をもって課題の提出とすることをご希望の場合はご相談ください
- レビューのしやすさ
- README の充実
- 適切なコメント
- GitHub のプルリクエスト機能などの利用
- Git
- 適切な gitignore の設定
- 適切なコミット粒度
- 適切なブランチ運用
- 簡潔性・可読性・安全性・保守性の高いコード
- Dart の言語機能を適切に使いこなせているか
- テスト
- テストが導入しやすい構成
- Unit・UI テストがある
- UI/UX
- エラー発生時の処理
- 画面回転・様々な画面サイズ対応
- Theme の適切な利用・ダークモードの対応
- 多言語対応
- アニメーションなど
- CI/CD
- ビルド
- テスト
- リント
- フォーマット
- 仮のデプロイ環境
上記以外でも高く評価できるポイントがあれば同等に考慮します。
アピールする点があれば、README に箇条書きなどで記載してください。
評価ポイントについて詳しくまとめた記事がありますので、ぜひご覧ください。