پرش به محتوا
آیسا لطفی
بازگشت به نمونه‌کارها

مطالعه موردی

Rivana

فروشگاه لوکس فارسی

Next.jsTypeScriptTailwind CSSPostgreSQLDrizzle ORMZustand
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 قابل فروش است، نه کارت کلی محصول
  • درستی موجودی به شرط دیتابیسی داخل تراکنش سفارش نیاز دارد
  • طراحی لوکس وقتی اثر دارد که فرایند خرید هم به همان اندازه قابل اعتماد باشد