[Advent Calendar 2021][Day4]Advent Calendarの設計を検討する

undefined

はじめに

Advent Calendar 2021のDay4。 今回は、どうやって実現するか技術スタックや設計を考えていきます。

技術スタック選定方針

最近のイケてる技術は、完全に主観によるものなので・・、賛否があると思います。 初期の開発では、それほど使いこなせないかもですが、以下の技術を使っていこうと思います。

  • 最近のイケてる技術を使ってみる
    • Hasura GraphQL
      • 最高にCoolな技術
      • 3factor app arthitecture patternに関心がある
      • graphql subscribeによるリアルタイム更新できるといい

お金と時間をかけずに作ることを良しと考えているので、できるだけ労力無く使い始めることができて、従量課金で無料枠が利用できるマネージドサービスを使います。

  • Google Cloudを利用する
    • GAE(GoogleAppEngine)
      • 個人的には、今でもイケてる技術
    • Cloud Run
    • Firebase
      • Authentication
    • CloudSQL
      • Postgres
    • など

開発が進んでいったら、他にも使う技術が増えるかもですが、状況に応じて柔軟に対応していきます。

言語・フレームワーク選定

サーバーサイドは、Go言語中心とする。 フロントエンドは、Nuxt3を使う。

ざっくりした構成図

architecture

ざっくりとしたER図

er-diagram Userは、Firebaseで管理するので、実際にはテーブルは作らない。 記事は、URLをリンクするだけとする。

まとめ

次回は、開発環境を準備していきます。