Nuxt 3+Spring BootでREST API #0 基本構成
イントロダクション
ここ数ヶ月、タイトルにあるような技術構成でWebアプリの開発をしている。
構築でいろいろと詰まったりしたので備忘録として作業ログを残していく。
やること
APIサーバ、フロントエンド、DBなど基盤構築の手順を記録する。
インフラ(AWS)、CI/CD(GitHub Actions)などにも触れる。
やらないこと
基盤構築周りの話がメインになるため、Nuxtのライフサイクルやら、テスト手法やら、個々の技術要素についての詳細には立ち入らない。
技術構成
以下のような感じ。
API
フロントエンド
- Nuxt 3
- テストはJest
RDB
インフラ
- フロントはS3においてCloudFrontで配信
- APIサーバはECSにデプロイ
- Cognitoで認証認可を行う
CI/CD
- GitHub Actionsで自動テスト+自動デプロイ
- CDKでプロビジョニングのコード化を行うところまでする
目次
適宜リンクは更新していく。
- #0 基本構成 ←本記事
- #1 APIプロジェクトを作成する
- #2 HTTPリクエストを受け付けるコントローラを作成する
- #3 DBをDockerイメージとして起動する
- #4 マルチプロジェクト構成にする
- #5 flywayでDBのマイグレーションを行う
- #6 JUnitでテストを書く
- #7 GitHub ActionsでCI環境を構築する
- #8 フロントプロジェクトを作成する
- #9 NuxtからHTTPリクエストを送る
- #10 Jestでテストを書く
- #11 フロントのテストを自動化する
- #12 フロントのインフラを構築する(手動編)
- #13 フロントのインフラを構築する(CloudFormation編)
- #14 フロントのインフラを構築する(AWS CDK編)
- #15 APIサーバのインフラを構築する(手動編)
- #16 APIサーバのインフラを構築する(CloudFormation編)
- #17 APIサーバのインフラを構築する(AWS CDK編)
まずはAPIプロジェクトを作成するところから。