オンライン書店 ECサイト
Laravel + Inertia.js + React で構築したフルスタック EC サイト。Stripe Checkout による決済フローと Webhook による注文確定、Cloudflare R2 への画像アップロード、商品CRUD・在庫管理機能を実装しました。
Tech Stack
ReactLaravelInertia.jsStripeCloudflare R2
Story
実案件で制作した児童書専門店のコーポレートサイトの世界観を下敷きに、「制作(静的サイト)→開発(動的EC)」への発展を見せることを目的に作りました。実在の店舗・商品・画像は使用せず、架空の絵本店として設計しています。
児童書専門店コーポレートサイトを見る →Highlights
- —Stripe Checkout決済〜Webhookによる注文確定(署名検証・冪等な状態更新)
- —商品CRUD・画像アップロード・カテゴリ複数選択(Cloudflare R2連携)
- —論理削除によるゴミ箱機能(復元・一括操作対応)
- —ロールベースの権限分離(admin/customerのミドルウェア制御)
- —注文金額のスナップショット化(価格変更後も過去注文を保護)
- —カテゴリ・対象年齢での絞り込み検索
⚠️ 初回アクセス時、Render無料プランの仕様上サーバー起動に数十秒かかる場合があります
デモ用アカウント
| 権限 | メールアドレス | パスワード |
|---|---|---|
| 一般ユーザー | [email protected] | password |
| 管理者 | [email protected] | password |
ポートフォリオ公開用のデモアカウントです。決済はStripeのテストモードのみで動作します。
テストカード番号: 4242 4242 4242 4242
有効期限: 任意の未来の日付
セキュリティコード: 任意の3桁