本プロジェクトは株式会社ゆめみ(以下弊社)が、弊社に 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
)を利用する- github | Dart Package のようなパッケージは利用せず、API を呼ぶ処理を自分で実装すること
- 検索結果は一覧で概要(リポジトリ名)を表示する
- 検索結果のアイテムをタップしたら、該当リポジトリの詳細(リポジトリ名、オーナーアイコン、プロジェクト言語、Star 数、Watcher 数、Fork 数、Issue 数)を表示する
マテリアルデザインに準拠すること
- GitHub の public リポジトリの URL をお知らせください
- 別の方法で提出する場合はご相談ください(Git のコミット履歴が分かる形式が望ましいです)
- この課題とは別のコード(ご自身で公開されているOSS等)をもって課題の提出とすることをご希望の場合はご相談ください
- レビューのしやすさ
- README の充実
- 適切なコメント
- GitHub のプルリクエスト機能などの利用
- Git
- 適切な gitignore の設定
- 適切なコミット粒度
- 適切なブランチ運用
- 簡潔性・可読性・安全性・保守性の高いコード
- Dart の言語機能を適切に使いこなせているか
- テスト
- テストが導入しやすい構成
- Unit・UI テストがある
- UI/UX
- エラー発生時の処理
- 画面回転・様々な画面サイズ対応
- Theme の適切な利用・ダークモードの対応
- 多言語対応
- アニメーションなど
- CI/CD
- ビルド
- テスト
- リント
- フォーマット
- 仮のデプロイ環境
上記以外でも高く評価できるポイントがあれば同等に考慮します。
アピールする点があれば、README に箇条書きなどで記載してください。
評価ポイントについて詳しくまとめた記事がありますので、ぜひご覧ください。
ChatGPT等のAIサービスを利用することは、禁止しておりません。
利用にあたって工夫したプロンプトやソースコメント等をご提出頂くことで、加点評価する場合もあります。(減点評価はありません)
また、弊社コードチェック担当者もAIサービスを利用させていただく場合があります。 AIサービスの利用は差し控えてもらいたい等のご要望があれば、お気軽にお知らせください。
Mac をお持ちでない場合は課題提出時にその旨お伝えください。 iOS に関連するコード、動作をレビュー対象から除外いたします。