SPEC SHEET / v1.0 — FINALIZED

アパレルEC構築仕様書

webdesigngarden.com 等を参考にしたアパレル販売ECサイトの新規構築。本書はデザイン提案・実装に入る前の合意事項をまとめたもので、ヒアリング内容をもとに作成している。太字の「要確認」箇所は未決定・要相談。

Brand(mock)
FADEN
Category
Apparel EC
Scope
中規模+(20画面超)
Hosting
GitHub → Cloudflare
Operator
個人(仮情報)
Date
2026-09-01
01 — 概要・目的

何を作るか

アパレル商品(衣料・雑貨)を扱う自社ECサイト。カタログとしてだけでなく、カート投入から決済・注文管理までをサイト内で完結させるフル機能のオンラインストアとする。

参考にするもの

webdesigngarden.com は国内Webサイトの事例を「サイト種別」「業種」「印象・レイアウト」「配色」「フォント」などの軸で検索できる、日本語のデザインリファレンスギャラリー。今回はここに掲載されるような国内アパレルEC・LPの実例を横断的に参照し、デザイン提案フェーズで複数の方向性(印象)を試作する。

ターゲットユーザー

  • スマートフォンから商品を探して購入する一般消費者(EC全体でモバイル比率が高いことを前提に設計)
  • 再訪してマイページから注文履歴を確認するリピーター
  • 商品・在庫を管理する運営スタッフ(管理画面利用者)
