見出し画像

駆け出しエンジニア / IT起業したい方必見 個人開発2 : アーキテクチャ

前回のエピソードの続きで、今日は私たちのアプリ作りの心臓部、つまりアーキテクチャのお話をしようと思います。もし前回のお話を見逃してしまった方は、ぜひチェックしてみてくださいね!リンクはこちら↓

さて、「アーキテクチャ」と聞くと、ちょっと難しそう...と感じるかもしれませんが、心配無用!今回は、私たちがどんな風にこのアプリを作っていくか、その「設計図」の話をするだけです。

プロジェクトに新しく参加したとき、最初に手に取りたくなるのがプロジェクトの全体図。それがあれば、データがどう動いているのか、全体の流れがサクッとわかって、プロジェクトへの理解が深まりますよね。

今回のアプリの設計におけるキーポイントは以下の通りです。

アーキテクチャ
  • 私たちのアプリで重要なポイントはこんな感じです:

    • インフラはCDKでコード化: これって、コードを書くことでインフラを作っていく方法なんです。これがいいのは、学びが深まるし、チーム内で環境をパパッと再現できるから。変更履歴もGitで管理できるので、安心ですよね。そして、このプロセスを通じてAWSの知識も自然と身につきます。

    • サーバレスで賢くコスト削減: サーバを24時間動かす必要がないなら、使った分だけ払えばいいよね、という考え。サーバレスだと、管理もラクラク、コストパフォーマンスもバツグンです。

    • 認証はCognitoにおまかせ: 認証機能って結構厄介で、セキュリティの心配も...。でも、AWSのCognitoを使えば、その心配もなし!安全に認証機能を実装できます。

    • データベースはPlanetScaleで: RDSもいいんだけど、ちょっとお高いの。そこで、無料で使えるPlanetScaleを選びました。SQLが使えて、学びにもなるし、何よりお財布に優しい!

    • フレームワークはNuxtJSとExpress TypeScriptで: フロントエンドは、Vueが好きだし、NuxtJSであれば簡単に開発できるから選んだよ。バックエンドはExpressのTypeScript版。これで、バグを減らしつつ、Lambdaともナイスな連携ができちゃいます。

アーキテクチャを描くとき、どれだけ詳細にするかって悩ましいところだけど、とりあえず大枠がわかればOK。開発が進むにつれて、細部はいつでも調整できるから、最初はざっくりとしたアウトラインを描いてみよう。
次回は、この設計図に基づいて、実際にCDKでコードを組み立てていくよ。目標は、すべてのインフラをスムーズにつなげて、データベース接続付きのAPIを実装すること。次回もお楽しみに!


この記事が気に入ったらサポートをしてみませんか?