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 و مالی باید از روز اول جدا طراحی شوند.
دیدگاهها
هنوز دیدگاهی ثبت نشده است.
ثبت دیدگاه