seki221 / graduation-exam

0 stars 0 forks source link

■サービス概要
このサービスは、旅行の予定や実績を記録・管理できるツールです。ユーザーは旅行先、日程、交通手段、費用などを入力し、訪問後に感想やレビューを記録し共有する事もできます。 各旅行の記録はカード形式で表示され、思い出を振り返ったり、他者と共有したり、プライバシー設定で公開範囲を選択したりすることができます。
■ このサービスへの思い・作りたい理由
まず蛇足になりますが正直な話旅程アプリを作ろうとしておきながら、というより旅行が好きでありながらその手のアプリやサイトを知らなかったです;
そして旅行の計画を立てたり、旅行後に思い出を振り返ったりする際に、メモや写真アルバム、エクセルといった初歩的なことだけでは管理が難しいと感じた経験がきっかけとなりました。準備段階では、計画していた場所を忘れてしまったり、予算や時間の計算が管理しづらくなることがありました。
これが一番とも言えるきっかけですが特に、複数の行きたい場所がある場合スケジュール調整が非常に難しく、どうやって時間を調整するかに頭を悩ませることが多かった点です。
そこで、旅行先の予定、費用、目的地を簡単に入力・管理できその上で計画時の時間管理が行いやすいツールが必要だと感じました。更に旅行内容を後から振り返ることが出来、次の移動の計画の時に役立てれる様にという思いが、このサービスの発案につながっています。
先述した通り既存のサービスはいくつもあり、かつそのいくつかは完璧とも言えるほどですがそれでもよく言えば分かりづらい、また欲を言えばこういうのが欲しいといった機能は当然あります。それを運営に言えば簡単かも知れないですがエンジニアを志す者としては取り敢えず自分で作ってみようがモットーだと思い,開始しました

■ ユーザー層について
・ユーザー層
大きく言えば旅行好きであり"そこそこ"旅慣れている人
もう少し細かく言えばしっかりと予定を立てる(入れる)タイプ、なんなら入れ過ぎるくらいの人

・どうしてその層を対象にしたのか
予定を入れすぎる人は行った先での経験より立てる段階で苦労する傾向にある(自論ですが)
そういった方に言えるのは各ルートやそれぞれ施設での時間関係の詰まりをどう解消するか、なのですがそこに関して既存アプリで類似機能こそあるがその+aが欲しかった(”差別化”で詳細を書いています)
■サービスの利用イメージ
ユーザーがこのサービスをどのように利用できて、それによってどんな価値を得られるかを簡単に説明してください。
前提として、また基本的にこのサービスは「共有」という概念を持たせないつもりでいるがユーザーごとに公開非公開選択できる
旅程の場所や経費など諸情報を一元管理し又ルート検索(地図アプリの様な意味ではなく※)目的地毎の時間配分などをやりやすく分かりやすい様な作りを目指す
またユーザーが望めば旅行後のブログ(掲示板)感覚で公開するようなサービスも考えている
____
※天気系APIを用いての予報情報も考えていたが両者とも既存のサービスがデカすぎる上に、纏めて単一サービス上で使用できるのは楽だとしても昨今メリットが薄いと思う
また所謂「餅は餅屋」だと思うのでせめて後々にという事にする

■ ユーザーの獲得について
想定したユーザー層に対してそれぞれどのようにサービスを届けるのか現状考えていることがあれば教えてください。
正直想定できてないですが案としてはSNSでこのサイトどうですか?といった感じで意見を求める…くらいしか

■ サービスの差別化ポイント・推しポイント
似たようなサービスが存在する場合、そのサービスとの明確な差別化ポイントとその差別化ポイントのどこが優れているのか教えてください。
独自性の強いサービスの場合、このサービスの推しとなるポイントを教えてください。(”層の対象”の詳細でもあります)

