---
# System prepended metadata

title: 学生 x 観光・旅行

---

# 学生 x 観光・旅行

* コロナ後に行きたい観光地(みその)
* 死ぬまでにもう一度行きたい観光地(みその)
* 学割で長期休み期間に安く行ける観光地・観光プラン(みその)
* 社会人になる前に必ず行くべき観光地(みその)
* あいうえお
* 





* 自分の知らない観光地が知りたい (藤井)
    * 自分の行ったことの有る観光地をいれて、自動的におすすめ出す
        * ランダムに出す(最低でもその人が行ったことがないところを示す)
        * 最初にちょっとしたアンケート

## 旅行計画アプリ
* メインの観光地は決まったけど他の日の予定を決めてほしい
　　　メガネ工場を見学したときに周りのところも見たい
    * アプリから圧をかける
    
* マイナーな観光地が知りたい (学生感)
　　　　人混みを避けたい
  いきつくしてしまった
  サブカル他の人
  自分の知らない観光地が知りたい
  　　　* ランダムに出す(最低でもその人が行ったことがないところを示す)
    * 自分の行ったことの有る観光地をいれて、自動的におすすめ出す
    * マイナーデーターベース
    * GoogleMapに載ってないような（上野）
    * 最初にちょっとしたアンケート
* いい卒業旅行がしたい
* 鯖江市にスポットを当てたツアー

<!--
## 旅行気分体験アプリ
* コロナ渦でも旅行気分が味わえるなにか (藤井)
    * 旅行しないと買えない商品を食べながら VR
    * 写真を送ってくる
    * 旅行の写真が撮れる
    * ECにする

## 学割アプリ
* 学生なので安く旅行したい
    * 学割で長期休み期間に安く行ける観光地・観光プラン(みその)
-->

<!-- 

## ターゲット

1. マイナーな観光地で働く人 (現地)
2. 物好きでゲーム好きな高専生 (旅行者)
3. コロナ渦での旅行の仕方に厳しい世間、行政

## 

* マイナーな観光地に向かう動機
    * ゲームの競技性を利用する
        * 現地に着いたユーザーは、アプリに情報を送信
        * アプリから現時点で、その観光地に何番目に訪れたかが帰ってくる
        * 順番で点数が決まっている




-->





## issue & task (開発１日目)

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