Firebase CloudFirestoreの使い方を初心者が解説してみた

#Firebase CloudFirestoreとは？
googleが提供してるバックエンドで機能するデータベースサービス。
SQLの知識無くても、データベースの作成、データの格納が簡単に行えるので、データベースの構築時間が大幅に削減できるという便利ツールです。

このFirebase CloudFirestoreを使って、LINEから送られてきたデータを格納するという仕組みを構築した時の覚書です。

#Firebase CloudFirestoreの登録
https://firebase.google.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/07e56862-eb57-3395-9922-1a7fe9f7ee35.png)

#プロジェクトを追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/62dea010-3663-e58e-ebc3-ef5bc6ef346d.png)


##プロジェクト名
LINEと連携するためのdtabaseなので【LINEdata1】としました。
任意の文字列で大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/d3a1f0ec-1189-0daf-09a5-78fd25d49fef.png)

##Google アナリティクス
Google アナリティクスを有効にするか選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/f35f5292-8fc8-4596-2e74-30d1d45a3047.png)

##アカウント選択
新しいアカウントを作成を選択
任意の文字列を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/d522480e-9551-73e4-cc9f-12c251036068.png)

必要項目を選択、チェックを入れて【プロジェクトを作成】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/8c660ca0-015e-b6c5-b220-88dad69426e2.png)

準備が整うと以下の画面になるので【続行】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/80cc26ee-2a55-d2ef-de5f-8878a01290d6.png)

#アプリを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/9830235b-df65-6949-19f0-84c201f5afe2.png)

##アプリ名を登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/f97da041-8f3e-a259-027a-d20285fc3f5d.png)

##SDK出力
<body>直下へ記述する事でFirebase CloudFirestoreが使えるようになります。
コピーしてメモをしておきます。
【コンソールへ進む】をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/18e8b65f-0aa9-ae46-b983-f48c532da7ea.png)

#データベースの設定
##Cloud Firestore
ダッシュボードへ戻ってくるので【Cloud Firestore】をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/f8e0a7cf-3182-d2a2-6473-a0bf3a16b1f5.png)

##データベースの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/6fe3072b-abba-8b3e-1269-d04842d81be1.png)

##テストモードで開始
今回、練習なのでテストモードで開始を選択しました。
テストモードだと30日間しか使えない事に注意です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/6f02693f-2cc2-4bb9-9369-385de51f6583.png)

##ロケーション設定
そのまま【有効にする】をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/c98ba171-e6af-3b7a-9f9b-7c5d9834df19.png)

#データベースの値設定
【コレクションを開始】をクリックして、格納したい値を設定していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/4246fd87-fbb1-972c-a4bd-6ecd5a793a0b.png)

##コレクション名
任意の英数文字列を設定します。
ユーザーに関するデータを格納していきたいので、今回は例と同じuserにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/a1de2892-df00-b3a6-0411-b7033fa35650.png)

##格納データを決める
ドキュメントIDは今回自動設定にするので【自動】をクリックします。
・ID - 自動生成
・name　- 名前
・address - 所在地
上記3件をデータベースに格納していく設定にしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/e05eed28-3a87-2a90-9d5b-e4e01e5c9fdb.png)

##データの見方
UserのID「JuoskBnz3Zt3JayLeVJy」という方のnamaeは「名前」でaddressは「東京都」
という情報を見る事が出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/42eda1fd-1c8c-a4f6-9f54-7aa1c8c3fc3a.png)

#LINEから送られてきたデータを格納
Firebase CloudFirestoreの準備は出来たのでいよいよLINEから送られてきたデータを格納します。
長くなったので記事を分けて、
[Firebase CloudFirestore X LINE X webアプリを接続](https://qiita.com/misa_m/items/f85129ef2fd3150e7330)で紹介をしています。

webサイトの入力フォーム値をへ格納する仕組みは
[webサイトから入力したデータをFirebase CloudFirestoreに保存](https://qiita.com/misa_m/items/6cb3426795c4f1410171)で紹介しています。

ホームページ制作のweb屋から、データを扱えるシステム系web屋に進化を遂げていると実感。
新しい技術の習得は面白いです！