転生せずにYanbaru-Hackathonでアプリつくったらチートスキル「血滲努力」で無双してしまった件

# チーム名：made in 3mi
* メンバー
* S
* M
* K
* yayoi（筆者）

# アプリ名：なびねーたー

アプリの一言紹介
---
#### ▼課題
* 遊びに行きたいけど、どうやっていけばいいの！？

#### ▼解決案
* 行きたいところをすべて最短で回るルートを作成すればいいじゃない

#### ▼こんなアプリを作りました！
* なぴちゃんに行きたいところを教えて、ルートを教えてくれるアプリ
* ルートの保存
* アプリを使用しているユーザーがどの市町村にいるか分かる
→混んでいる場所もわかる！

#### ▼アプリの一押しポイント！
* メンバーが生み出してくれたナビゲーターの「なぴ」ちゃん
すごくかわいいです。リピート間違いナシ！

アプリの背景
---
Q. 誰のどういう課題を解決するアプリですか？

A. 観光客や地元の人の、いろんなとこ行きたいけどどうやっていけばいいの！？
　を解決するアプリ

 #### 「かわいい」
 #### 「シンプル」
 #### 「また使う」


アプリの紹介
---

<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/a09388b8-130f-f753-2d0b-3398027e28fd.png"></div>
　Androidはこちらから　iOS?知らない子ですねぇ

#### 以下、実機での実行スクショの抜粋
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/c6b8450e-c77a-f4a8-3007-e62a21b879cf.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/040171da-6d4f-5db2-30f7-b88a439c9a74.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/51ed052a-52cd-477b-3254-f24ed5765a07.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/15783170-bdcb-9202-e07b-fbd3c5982d03.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/b0d42233-3bd0-b313-6d57-6ff20cae9ce0.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/8b85a92f-c7a4-eb8d-18fe-85aa86d6fbf6.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/aa298c36-ea14-1c21-051d-b5c0e80d70e4.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/58b59deb-1efc-5fd2-a516-9c4d3c7d3aab.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/5a4040a7-f169-a818-9f5d-0a6e2bb160f9.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/8858bd1c-3a95-051e-2a69-82ce6e9e7199.png"></div>

<div></div>
<div><img width="40%" alt="tester invite QR for android" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/b53babd7-4400-7562-bc10-6496aa17446e.png"></div>


アプリの技術紹介
---
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3731322/c19887ac-85e2-b97f-14ab-e9c46037894c.png)
※一番上のHomeはLoginです。申し訳ない。。。（2024/04/19）


### Login
1．Firebase Authを用いて、ユーザーを作成したりログイン機能を作成

### Home
1．ルートを作成ボタンを押すと、アプリに位置情報を取得するか許可を促すダイアログ表示
2．ボタンをタップした際にtrue/falseや入力されたテキストをfirestoreにユーザー単位で保存
3．保存したデータをもとにGeolocator APIを用いて現在地の座標と目的地の座標を取得
4．Direction APIを用いて、座標を実際の道路に沿って結び、経路を座標化する
5．Google Maps for Flutterを用いて、3の情報をマップに表示
6．目的地をテキストで表示
7．「保存」ボタンを押すと3のデータを端末に保存

### Map
1．ユーザーの現在地をGeolocatorやGeocodingを用いて取得
2．1をもとにマップの対応する座標にマーカーを置く
3．firestoreに保存したユーザーの位置を、市町村単位でマップにヒートマップっぽく表示

### Profile
1．ログアウトボタンを設置
2．端末に保存した経路一覧を表示
3．経路の最終地点の画像をCustom Search APIで画像検索し、表示
4．保存した経路を選択すると、目的地までのルートをテキストとマップで表示

こだわり
---
### デザイン
* 使いやすい！また使いたい！と思ってほしいため、UIをシンプルにしたり、
オリジナルキャラを使用した
* 幅や高さを画面の比率で指定することにより、ハードウェアの差なくUIを実装した

### 機能
* ユーザーの行きたい経路を、行きたい順にナビゲーションした
* 作成した経路を保存して、プロフィールから確認できるようにした
* マップに現在地を表示して、沖縄県の市町村単位でユーザーの位置情報をとり、
ヒートマップ化した
* ログイン機能をつけることで、ユーザーごとのデータ登録を可能にした

### 技術
* Googleの提供しているAPIを複数使用して、現在地や行きたい場所の座標をとり、
実際の道に沿ってルートを作成した
* firestoreに、ユーザーごとのデータを保存できるようにした
* Googleの検索APIを用いて、プロフィールに表示する過去の経路の目的地の画像を
表示させた
* 経路情報や画像データは重いので、端末に保存することで、クラウドに保存するよりも
高速に動作するようにした

今後の意気込みについて
---
### メンバーS
* 初めてのことだらけでいろいろ大変だった
* おそらく一番足を引っ張ってたと思う
* 同じチームの人たちが優秀すぎる
* これを機にグループ内でうまく立ち回れるようになりたい
* 次があったら報連相を徹底したい

### メンバーM
* 将来エンジニアにはなるもんかと思っていたが今回の経験で開発の楽しさに気づけた
* 今回はそんなに関わらなかったけどデザインセンス大事だなと思ったので学びたい
* 次はもっと自分にしかできないことでチームに沢山貢献できればと思う
* 報連相と体調管理はとても大事！！

### メンバーK
* とても良い経験になった。将来の就職にも活かしていきたい
* グループとの連携の大切さを改めて感じました
* データの取り扱いについて全然触れてこなかったので難しかったけど、学びがあった
* そしてキャラデザ採用嬉しい！！

### リーダー筆者：@y4yoi_n）
* 今までのチーム活動の経験を生かしてリーダーシップをとれたと思う
* フロントもバックもできるテックリーダーみたいな起業家になりたい
* まだまだ世に出せるものは作れていないと思っているので、技術やアイデアを磨きたい
* 昨日誕生日だったので祝ってほしい（3月1日）

俺たちの開発はこれからだ！
---