既存アプリは通常使用では正直問題ないくらい完璧なのでどこか差別化とかアレンジを加えると言ったところは大変悩んだ
ただあるかなり利便性が高い一方で逆に”惜しい”と思う部分やこれが欲しいと思う部分があった
具体的にいうと一番求めている機能のツアーリストの時間変更に伴う並び替えをしたい時、殆どのサービスは目的地毎に再度時間入力(手動変更)が必要だが当サービスが求めているのはデジタル感覚の直感的に変更できるサービスです
分かりやすくいうと(特にスマホを持っている人なら早いが)カレンダーアプリだと長押しからのスライドで時間変更ができる、そういった仕様を取り入れたい

■ 機能候補
現状作ろうと思っている機能、案段階の機能をしっかりと固まっていなくても構わないのでMVPリリース時に作っていたいもの、本リリースまでに作っていたいものをそれぞれ分けて教えてください。
●MVP に含める機能
ユーザー登録機能、ログイン機能、ログアウト機能
パスワードリセット
パスワード変更
メールアドレス変更
当アプリのツアーリストの CRUD(登録・参照・更新・削除)機能
→予定などの入力、タグの追加
画像アップロード機能
レビュー機能
→行った先の感想を文として書くとかよくある⭐️5とかの機能
検索機能(単語検索、タグ検索、) レスポンシブ対応(予定上必要だが最悪後回し可)
ーーー以下差別化の売り
カレンダー機能とそこにつけるスライド(ドラッグ)での時間変更機能
ブックマーク
そのブックマークリストからツアーリストに追加する
●MVP後(本リリースまで)で良い機能
コメント機能(投稿・編集・削除)
ページネーション
退会機能
利用規約(よく分かっていない以下同)
プライバシーポリシー
お問い合わせ

●余裕次第で加える機能
SNS ログイン
管理画面(機能)

●MVP 後も含めなくて良い可能性がある機能
タイトル動的出力(あったらあった程度)
ファビコン(同上)

■ 機能の実装方針予定
一般的なCRUD以外の実装予定の機能についてそれぞれどのようなイメージ(使用するAPIや)で実装する予定なのか現状考えているもので良いので教えて下さい。

  1. ユーザー認証(ログイン・登録・ログアウト)
    技術: Ruby, Rails
    Gem: Devise
    ↪︎見た目や機能面を考えるとモーダルやjsを利用してポップアップでの認証ページ(Xのような感じ)は面白そうだが1からの学習が追加が加わるので少々現実的ではない気がする
  2. 画像アップロード
    技術: Ruby, Rails
    Gem: carrierwave
    ユーザーが旅行の写真をアップロードし、記録に添付できる機能。
  3. 目的地リストの動的追加・削除
    技術: JavaScript, jQuery(または任意のフロントエンドフレームワーク)
    「地点を追加」ボタンを押すと、入力フィールドが動的に追加されるようにします。
  4. お気に入り機能
    技術: Ruby, Rails
    Gem: acts_as_favoritableなど(お気に入り用Gem)または自作リレーション(カリキュラムでやったものかと)
    お気に入りの地点や旅行記録をリストに追加する
  5. 検索機能
    技術: Ruby, Rails
    Gem: Ransack(検索フィルター用)
    マルチ検索:Stimulus Autocomplete
    旅行記録やタグ、目的地などを複数の条件で検索できる機能。
  6. レビュー機能
    技術: Ruby, Rails,(JavaScript)
    各旅行記録に短文で複数のレビューを追加できる機能。
  7. コメント機能
    技術: Ruby Rails
    他者の記録(や現状考慮してないがグループ機能での作業)でコメントを投稿できる
  8. Google Maps APIによる場所の自動補完
    技術: JavaScript, Google Maps API
    API: Google Places API
    目的地入力時に自動補完機能を追加し、ユーザーが簡単に正確な場所を選択できるようにします。
  9. ドラッグ&ドロップによる並び替え
    JavaScript系{
    FullCalendar
    Sortable.js
    }
    HTML5 Drag and Drop API
    gem:acts_as_list
    目的地の順序をユーザーが直感的に並び替えられるようにします。
  10. レスポンシブデザイン
    技術: CSS, BootstrapまたはTailwind CSS
    モバイルデバイスでも見やすいレイアウトを提供するため、レスポンシブ対応のCSSフレームワークを使用します。