決定(モック) ブランド名・ロゴ・カラーは本番未定のため、モック用に仮ブランド「FADEN」(ロゴはワードマークのみ、ブランドカラーは深緑#3f4f3f+生成り#f4f1e6)を仮設定して進行。本番前に差し替え。
02 — サイトマップ

ページ構成(中規模・約20画面)

「公開」は誰でも閲覧可能、「会員」はログイン後のみ、「管理」は運営者専用の画面。

区分画面概要優先度
公開トップページブランド世界観、注目商品・キャンペーン、カテゴリ導線必須
公開商品一覧(カテゴリ別)トップス/ボトムス/アウター/アクセサリー等でフィルタ・並び替え必須
公開検索結果キーワード検索・絞り込み必須
公開商品詳細画像ギャラリー、サイズ/カラー選択、カート投入、お気に入り登録、レビュー閲覧・投稿必須
公開カート選択商品の確認・数量変更・削除(ゲストでも利用可)必須
公開チェックアウト配送先入力、送料計算、クーポンコード入力、決済方法選択(ゲスト購入可)必須
公開注文完了注文番号表示、確認メール送付必須
公開会員登録 / ログインメール・パスワード方式必須
会員マイページ(トップ)注文・登録情報への導線必須
会員注文履歴 / 詳細過去注文・配送状況の確認必須
会員会員情報 / 住所管理登録情報・お届け先の編集必須
会員お気に入り商品の保存・一覧必須
公開会社概要運営者情報必須
公開お問い合わせフォーム必須
公開特定商取引法に基づく表記法定表示(通信販売に必須。個人運営でも氏名・メールは常時表示必須、住所・電話は開示請求受付制での省略可)法令
公開プライバシーポリシー個人情報の取り扱い法令
公開利用規約サイト利用規約必須
管理ダッシュボード売上・注文サマリ必須
管理商品管理商品・在庫・画像のCRUD必須
管理注文管理ステータス更新・出荷処理・入金待ち自動キャンセル状況の確認必須
管理クーポン管理クーポンコードの発行・条件設定必須
管理レビュー管理投稿レビューの確認・非表示化必須
03 — 機能要件

実装する機能

商品閲覧・検索

  • カテゴリ・価格帯・サイズ・カラーによる絞り込み、並び替え(新着・価格・人気)
  • 商品はサイズ×カラーの「バリエーション」単位で在庫を持つ
  • キーワード検索(商品名・説明文が対象)

カート・購入

  • 会員登録なしのゲスト購入を許可する(会員登録は任意、購入後に注文確認メールで対応)
  • 在庫数を超える注文を防ぐため、決済前に在庫を再チェック

送料

  • 全国一律 500円
  • 沖縄・離島は +300円(合計800円)。配送先住所の都道府県/郵便番号で判定

出荷・発送通知

  • 管理画面の注文管理から出荷処理を行う際に、配送業者名と追跡番号を入力する
  • 出荷完了時に送信する発送通知メールに配送業者名・追跡番号を記載する

お気に入り・レビュー・クーポン

  • お気に入り:ログイン会員が商品を保存し、マイページから一覧できる
  • レビュー:購入者が商品詳細ページに評価・コメントを投稿でき、管理画面から非表示化できる
  • クーポン:管理画面で発行したコードをチェックアウト画面で入力し割引を適用する

決済方法(カード・銀行振込)

方式手数料入金確認実装難易度
クレジットカード
Stripe Checkout
売上の約3.6%/件
固定費・月額なし
自動(Webhookで即時)
銀行振込
先払い・手動確認
決済代行手数料ゼロ
振込手数料は注文者負担が一般的
手動(担当者が消込)
銀行振込
バーチャル口座・自動照合
決済代行手数料+口座発行費用が別途自動(Webhook)

初期スコープはカード(Stripe Checkout)+銀行振込(先払い・手動確認)の2本立てとする。銀行振込は決済APIを使わず、注文確定時に振込先を表示して注文ステータスを「入金待ち」にし、管理画面から手動で「入金確認済み」に切り替える運用。振込の自動照合(バーチャル口座)は運用が回り始めてから追加検討する。

決定 振込手数料は注文者負担。「入金待ち」の注文は7日を過ぎたら自動キャンセルする(Cloudflare Cron Triggersで日次バッチを実行し、期限超過の注文をキャンセル・在庫を戻す)。

会員・マイページ

  • メールアドレス+パスワードによる会員登録・ログイン(セッションCookie方式)
  • 注文履歴の閲覧、配送先住所の登録・編集(複数登録可)

管理画面(バックオフィス)

  • 商品・カテゴリ・在庫の登録編集、商品画像アップロード
  • 注文一覧の確認とステータス更新(入金確認・発送済み等)
  • 売上のサマリ表示(日次・月次)
要確認 配送業者・追跡番号連携(発送通知メールに追跡番号を載せるか)は初期スコープに含めるか未定。送料金額(全国一律分・沖縄離島分)も別途確定が必要。
04 — デザイン方針

提案プロセス

印象は未確定のため、次のデザイン提案フェーズでトップページ+商品一覧を3パターン試作し、比較のうえ1案を選定してから全画面に展開する。詳細はデザイン提案資料を参照。

Direction A
シンプル/ミニマル
余白を活かした静かなトーン。写真中心、装飾を抑える
Direction B
エレガント/上品
セリフ書体・落ち着いた配色で高級感を演出
Direction C
ポップ/カラフル
明るい配色と太めの書体で親しみやすさを演出
要確認 上記3方向はwebdesigngarden.comの印象カテゴリを踏まえた仮案。ロゴ・ブランドカラーが決まっている場合は事前に共有してほしい。
05 — 技術スタック

構成案(GitHub管理 / Cloudflareデプロイ)

「フル機能のカート・決済・注文管理を自前実装」「GitHubで管理してCloudflareでデプロイ」という方針に基づく推奨構成。Cloudflareのサーバーレス実行環境(Workers)上で動く技術で統一している。

領域選定備考
フレームワークNext.js(App Router)OpenNext経由でCloudflareへデプロイ。軽量重視ならSvelteKitも代替候補
ホスティングCloudflare WorkersGitHub連携でpush時に自動ビルド・デプロイ
データベースCloudflare D1(SQLite)マイグレーションはWranglerで管理
画像保存Cloudflare R2商品画像・ダミー画像を保存
決済Stripe(Checkout)+銀行振込(手動確認)カードはホスト型決済でPCI DSS対応範囲を最小化。振込は決済APIなしで運用
認証自前セッション認証D1にセッションテーブル、httpOnly Cookie、パスワードはハッシュ化して保存。ゲスト購入時はセッションのみでカート・注文を紐付け
定期実行Cloudflare Cron Triggers入金待ち注文の7日超過自動キャンセルなど日次バッチに使用
CI/CDCloudflare の Git 連携mainブランチへのpushで本番反映、PRごとにプレビュー環境
ドメイン現状は Cloudflare 既定ドメイン(*.workers.dev)独自ドメインは取得後に追加設定(P7で対応)
リポジトリ単一リポジトリ/app(画面・API)、/db(マイグレーション)、/docs(本仕様書等)
06 — データモデル

主要テーブル(概要)

詳細な列設計は実装フェーズで確定させる前提の概要レベル。

テーブル主なカラム役割
Userid, email, password_hash, name会員情報
Addressid, user_id, postal_code, prefecture, city, line1配送先住所(複数登録可)
Categoryid, name, slug, parent_id商品カテゴリ(階層可)
Productid, category_id, name, slug, description, base_price商品(親)
ProductVariantid, product_id, size, color, sku, stock_quantityサイズ×カラーの在庫単位
ProductImageid, product_id, url, sort_order商品画像
Cart / CartItemid, user_id, variant_id, quantityカート(ゲスト対応)
Order / OrderItemid, order_number, status, total, shipping_fee, payment_method, payment_intent_id, payment_due_at, carrier, tracking_number注文(statusに「入金待ち」を含む。payment_due_atで7日後の自動キャンセル判定。carrier/tracking_numberは出荷時に入力し発送通知メールへ記載)
Wishlistid, user_id, product_idお気に入り
Reviewid, product_id, user_id, order_id, rating, comment, is_hidden購入者レビュー(管理画面で非表示化可)
Couponid, code, discount_type, discount_value, expires_atクーポン(発行は管理画面)
07 — 非機能要件

品質・法令面の前提

パフォーマンス・SEO

  • モバイルファーストで設計(EC購入導線は特に)
  • 商品ページはOGP・構造化データ(Product schema)に対応し検索流入を確保

セキュリティ

  • カード情報は自社サーバーで扱わず、Stripeのホスト型決済に委譲
  • フォーム全般にCSRF対策・入力バリデーションを実施
  • 管理画面は一般公開画面と認証を分離

法令対応(通信販売)

  • 特定商取引法に基づく表記(事業者名・所在地・返品条件・支払方法と支払時期・引渡し時期等)の掲載が必須。カード/銀行振込それぞれの支払時期の記載が必要
  • プライバシーポリシーの掲載が必須
08 — コンテンツ計画

ダミーデータでの先行構築

商品写真・商品説明文・会社情報は未準備とのことなので、まずダミーデータでサイト構造を完成させ、実素材が揃い次第差し替える二段階の進め方とする。

  • カテゴリ例:トップス / ボトムス / アウター / ワンピース / アクセサリー
  • ダミー商品を各カテゴリ数点ずつ、計30〜40点程度用意
  • 商品画像はプレースホルダーを使用し、実写真に差し替えやすい命名・格納ルールをあらかじめ決めておく
  • 会社概要・特定商取引法表記もダミー情報で仮作成し、公開前に必ず実データへ置き換える
決定 運営主体は個人。特定商取引法に基づく表記はモック用ダミー氏名・ダミー住所で仮作成し進行する(例:氏名「山田太郎(仮)」、住所・電話は「請求があれば遅滞なく開示します」表記+問い合わせフォームでの開示請求受付)。本番運用時に実際の氏名・住所へ差し替えることを公開前チェックリストに明記する。
09 — 開発ロードマップ

フェーズ分け

P0

仕様確定

本仕様書の内容を確認・合意(完了)

P1

デザイン提案

配色・トーン3案+レイアウト5案を試作し比較のうえ1案を選定(資料はこちら)

P2

環境構築

GitHubリポジトリ作成、Cloudflare(Workers/D1/R2)連携、CI/CD設定

P3

情報ページ・商品一覧/詳細

ダミーデータでトップ・一覧・詳細・会社概要等の静的画面を実装

P4

カート・決済

カート、チェックアウト、Stripe決済、注文確定処理を実装

P5

会員・マイページ・管理画面

会員登録/ログイン、注文履歴、商品・注文管理画面を実装

P6

QA・調整

レスポンシブ確認、パフォーマンス・アクセシビリティ調整

P7

公開準備

実コンテンツへの差し替え、独自ドメイン設定、法定表記の最終確認

10 — 決定事項ログ

今回確定した項目

項目決定内容
ブランド本番未定のためモック名「FADEN」・仮ロゴ(ワードマーク)・仮カラーで進行
ゲスト購入許可する(会員登録は任意)
銀行振込の手数料注文者負担
入金待ち注文の扱い7日を過ぎたら自動キャンセル
送料全国一律500円、沖縄・離島は+300円(合計800円)
お気に入り/レビュー/クーポンすべて初期スコープに含める
独自ドメイン現時点ではなし。今後取得予定 → 取得後にP7で設定
運営主体個人。特定商取引法表記はモック情報で仮作成し、本番運用時に実データへ差し替え
配送業者・追跡番号初期スコープに含める。出荷時に管理画面で入力し、発送通知メールに記載

要確認事項はすべて解消。現在デザイン提案フェーズ(P1)。