Skip to content

Yotteko is an application which supports the "side trip."

Notifications You must be signed in to change notification settings

naetosuuke/Yotteko

Repository files navigation

Yotteko

Yotteko is an application which supports the "side trip."
「ちょっと寄ってく?」

アプリ概要


App Store: https://apps.apple.com/jp/app/yotteko/id6446333046

休みの日に、自転車に乗ってどこかに出かけよう!と思った時、寄り道できそうな場所までの距離を確認できるアプリが欲しく、作成しました。

アプリ内のマップに出発地点/目的地点を登録すると、その地点までの経路情報を記載します。
経路情報には、マップ、各地点の(名前 / 移動距離 / 移動時間)を記載します。(徒歩:2km/h, 自転車 8km/h計算)

※実装予定の機能
●検索したルートを、経路履歴として保存。別途、お気に入り経路も保存可能
●API通信も実装したく、現在地をもとに天気情報を表示する
●作成したマップ画像、経路情報を SNSで共有できる
●最終的に、出発地点、目的地を登録すると、2点間で休憩できそうなポイントをリストアップし、リストから選択した地点を経由する経路を表示するアプリへと仕様を変更します。

使用ライブラリ

MapKit
地図画面、経路作成機能の実装のため使用

FloatingPanel
ハーフモーダル実装のために使用

以下、使用予定分
SnapKit
レイアウト設定のために使用予定

Realm
検索結果を保存するために使用予定(GeneratedRouteViewControllerに表示する)

Firebase
各ユーザーがアップロードしたルートを表示するため実装予定(OnlineRouteViewControllerに表示する)

各画面の説明

メイン画面: MainViewController
地図の画面を表示、出発地点、到着地点、ピンボタン、❔ボタンがある
出発地点、到着地点を押すと各地点を設定るすため、検索画面に飛ぶ。

検索画面: RouteCandidateController
出発地点、到着地点を、MKLocalSearchで検索して、候補をUITableViewで表示。
選ぶと出発地点、到着地点の情報をメイン画面に渡す。
※出発、到着のどちらを検索しているかを、MainViewControllerがもつIdentifierで判断している

経路表示画面: RouteViewContorller
MainViewControllerで、出発地点、到着時点の両方が選択された時に
モーダルで画面が現れ、経路と距離、所要時間を表示する。

ヘルプ画面: HelpViewController
使用方法を表示。ハーフモーダルで現れるよう実装

学習した内容

・MapKitを利用した経路検索機能の実装
・宣言的UI (InterfaceBuilderなしで画面を作成)
・非同期通信への処理方法(MKLocalSearchの検索結果がでるまで画面が表示できないので、検索メソッドの中に画面表示メソッドをネストしている。もうすこしいいやり方あるかもしれない...)
・Figmaを用いたアイコン作成
・ストア公開の手続き、AppReviewへの対応 
https://zesty-idea-01f.notion.site/App-review-a53bd26d495447118d4fd0d150063115?pvs=4

今後 修正したい内容(8/17時点)

・ひどいFatViewControllerになっているので、検索メソッドや画面表示用のメソッドを分離させる。
・Realm,Firebaseを用いて、早急に検索結果のデータを保存できるようにしたい。
・色々なFrag、Identifierを使っているので、初めて見た人がコードの全容を把握する事が難しいと思う。もっとわかりやすい書き方に変えたい。

なぜこのアプリを作ったか

自転車で遠出することにハマっていたため、移動中にコンビニやカフェなどの寄り道先をすぐに調べられるアプリが欲しかった。
初めてのアプリでMapKitを使うことは難しかったが、たまに自分でも使う機会があるので愛着を持つ事ができ、結果的に良かったと思う。

About

Yotteko is an application which supports the "side trip."

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published