Skip to content

dorudorujr/ios-engineer-codecheck

Repository files navigation

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

概要

本プロジェクトは株式会社ゆめみ(以下弊社)が、弊社に iOS エンジニアを希望する方に出す課題のベースプロジェクトです。本課題が与えられた方は、下記の概要を詳しく読んだ上で課題を取り組んでください。

アプリ仕様

本アプリは GitHub のリポジトリーを検索するアプリです。

動作イメージ

環境

  • IDE:基本最新の安定版(本概要更新時点では Xcode 13.0)
  • Swift:基本最新の安定版(本概要更新時点では Swift 5.5)
  • 開発ターゲット:基本最新の安定版(本概要更新時点では iOS 15.0)
  • サードパーティーライブラリーの利用:オープンソースのものに限り制限しない

動作

  1. 何かしらのキーワードを入力
  2. GitHub API(search/repositories)でリポジトリーを検索し、結果一覧を概要(リポジトリ名)で表示
  3. 特定の結果を選択したら、該当リポジトリの詳細(リポジトリ名、オーナーアイコン、プロジェクト言語、Star 数、Watcher 数、Fork 数、Issue 数)を表示

課題取り組み方法

Issues を確認した上、本プロジェクトを Duplicate してください(Fork しないようにしてください。必要ならプライベートリポジトリーにしても大丈夫です)。今後のコミットは全てご自身のリポジトリーで行ってください。

コードチェックの課題 Issue は全て 課題 Milestone がついており、難易度に応じて Label が 初級中級ボーナス に分けられています。課題の必須/選択は下記の表とします:

初級 中級 ボーナス
新卒/未経験者 必須 選択 選択
中途/経験者 必須 必須 選択

課題 Issueをご自身のリポジトリーにコピーするGitHub Actionsをご用意しております。
こちらのWorkflow手動でトリガーすることでコピーできますのでご活用下さい。

課題が完成したら、リポジトリーのアドレスを教えてください。

参考記事

提出された課題の評価ポイントに関しては、こちらの記事に詳しく書かれてありますので、ぜひご覧ください。 ライブラリの利用に関しては こちらの記事も参照ください。

環境構築

必要ツール

セットアップ

下記コマンドを実行してください mint bootstrap

本家Reduxと違うところ

Single source of truth in function scope, not application scope

本家のReduxではStoreがSingletonで存在し、そこに全画面のStateが格納されている
しかしこれをアプリでやろうとすると、パラメータ違いの同じ画面が複数開かれてる状態などに対応しづらい
( e.g. iOSのAppStoreのように複数のタブで別々の商品の詳細画面を開く)
そのため、基本的には機能or画面毎にStoreを分けている

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages