/GitHubSearchApp

Primary LanguageSwiftApache License 2.0Apache-2.0

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

アプリ仕様

アプリ名『 GitRepo Find 』
GitHubのリポジトリを検索するアプリです。

環境

  • IDE:Xcode 14.3
  • Swift: 5.8
  • 開発ターゲット: iOS 15.0
  • ライブラリの利用: 無し
  • 設計: VIPERアーキテクチャ
  • UIKit/ストーリーボードのみ SwiftUI未使用

### 細かな設定

・iPad非対応
・ダークモード対応
・画面の回転対応 ・ステータスバー lightモードで固定
・ローカライズ(未)
・SwiftLint 導入 CocoaPods使用 ・ライブラリの利用: 無し


アプリ画面

スクリーンショット 2023-05-01 18 35 46

スクリーンショット 2023-05-01 17 10 08


取り組んだ課題

・すべての課題を対応(済) ・テストコード 対応できず失敗。

アプリ名・アプリのアイコンを自作

フリー素材『icooon mono』
作図 ツール『Cacoo(カクー)』

スクリーンショット 2023-05-02 3 32 01

アイコンのリンク①
アイコンのリンク②
アイコンのライセンスリンク 確認(済)

UIをブラッシュアップ

・カスタムセル使用、画像とstar数の表示
・ナビゲーションバーの色とタイトル指定
・データローディング表示
・API通信。ユーザーへエラーの表示
・サーチバーのテキストが空になったらテーブルビューをリセット

新機能

検索結果順序ソート機能

テーブルビューの順序を降順・昇順に並び替えるボタンを実装
リポジトリのStarの数で判定してソートしてます。

実装した理由 人気なものや有名なものから情報を得たいユーザーは多い(情報の信用度が高いから)、
ランダムな順番で表示されているよりも、ユーザーがすぐ確認しやすいようソート機能があれば便利。
と考え実装しました。

アピールポイント・挑戦したこと

テーブルビューが滑らかに動く

画像のカクつきやチラつきなど防止するため細かく設定しました。
・非同期で画像の取得と生成
・画像をリサイズし容量を下げた
・画像キャッシュの使用
・タスクのキャンセル

VIPERアーキテクチャの適用

最近VIPERアーキテクチャを学習したので、新しく学んだことをさっそく実践で使用しました。
いろんな技術をどんどん試していこうという意欲があります。
学習内容リンク

スクリーンショット 2023-05-01 17 18 51