駆け出しエンジニア / IT起業したい方必見 個人開発2 : アーキテクチャ
前回のエピソードの続きで、今日は私たちのアプリ作りの心臓部、つまりアーキテクチャのお話をしようと思います。もし前回のお話を見逃してしまった方は、ぜひチェックしてみてくださいね!リンクはこちら↓
さて、「アーキテクチャ」と聞くと、ちょっと難しそう...と感じるかもしれませんが、心配無用!今回は、私たちがどんな風にこのアプリを作っていくか、その「設計図」の話をするだけです。
プロジェクトに新しく参加したとき、最初に手に取りたくなるのがプロジェクトの全体図。それがあれば、データがどう動いているのか、全体の流れがサクッとわかって、プロジェクトへの理解が深まりますよね。
今回のアプリの設計におけるキーポイントは以下の通りです。
私たちのアプリで重要なポイントはこんな感じです:
インフラはCDKでコード化: これって、コードを書くことでインフラを作っていく方法なんです。これがいいのは、学びが深まるし、チーム内で環境をパパッと再現できるから。変更履歴もGitで管理できるので、安心ですよね。そして、このプロセスを通じてAWSの知識も自然と身につきます。
サーバレスで賢くコスト削減: サーバを24時間動かす必要がないなら、使った分だけ払えばいいよね、という考え。サーバレスだと、管理もラクラク、コストパフォーマンスもバツグンです。
認証はCognitoにおまかせ: 認証機能って結構厄介で、セキュリティの心配も...。でも、AWSのCognitoを使えば、その心配もなし!安全に認証機能を実装できます。
データベースはPlanetScaleで: RDSもいいんだけど、ちょっとお高いの。そこで、無料で使えるPlanetScaleを選びました。SQLが使えて、学びにもなるし、何よりお財布に優しい!
フレームワークはNuxtJSとExpress TypeScriptで: フロントエンドは、Vueが好きだし、NuxtJSであれば簡単に開発できるから選んだよ。バックエンドはExpressのTypeScript版。これで、バグを減らしつつ、Lambdaともナイスな連携ができちゃいます。
アーキテクチャを描くとき、どれだけ詳細にするかって悩ましいところだけど、とりあえず大枠がわかればOK。開発が進むにつれて、細部はいつでも調整できるから、最初はざっくりとしたアウトラインを描いてみよう。
次回は、この設計図に基づいて、実際にCDKでコードを組み立てていくよ。目標は、すべてのインフラをスムーズにつなげて、データベース接続付きのAPIを実装すること。次回もお楽しみに!
この記事が気に入ったらサポートをしてみませんか?