# EC：推奨構成

> 作成：2026年9月。前提：PHPは選択肢から除外。個人の既定であり、プロジェクト固有の要件・既存資産・チームの制約と食い違う場合はそちらを優先する。
> バージョン番号は書いていない。採用時は各ツールの最新安定版を確認して使う。料金も記載していないので、各サービスの最新の料金ページで確認する。

前提（既定の条件）：実行環境＝指定なし（PaaS可）
案件の条件が前提と違う場合は、下の「条件が違うとき」で該当する行を確認する。

## 推奨：Shopify または Medusa
- 独自要件が少なければSaaSに任せるのが最も安全で安い。定期購入・BtoB価格など独自要件が多いならMedusa（§19-2、§19-3）

## 構成

### 独自要件が少ない（§19-2 をもとに作成）
| レイヤー | 採用 |
|---|---|
| 本体 | Shopify（テーマはLiquid） |
| 決済 | Shopify Payments＋国内決済アプリ |
| 追加機能 | Shopifyアプリ。独自処理が必要ならShopify Functions |

### 独自要件が多い（§19-3 をもとに作成）
| レイヤー | 採用 |
|---|---|
| コマースエンジン | Medusa（TypeScript） |
| フロント | Next.js＋shadcn/ui |
| DB | RDS for PostgreSQL |
| 決済 | Stripe＋KOMOJU（国内決済手段） |
| 検索 | Meilisearch |
| 画像 | Cloudflare Images |
| メール | Amazon SES＋React Email |
| インフラ | ECS on Fargate、Cloudflare（CDN・WAF・Waiting Room） |
| 監視 | Sentry＋Grafana Cloud |

## 運用の内訳
- 自分で書く：Liquid、Next.js、shadcn/ui、React Email
- 自分で運用する：Medusa、Meilisearch、ECS on Fargate
- マネージドに任せる：Shopify、Shopify Payments、Shopify Functions、RDS、Stripe、KOMOJU、Cloudflare Images、Amazon SES、Cloudflare、Cloudflare Waiting Room、Sentry、Grafana Cloud

## 条件が違うとき（既定との差分）
- 実行環境＝オンプレ・VPS：インフラ＝Kamal（Dockerコンテナをゼロダウンタイムでデプロイ）

## §19-2 EC（標準）

```mermaid

flowchart TB
  U["購入者"] --> S["Shopify<br/>Liquid テーマ"]
  S --> P["Shopify Payments"]
  S --> A["Shopify アプリ／Functions"]

```

## §19-3 EC（独自要件が多い）

```mermaid

flowchart TB
  U["購入者"] --> CF["Cloudflare<br/>CDN・WAF・Waiting Room"] --> N["Next.js"]
  N --> M["Medusa API<br/>ECS Fargate"]
  N --> IMG["Cloudflare Images"]
  M --> DB[("PostgreSQL<br/>RDS")]
  M --> MS["Meilisearch"]
  M --> PAY["Stripe／KOMOJU"]
  M --> SES["Amazon SES"]

```

## §26-1 共通の準備

```bash
# 言語・ツールのバージョン固定（使う言語だけ）
mise use node@lts pnpm@latest
mise use go@latest
mise use ruby@latest
mise use python@latest uv@latest

# Gitフックと依存更新
pnpm add -D lefthook && pnpm exec lefthook install
# renovate.json を置き、GitHubでRenovateアプリを有効化する
```

## §26-3 EC・独自要件（§19-3）

```bash
npx create-medusa-app@latest
pnpm create next-app@latest storefront
```

## 次に読む
- §7: https://stackbook.kom3da.dev/s/7.md
- §19-12: https://stackbook.kom3da.dev/s/19.md（「### 19-12.」の節）
- §23: https://stackbook.kom3da.dev/s/23.md
- §24: https://stackbook.kom3da.dev/s/24.md
- §25: https://stackbook.kom3da.dev/s/25.md
