# 学生 x 観光・旅行 * コロナ後に行きたい観光地(みその) * 死ぬまでにもう一度行きたい観光地(みその) * 学割で長期休み期間に安く行ける観光地・観光プラン(みその) * 社会人になる前に必ず行くべき観光地(みその) * あいうえお * * 自分の知らない観光地が知りたい (藤井) * 自分の行ったことの有る観光地をいれて、自動的におすすめ出す * ランダムに出す(最低でもその人が行ったことがないところを示す) * 最初にちょっとしたアンケート ## 旅行計画アプリ * メインの観光地は決まったけど他の日の予定を決めてほしい    メガネ工場を見学したときに周りのところも見たい * アプリから圧をかける * マイナーな観光地が知りたい (学生感)     人混みを避けたい いきつくしてしまった サブカル他の人 自分の知らない観光地が知りたい    * ランダムに出す(最低でもその人が行ったことがないところを示す) * 自分の行ったことの有る観光地をいれて、自動的におすすめ出す * マイナーデーターベース * GoogleMapに載ってないような(上野) * 最初にちょっとしたアンケート * いい卒業旅行がしたい * 鯖江市にスポットを当てたツアー <!-- ## 旅行気分体験アプリ * コロナ渦でも旅行気分が味わえるなにか (藤井) * 旅行しないと買えない商品を食べながら VR * 写真を送ってくる * 旅行の写真が撮れる * ECにする ## 学割アプリ * 学生なので安く旅行したい * 学割で長期休み期間に安く行ける観光地・観光プラン(みその) --> <!-- ## ターゲット 1. マイナーな観光地で働く人 (現地) 2. 物好きでゲーム好きな高専生 (旅行者) 3. コロナ渦での旅行の仕方に厳しい世間、行政 ## * マイナーな観光地に向かう動機 * ゲームの競技性を利用する * 現地に着いたユーザーは、アプリに情報を送信 * アプリから現時点で、その観光地に何番目に訪れたかが帰ってくる * 順番で点数が決まっている --> ## issue & task (開発1日目) 1. issue * front: まず、送られてきたデータを映すsectionタグ,scriptタグを作っておく。 * Home画面 * * 旅行先紹介ページ(serverにfetchして表示) * <script />タグの中身だけ * server: server建てる、初回する旅行先をレスポンスするAPI serverを建てて、public/にあるindex.htmlを表示する。 route GET http://localhost:8000/api/places を通す。 * data/ -> 簡易データベース * front-server間のJSONファイル構成 _data/ にテストファイル入ってる ```javascript= { id: integer, name: string, description: string, thumbnails: [url, url, url], latitude: 123, longitude: 456 } ``` 2. task * いつき * serverを建てて、static/にあるindex.htmlを表示する。 * GET /api/places でplacesを返すAPIを作成 * みその * frontのデザイン等 * Yune * まず、送られてきたデータを映すsectionタグ,scriptタグを作っておく。 * 3flower * serverを建てて、public/にあるindex.htmlを表示する。 --- ## issue & task (二日目) 1. issue * front * like, dislikeのbutton実装 * データをある程度まとまった個数もらっておく * like -> その場所の情報を取得 (座標、住所とか) -> 詳細画面へ * dislike -> 次の場所 * まとめてGETリクエスト * すでにリクエストしてある物の残りから表示する * 詳細画面 * descriptionの全文表示 * Map表示 * 関連するおすすめの場所表示 * server * data/ * longitude, latitude追加 * simage追加 * GET /api/places で30個のデータを返す。 * 緯度・経度の情報をデータに追加 * 緯度・経度の情報から近い場所を探しておすすめの場所として3件返す。 * GET /api/places/?longitude=123&latitude=244 * returnするものを ```json { success: boolean, data: [...places] } ``` 読み込み成功 ```json { success: true, data: [...places] } ``` 読み込み失敗 ```json { success: false, data: [] } ``` 2. task * いつき & 3flower * data/の整形 * GET /api/places/?longitude=123&latitude=244 実装 * みその * * 緯度・経度の情報から近い場所を探しておすすめの場所として3件返す。 * Yune * like, disklike付きのページ * dislikeを押すと次に移る機能の実装 * 詳細画面 --- ## issue & task (三日目) 1. issue * service名の検討 * データはそもそも鯖江のニッチな場所のデータが集まっている体。 * ターゲット: ニッチな物を好む学生(高校生) * front * 詳細画面の完成 * レコメンドされた場所の名前をクリックするとその詳細ページに飛ぶ * 詳細ページでlike数も表示するようにする * likeボタンを二次使用? * dislikeされた回数でマイナー判定? * dislike, likeのiconや言葉の検討 * dislike -> もっと他のを見たい * like -> DBないの like += 1 * server * database検討(SQLite) * 今あるjsonファイルから置き換え作業 * マイナー度を測る指数(dislike数?)でsortしてよりマイナーな場所をだす。 * CRUD機能 * 画面が増える * 小さい機能でなにか * たとえばlike, dislikeされた回数を保存しといて、集計 * api * GET placeでlike数も返すようにする 2. task * いつき * * みその * * Yune * 詳細画面 * Mapの表示 * 近場のおすすめ場所への遷移機能 * Like, Dislikeのアイコン * 画像のキャッシュ or ReviewPaneコンポーネントのキャッシュ ## issue (3日目後半) * アプリ名を決める: * nicheller (ニチェラー) * myjourney * nichetraveler * NicheTravelAgency * ニッチな場所お伝えします.com * NextNiche * m8k!tuniq (make it unique) * NicheStreet * SearchNicheSite Explorerでも良いかも * niche niche! niche!! * ロゴ: * like, dislikeボタンをどうするか: * like: niche! * dislike:-> (右矢印icon) × * visionの見直し * コンセプト:ニッチな旅行先をレコメンドするアプリ * ターゲット:旅行先を探している高校生 * 新機能 * front * 詳細ページにniche度(順位)を表示する * server * GET place apiでその場所のlike数をincrement * seeder内でopenDataをinsertした後に、likesにrandomな数字を割り振る * like数をsortすることが可能になる。 * frontにniche度(likesを小なりにsortしてランキング化・順位)を返す ## issue & task (最終日) 1. issue & task * 名前:nicheller * ロゴ: * front * 詳細ページにniche度(順位)を表示する * like, dislikeボタンのUIの検討 * アプリ名の決定・表示 * server * db内のdataのlike数に応じてsortしてfrontにその場所のniche度ランキングを返す。 * sortするタイミングの検討 * apiRequest度? * もっと上手く出来そう? ## 発表用スライド 1. アプリ名 2. 概要 3. アプリ動作画面