長野エンジニアライフ

東京から長野に移住したエンジニアのブログです。🦒🗻⛰

【Firebase / Nuxt.js】プログラミング学習時のメモを記録・共有するサービスを作ってみた

こんにちは、@kenji7157です。

私はプラグラミング学習をしていると、色々なところにメモを記録していくので、大量のメモを点在させてしまいます。

そのため「プログラミング学習のメモを気兼ねなく投稿できるサービスが欲しい」と思い、以下のサービスを作りました。

本記事では、こちらのサービスの使用技術やシステム構成について簡易的ですが書いていきます。個人開発の技術選定の参考になれば嬉しいです。 (開発経緯が気になる方は以下をご覧ください。)

https://note.com/kenji7157/n/n3c77ef9b3374

作ったサービス

Kapture 2021-03-26 at 00.56.27.gif

プログラミング学習時のメモを記録して投稿・共有することができるサービスです。

https://ticketnote.dev

使用技術

使用技術は以下の通りです。


※ Firebaseの内、本サービスでは以下を使用しています

  • Hosting
  • Authentication(Googleアカウント)
  • Firestore
  • Storage
  • Functions

他にも特筆して上げておくとemoji-mart-vueというライブラリを使用しています。

(絵文字リストの動作が遅いので、改善方法がありましたらご教授お願いします。) スクリーンショット 2021-03-26 0.35.35.png

Firebaseによるサーバレスアーキテクチャ

システムの構成図は以下のように、Firebaseによるサーバレスアーキテクチャになっています。

image.png

それぞれの役割


このように、Functionsを使ったSSRを実装しています。リージョンの制限の関係でFunctionsはus-central1を指定する必要があります。

https://qiita.com/qoAop/items/249c1f60b4ec2dd286b9

そのため、東京リージョンを指定してSSRが実現できるCloud Runにアプリケーションを移行するかは検討中です。(改善されるよ or あまり変わらないよ っていう情報があれば是非教えて下さい。)

まとめ

本記事をお読みいただきありがとうございました。少しでも興味を持って頂ければ嬉しいです、暇な時に覗いてみてください。

https://ticketnote.dev