Skip to content

wataru0/intern_3days_hackathon_ios

Repository files navigation

iOS 3daysサマーインターン本番課題🏄

目次

完成品

概要

  • wantedlyのアプリを参考にし,検索バーを追加してインクリメンタル検索にした.
  • ブックマーク機能を実装した.
  • タブの切り替えにより,記事検索画面,ブックマークした記事画面を移動できるようにした.
  • ブックマーク記事はUserDefaultsを用いて,端末に保存するようにした.

動作確認

工夫したところ

  • 検索画面と表示画面という構成ではなく,検索バー付きのテーブルビューにしたところ.
  • Parchmentライブラリを使用して,tabでメインの記事画面とブックマークした記事一覧画面を移動できるようにしたところ.
  • 画像は提供されているAPIでは取得が難しかったが,画像も表示できるようにしたところ.
  • インクリメンタル検索であるところ.

やりたかったこと

  • ブックマーク記事の情報を格納する構造体を要素にもつ配列をデータベースやUserDefaultsに保存して,ブックマーク画面で無駄にAPIを叩かないようにすること
  • キーワードを登録して,複数のキーワードで記事を検索することができる機能.

今後気をつけること,勉強になったこと


課題について

課題内容

Connpassが提供するAPIを使用して,記事を検索するアプリを作成してください. 独自の機能を追加して使いやすくしてください.

課題概要

からくり株式会社 iOS 3dayサマーインターン(ハッカソン)の本番課題です。 下記の概要を詳しく読んだ上で課題を取り組んでください。

課題の取り組み方

  • GithubにてUse this templateを使用し、個人のリポジトリにコピー(publicにして下さい)して課題に取り組んでください。 コーディング規約:
  • 標準的なコーディング規約であればどれに準じても良いですが、例として参考リンクを載せます。

プロジェクト概要

アプリ概要

Connpassの記事を検索するアプリです。

ビルド環境

  • Xcode: 11.6
  • Swift: Swift5系
  • Target iOS Version: 12.0以上

導入ライブラリ

※パッケージ管理ツールはCarthage、LintツールはSwiftLintを導入しています。

動作確認機種

  • iPhone 8、 iPhoneX系、 iPhone11系のシミュレーター、もしくは実機での確認を推奨しています。 (iPadやiPhone SEなどの画面サイズには基本対応しなくて構いません)

ビルド方法

  • Xcodeのコマンドラインツールのバージョンを設定して下さい。 error: unable to find utility "xcodebuild", not a developer tool or in PATHというエラーが出た場合はこちらを参考にして下さい。

install.shをつかうことでビルド環境を作成できます。

cd [自身の作業ディレクトリ]/intern_homework_ios
sh install.sh

~~~~~~(内容を確認したら)~~~~~~
open intern_homework_ios.xcodeproj/

~~~~~~(xcodeを開いたら)~~~~~~
xcode上で command+R でビルド

※install.shでSwiftLintcarthageのアップデート(インストール)を行っている。

PRを作成する上での注意点

  • ローカルでビルドできている
  • 動作確認までしている
  • SwiftLintで出力されている警告はなるべく削除する

予備知識

GitFlow

  • master
    • プロダクトとしてリリースするためのブランチ。リリースしたらタグ付けする。
  • develop
    • 開発ブランチ。コードが安定し、リリース準備ができたら master へマージする。リリース前はこのブランチが最新バージョンとなる。
  • feature
    • 機能の追加。 develop から分岐し、 develop にマージする。
  • release
    • プロダクトリリースの準備。develop ブランチにリリース予定の機能やバグフィックスがほぼ反映した状態で develop から分岐する。 リリース準備が整ったら, master にマージし、タグをつける。次に develop にマージする。
  • hotfix
    • リリース後のクリティカルなバグフィックスなど、 現在のプロダクトのバージョンに対する変更用。 master から分岐し、 master にマージし、タグをつける。次に develop にマージする。

開発をする上で知っておいてほしい基礎知識

開発で使うと便利なツール

項目 ツール名
APIクライアント Postman, Pawなど
HTTP通信キャプチャ Charles
Gitクライアント Source Treeなど

参考資料

About

cq hackathon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published