1
/
5

[チーム開発]Date Suggesterアプリ

「デートプランを5秒で決める。」

デートプランをなかなか決められないあなたに、5秒でデートプランを提案します。






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

チーム開発メンバーから「恋人とのデートプランを決めるのがとても煩わしい…」という意見が出たことがキッカケです。プラン決めに時間をかけず、恋人候補や恋人との時間をめいっぱい楽しんでほしい。そんな想いで作りました。効率厨が多そうな(?)エンジニアさんにも気軽に使っていただけるのではないかとおもいます。

こだわったところ

このアプリを作る際にユーザーに届けたかった体験は、「時間をかけずに決められること」。そもそもが「煩わしいものを簡単にしたい」というところからこのアプリの着想が生まれたので、こんな機能をつけたい!あれもこれも!となったときに、必ずこの原点に立ち返って考えるようにしました。そのため、詳細情報を入れてソートするような検索プラットフォームではなく、友達に聞くような言葉で4つの質問に答えるとデートプランを提案してくれるシンプルな機能となっています!

また、アプリ部分でいうと、CollectionViewを使って均等にリストを表示させるUIにこだわりました。これまでTableViewしか作ったことがなく、思っていたよりも実装が難しく感じたのですが、余白を指定するコードなど大変勉強になりました。

また、デザインも1人で担当したのですが、これは最初とても苦しみました。というのも、ユーザーへする質問は2択or3拓のとてもシンプルなものばかり。機能が洗練されていた分、シンプルなデザインでUXを担保する必要があり、難しかったです。前職でバナーを作っていたので多少デザインの勉強をしたことはあったものの、UIデザインは初めてだったため、PinterestなどであらゆるUIデザインをみて勉強しました。デザインの勉強には必要性を感じていて、現在も引き続きCocoda!とモバイルデザインパターンを読むことで勉強しています。

苦労したところ

signupの可否でプロフィール画面とsignup画面の出しわけをしたく、最初はNavigationで実装しようとしていたのですが、rootで繋いだプロフィール画面がどうしても出発点になってしまい、綺麗に出しわけが出来ず、self.view.alpha = 0 などとモーダルを組み合わせる方法も試しましたが下タブタップする度に出てきてうまくいかず、最終的にContainerViewを使う形の設計に落ち着きました。

作成するうえで学んだ技術

-Autolayout、UIStackView

最初に作ったSNSサイトでは、一切使用していませんでした。UIStackViewについて学習し、本アプリでは取り入れています。

-ライブラリ使用

Cocoapodsを利用しています。

-プロトコル指向プログラミング

本アプリは、最初に画面設計をFixさせ、画面遷移を最初に作ったあとにUIを綺麗にし、各画面の機能を実装していくというフローで作成したこと、またアプリ側は私1人での制作だったため、正直プロトコルを意識しなくても困ることはありませんでした。しかし、企業に入ると複数人でコードをいじることが想定されるため、密結合な設計だと問題がありそうだと思い当たりました。そこでプロトコルとデリゲートについて学習し、Classではなくプロトコルを積極的に使用し設計するSwiftの良さというものを知りました。今回のアプリでは完成させることを第一の目標に置いたため、最初からプロトコル指向でかけませんでしたが、できるところから書き換えていく予定です。

3 いいね!
3 いいね!