3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webアプリ構築カレンダーAdvent Calendar 2023

Day 21

【Day 21】ブログ一覧を取得し、表示する - API アーキテクチャ

Last updated at Posted at 2023-12-20

はじめに

スライド22.PNG


2023年アドベントカレンダー20日目です。

昨日に引き続き、「ユーザーはトップページでブログタイトルの一覧を見ることができる」を進めていきます。

image.png

現在はRustのAPIを作成しており、本日はアーキテクチャを検討していきます

モジュラーモノリス

モジュラーモノリスとは、モノリシックな構造を持ちつつも内部でモジュールに分割されているのが特徴である、ソフトウェアアーキテクチャの一つです。

ソフトウェアアーキテクチャの一つで、簡潔にアプリケーションを表現することが可能です。

アプリケーションが大きくなる際は、マイクロサービスのようなアーキテクチャを採用すると良いと思いますが、今回のAPIではそれほど複雑になる予定は今のところないので、モジュラーモノリスを選択しました。
(作ってみたかった)

今回は図のようにブログモジュールだけで良さそうなので、ブログモジュールを持ったAPIを作っていきます

ディレクトリ構造

ブログモジュールを持つ、RustのAPIのディレクトリ構造を考えました。

.
├── Cargo.lock
├── Cargo.toml
├── blog      ・・・・ブログモジュール
|   ├── src/
|   └── Cargo.toml
├── db      ・・・・DB
├── e2e    ・・・・E2Eテスト
├── src       ・・・・メインモジュール

これをベースに作っていきます

クリーンアーキテクチャ

Webと同様にクリーンアーキテクチャの思想に基づいてアプリを構築していきます

クリーンアーキテクチャについては【Day 11】で解説しています。

アーキテクチャ図

このようになりました。

明日からはついにモジュラーモノリスで、クリーンアーキテクチャに基づいてアプリの実装を進めていきます!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?