مطالعه موردی
Rivana
فروشگاه لوکس فارسی

نگاه کلی
Rivana یک تجربه فروشگاهی فارسی و RTL برای کیف و اکسسوری زنانه است که نمایش ادیتوریال و لوکس را با مدل واقعی محصول، تنوع، سبد، کوپن، موجودی، پیشفاکتور و سفارش ترکیب میکند.
مسئله
نسخه اولیه بیشتر شبیه دمو بود و قیمت، جمع سفارش و Snapshot محصول را از مرورگر میپذیرفت. موجودی سطح محصول نیز نمیتوانست ترکیب واقعی رنگ و اندازه را نمایش دهد و تسویهحساب در برابر دستکاری و فروش بیشازموجودی آسیبپذیر بود.
راهحل
مرز تجارت را بر پایه Quote و Order قطعی در سرور بازطراحی کردم. PostgreSQL و Drizzle تنوعهای قابل فروش را مدل میکنند، Checkout قیمت مرجع را دوباره از دیتابیس میخواند، کوپنها با قوانین تجاری اعتبارسنجی میشوند و کاهش شرطی موجودی داخل تراکنش از واحد نهایی کالا محافظت میکند.
نقش من
- ممیزی معماری محصول، امنیت تسویهحساب، جریان داده، UX و فاصله تا Production
- طراحی فروشگاه واکنشگرای فارسی و سیستم بصری لوکس
- پیادهسازی خانه، فروشگاه، محصول، سبد، تسویهحساب، علاقهمندی، بلاگ، FAQ و صفحات حقوقی
- طراحی تنوع محصول، مایگریشن دیتابیس، داده اولیه واقعی و APIهای Quote و Order
- استخراج و تست قوانین قیمت، ارسال، کوپن، Snapshot سفارش و موجودی
چالشها
دستکاری قیمت در کلاینت
فرایند اولیه جمع مالی مرورگر را میپذیرفت. سرور را طوری تغییر دادم که تنوع و قیمت مرجع را از دیتابیس بخواند، ارسال و تخفیف را خودش محاسبه کند و تمام مبلغهای ارسالی کلاینت را نادیده بگیرد.
موجودی در سطح تنوع
رنگ و اندازه باید یک SKU قابل فروش واقعی را مشخص میکردند. انتخاب محصول، هویت آیتم سبد، Snapshot سفارش و موجودی اکنون همگی از شناسه محصول و Variant استفاده میکنند.
امنیت خرید همزمان
تراکنش همراه کاهش شرطی موجودی اجازه نمیدهد دو مشتری آخرین واحد را همزمان بخرند و خطاهای ساختاریافته API مسیر بازیابی ناموجودی را قابل فهم نگه میدارند.
نتیجه
Rivana به یک فروشگاه آنلاین و مناسب پورتفولیو تبدیل شد؛ با ۳۰ محصول اولیه، SKUهای واقعی تنوع، تسویهحساب محاسبهشده در سرور، کوپنهای قانونمحور، موجودی تراکنشی و عبور موفق از بررسی Type، Lint، Build و تستهای تجارت.
درسهای آموخته
- مقادیر سبد مرورگر فقط برای نمایشاند و منبع مالی قابل اعتماد نیستند
- واحد واقعی تجارت Variant قابل فروش است، نه کارت کلی محصول
- درستی موجودی به شرط دیتابیسی داخل تراکنش سفارش نیاز دارد
- طراحی لوکس وقتی اثر دارد که فرایند خرید هم به همان اندازه قابل اعتماد باشد