# 学生 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. アプリ動作画面