The Round

合同会社ナイツオの開発ブログ

[PR] 5分から相談できるGCP™ 開発コンサル!→こちら

Firebaseでチャットアプリを作る日記(0日目)〜 決意表明

代表のIkeda(@hogedigo)です。 ものすごく久しぶりの会社ブログ更新となってしまいました(反省)

最近Firebaseがすごく盛り上がっている様に見えます。実は個人的には殆ど触っていないので、勉強がてらアプリでも作って見ようかなー、と思い立ちました。

通常は作ってからまとまった記事を書くとは思うのですが、せっかくなので日々作りながら右往左往している様子を残そうかと思い、日記形式にします(^_^;

とりあえず本日は0日目ということで、決意表明です。

自分のスキルセット

GCP(特にGoogle App EngineとCloud Datastore)を用いた開発に関してはかなりの経験があると自負しています。 今回はCloud Firestore(Native mode)を使おうと思っていますが、Datastoreと似た様なものかな〜?と甘く考えています(^^; Firebaseは社内に経験あるメンバーがいるので、いざとなったらアドバイスを仰ぎます。

JavaScriptは一時期仕事でたくさん書いていましたが、ここ数年は遠ざかっています。

作るアプリ

チュートリアルとかでめちゃめちゃありふれたテーマですがチャットアプリ(WEB)作ります。

仕様は↓なカンジ。

  • slackぽいUI
  • メッセージの編集履歴が全て残る
  • 履歴の修正・削除は不可
  • メッセージの検索機能(全文検索あり)

用途は社内チャットよりクライアントとのやりとりをイメージしてます。 メッセージを全て履歴として残して改竄できない様にするのが特徴です(slackでもプラン次第でできるのかな?)ことで後から「言った、言わない」の争いが起きない様にしたい、というのが主目的です。*1

スレッド機能、Wysiwigエディタ、ファイルアップロードなどは一旦スコープから外します。 

構成

とりあえずの構成です。後で変更するかもです。

  • Firebase
  • Firestore
  • Cloud Functions(?)
  • Svelte

料金を極力抑えられる様な(可能な限り無料の)構成にしたいです。

フロントエンドには最近興味を持ったSvelteを使います。 SvelteやFirebaseと絡むところ以外のフロントコードに関しては別メンバーに手伝って貰います。 本記事はFirebaseがメインテーマなのでSvelteそのものについては端折ります。

目標

Firebase #2 Advent Calendar 2019 12/24にエントリしてしまったので、それまでに初期バージョンを完成して、まとめ記事を書くのが目標です。アドカレ駆動学習です(^^)

完成まで、少ない進捗でも出来るだけ毎日ブログ更新したいと考えています。悩み事も書くかもしれないのでもし識者の方目に留まりましたらアドバイスください🙇

ではでは。 よろしくお願いします!

*1:でももし実用化して自分が使う場合、自分(サービス提供者)の改竄がないことはどうやって保証しよう(・ω・;