معماری Multi-Vendor در Laravel: از سفارش تا تسویه

هر محصول به یک store، هر order item به vendor خودش — چک‌لیست authorization، مالی و SEO برای marketplace.

معماری Multi-Vendor در Laravel از سفارش تا تسویه

Marketplace یعنی یک checkout می‌تواند شامل محصولات چند فروشنده باشد. اگر از روز اول store_id را در design نگنجانید، refactor بعدی بسیار گران تمام می‌شود.

قوانین داده

  • هر product متعلق به یک store است
  • هر order_item به store همان محصول bind می‌شود
  • vendor admin فقط داده store خودش را می‌بیند (Policy + global scope)
  • گزارش مالی و payout به‌صورت per-vendor جدا محاسبه می‌شود

لایه‌های پیشنهادی

Route → Controller/Livewire → Form Request → Service → Repository → Resource

عملیات مالی (capture payment، commission، refund) حتماً داخل DB::transaction و با log audit.

SEO و UX

صفحات vendor و product باید meta اختصاصی، canonical، structured data و تصویر بهینه (WebP + lazy load) داشته باشند — مشابه الگوی SEO همین سایت portfolio.

Shared hosting

با QUEUE_CONNECTION=sync و file cache هم می‌توان MVP marketplace را راه انداخت؛ فقط jobهای سنگین (export Excel، email bulk) را async واقعی بعداً به worker منتقل کنید.

جمع‌بندی: multi-vendor یک تصمیم معماری است، نه فقط یک جدول stores — authorization و مالی باید از روز اول جدا طراحی شوند.

نظرات

دیدگاه‌ها

هنوز دیدگاهی ثبت نشده است.

ثبت دیدگاه

دیدگاه شما پس از تأیید نمایش داده می‌شود.