فروشگاه اینترنتی · مواد شوینده، آرایشی و بهداشتی

زرشاپ؛ طراحی و توسعه فروشگاه اینترنتی محصولات شوینده و بهداشتی

طراحی و توسعه فروشگاه اینترنتی زرشاپ با تمرکز بر فروش محصولات شوینده، پاک‌کننده، بهداشتی و خوشبوکننده، با ساختاری منظم برای دسته‌بندی محصولات، جستجو، خرید آنلاین و مدیریت سفارش‌ها.

کارفرما
زرشاپ بابل
حوزه
مواد شوینده، آرایشی و بهداشتی
سال
1404
وضعیت
در حال بهره‌برداری
مشاهده سایت
  • تحلیل و کشف نیاز
  • طراحی تجربه و رابط کاربری
  • معماری نرم‌افزار
  • توسعه فرانت‌اند
  • توسعه بک‌اند و API
  • طراحی پایگاه داده
  • یکپارچه‌سازی با سیستم‌های دیگر
  • مهاجرت داده
  • استقرار و DevOps
  • سئوی فنی
  • تست و تضمین کیفیت
  • پشتیبانی و توسعه مستمر

نتیجه در عدد

1,178+
تست خودکار بک‌اند

واحد و یکپارچگی

5,000+
سفارش تاریخی منتقل‌شده

با حفظ مشتری، آدرس و وضعیت

30 دقیقه
چرخه‌ی رزرو موجودی

رزرو پرداخت‌نشده خودکار آزاد می‌شود

صفحه‌ی اصلی سایت زرشاپ، ساخته‌ی ایده‌پو

چالش

زرشاپ یک فروشگاه فعال است و فروش روزانه آن ادامه دارد؛ بنابراین مهم‌ترین چالش پروژه این بود که بستر قبلی با سیستم جدید جایگزین شود، بدون اینکه روند فروش متوقف شود.

در کنار این موضوع، چند مسئله مهم دیگر هم باید در طراحی و پیاده‌سازی سیستم در نظر گرفته می‌شد. یکی از آن‌ها مدیریت موجودی بود. زمانی که چند مشتری به‌صورت هم‌زمان یک محصول را سفارش می‌دهند، موجودی باید به‌درستی کنترل شود تا یک کالا بیشتر از تعداد واقعی آن فروخته نشود.

بخش بعدی مربوط به انتقال اطلاعات فروشگاه بود. محصولات، ویژگی‌ها و تنوع کالاها، اطلاعات مشتریان، آدرس‌ها و سابقه بیش از پنج هزار سفارش باید به سیستم جدید منتقل می‌شد، بدون اینکه اطلاعات قبلی از بین برود یا ساختار سفارش‌ها دچار مشکل شود.

گزارش‌گیری فروش هم یکی دیگر از نیازهای اصلی پروژه بود. مدیر فروشگاه باید بتواند میزان فروش را بر اساس ماه‌های شمسی بررسی کند و گزارش‌ها با تقویم مورد استفاده در ایران هماهنگ باشند.

موضوع دیگری که نیاز به دقت داشت، هماهنگی واحد پول در تمام بخش‌های فروشگاه بود. قیمت‌هایی که مشتری در سایت می‌بیند، مبلغی که برای پرداخت به درگاه ارسال می‌شود و اعداد نمایش داده‌شده در گزارش‌ها باید کاملاً با هم هماهنگ باشند تا اختلاف بین تومان و ریال باعث خطا در سفارش یا گزارش مالی نشود.

راه‌حل

ساختار زرشاپ در سه بخش اصلی فروشگاه، پنل مدیریت و API طراحی شد و هسته پروژه بر پایه Clean Architecture و CQRS توسعه پیدا کرد.

برای جلوگیری از فروش بیشتر از موجودی، موجودی کالا هنگام ثبت سفارش به‌صورت اتمیک رزرو می‌شود و رزروهای پرداخت‌نشده پس از ۳۰ دقیقه آزاد می‌شوند. همچنین با کنترل درخواست‌های تکراری، کلیک مجدد روی پرداخت باعث ایجاد سفارش دوم نمی‌شود.

واحد پول در کل سیستم به‌صورت یکپارچه مدیریت شده تا قیمت‌ها، سفارش‌ها، درگاه و گزارش‌ها هماهنگ باشند. گزارش‌های فروش نیز بر اساس تقویم شمسی و در قالب جدول، نمودار و PDF در دسترس مدیر قرار گرفته‌اند.

سیستم ارسال بر اساس وزن و محدوده جغرافیایی طراحی شده و روش‌هایی مانند پست، چاپار، تیپاکس، دکاپست و اسنپ را پوشش می‌دهد. در نهایت، اطلاعات محصولات، مشتریان، آدرس‌ها و بیش از پنج هزار سفارش قبلی با حفظ ساختار به سیستم جدید منتقل شد و انتشار نسخه جدید با بکاپ و امکان بازگشت سریع انجام گرفت.

قابلیت‌های کلیدی

  • کنترل دقیق موجودی

    موجودی در سبد و هنگام ثبت سفارش بررسی می‌شود و با رزرو اتمیک و جلوگیری از عملیات تکراری، فروش بیشتر از موجودی اتفاق نمی‌افتد.

  • رزرو ۳۰ دقیقه‌ای

    موجودی سفارش‌های پرداخت‌نشده تا ۳۰ دقیقه رزرو می‌ماند و در صورت تکمیل نشدن پرداخت، به‌صورت خودکار آزاد می‌شود.

  • گزارش فروش بر اساس ماه شمسی

    فروش، مشتری و محصولات با تقویم شمسی قابل بررسی هستند و گزارش‌ها در قالب جدول، نمودار و PDF ارائه می‌شوند.

  • دسترسی تفکیک‌شده

    برای بخش‌هایی مثل سفارش، انبار، محصول و محتوا دسترسی‌های جداگانه تعریف شده و اطلاعات مالی فقط برای مدیر اصلی قابل مشاهده است.

  • ارسال بر اساس وزن و منطقه

    هزینه ارسال بر اساس وزن و محدوده جغرافیایی محاسبه می‌شود و روش‌هایی مانند پست، دکاپست، چاپار، تیپاکس و اسنپ در بابل و اطراف آن قابل استفاده هستند.

  • سبد خرید مهمان

    مشتری می‌تواند بدون ورود خرید خود را شروع کند و پس از ورود، سبد مهمان به‌صورت خودکار با سبد حساب کاربری ادغام می‌شود.

  • مدیریت یکپارچه واحد پول

    واحد پول در بخش اصلی سیستم تعریف شده و مبلغ‌ها از قیمت محصول تا سفارش، پرداخت و گزارش‌ها به‌صورت یکپارچه مدیریت می‌شوند.

  • انتشار امن نسخه‌های جدید

    به‌روزرسانی سایت با بکاپ، بررسی سلامت سرویس و کنترل یکپارچگی داده انجام می‌شود تا انتشار نسخه جدید باعث اختلال در روند فروش نشود.

معماری و فناوری

سبک معماری
مونولیت
الگوها
معماری پاک (Clean)CQRS

زرشاپ از سه بخش اصلی تشکیل شده است: فروشگاه با Next.js و React، پنل مدیریت با React و Vite، و API با ASP.NET Core. فروشگاه برای نمایش مناسب در موتورهای جست‌وجو و تجربه کاربری واکنش‌گرا، به‌صورت جداگانه توسعه داده شده و پنل مدیریت نیز جداول، نمودارها و فرم‌های مدیریتی را در اختیار مدیر قرار می‌دهد.

هسته پروژه بر پایه Clean Architecture و CQRS طراحی شده و بخش‌های Domain، Application، Infrastructure و API از هم تفکیک شده‌اند. برای داده‌ها از SQL Server و EF Core استفاده شده و گزارش‌ها با Dapper بهینه شده‌اند؛ Redis نیز برای کش در نظر گرفته شده است.

یکی از بخش‌های مهم پروژه، کنترل هم‌زمانی موجودی در سطح دیتابیس است تا در سفارش‌های هم‌زمان، کالایی بیشتر از موجودی واقعی فروخته نشود. در کنار آن، احراز هویت و دسترسی با JWT، Refresh Token، محدودیت درخواست و دسترسی نقش‌محور و سیاست‌محور مدیریت می‌شود.

استقرار پروژه نیز با Docker و nginx انجام شده و Health Check و ثبت رویدادها برای بررسی وضعیت سرویس‌ها در نظر گرفته شده است.

فرانت‌اند
Next.jsReact.jsTypeScriptTailwind CSS

فروشگاه، رندر مناسب سئو، راست‌به‌چپ و واکنش‌گرا

فرانت‌اند
Vite

پنل مدیریت، جداول پیشرفته، نمودار و فرم‌های اعتبارسنجی‌شده

بک‌اند و API
ASP.NET CoreC#REST APIClean ArchitectureEntity Framework CoreDapperMediatRFluentValidation
پایگاه داده
SQL Server
کش
Redis
زیرساخت و استقرار
DockernginxSerilog

استقرار کانتینری با CDN، لاگ رویداد و Health Check

یکپارچه‌سازی‌ها

  • درگاه پرداخت زرین‌پال با callback کنترل‌شده
  • پست، دکاپست، چاپار، تیپاکس و اسنپ برای ارسال
  • SMS.ir با قالب‌های پیامکی پویا

شرح تکمیلی

امکانات زرشاپ

محصول و کاتالوگ

مدیریت محصولات ساده و متغیر، ویژگی و تنوع، SKU، قیمت و تخفیف، تصاویر، برند و دسته‌بندی چندسطحی، محصولات مرتبط و تنظیمات سئو.

سبد خرید و پرداخت

سبد خرید مهمان و کاربر، ادغام سبد پس از ورود، کنترل موجودی، کد تخفیف، مدیریت آدرس‌ها و فرآیند خرید بهینه برای موبایل.

انبار و سفارش

مدیریت موجودی هر محصول و تنوع، رزرو موجودی هنگام ثبت سفارش، آزادسازی خودکار رزروهای پرداخت‌نشده و جلوگیری از ثبت سفارش تکراری. سفارش‌ها نیز از زمان ثبت تا ارسال و تحویل قابل پیگیری هستند.

ارسال

محاسبه هزینه ارسال بر اساس وزن و محدوده جغرافیایی، با پشتیبانی از پست، دکاپست، چاپار، تیپاکس و اسنپ برای بابل و شهرهای اطراف. هزینه بسته‌بندی و اولویت روش‌های ارسال نیز قابل تنظیم است.

مشتریان و ارتباطات

ورود با شماره موبایل و رمز یک‌بارمصرف، پروفایل مشتری، آدرس‌ها، سفارش‌ها و علاقه‌مندی‌ها، امتیاز وفاداری، درخواست بازگشت کالا و ارسال پیامک‌های اطلاع‌رسانی از طریق SMS.ir.

محتوا و بازاریابی

مدیریت مقالات، صفحات، منوها، بنر و اسلایدر، برندها، جشنواره‌ها، کوپن‌ها، پیشنهادهای ویژه، نظرات کاربران و تنظیمات سئو و نقشه سایت.

گزارش و مدیریت

گزارش فروش، مشتری و محصول بر اساس ماه شمسی، همراه با جدول، نمودار و خروجی PDF. داشبوردهای هفتگی، ماهانه و سالانه و همچنین نقش‌های دسترسی جداگانه برای بخش‌های مختلف پنل مدیریت.

امنیت و پایداری

احراز هویت JWT، Refresh Token، محدودیت درخواست، کنترل دسترسی نقش‌محور و اعتبارسنجی متمرکز اطلاعات در سامانه پیاده‌سازی شده است.

انتشار نسخه‌های جدید نیز با تهیه بکاپ، بررسی سلامت سرویس و کنترل یکپارچگی داده انجام می‌شود تا به‌روزرسانی سیستم تأثیری روی سفارش‌ها و موجودی فروشگاه نداشته باشد.

صفحه اصلی سایت زرشاپ
صفحه مقالات زرشاپ

پروژه‌ی مشابهی در ذهن دارید؟

یک تماس پانزده دقیقه‌ای کافی است تا بگوییم چه چیزی لازم است، چقدر طول می‌کشد و از کجا شروع کنیم.

بنر اصلی سایتکار شاخص

فروشگاه اینترنتی

داروبین: داروخانه‌ آنلاین با پشتیبانی داروساز، ارسال سریع و مناسب

داروبین، فروشگاه اینترنتی محصولات داروخانه ای،مکمل،آرایشی و بهداشتی است. خرید آسان، ارسال سریع و قیمت مناسب ، با امکان مشاوره داروساز و ضمانت اصالت کالا.

  • Next.js
  • React.js
  • TypeScript
  • Tailwind CSS

داروبین · 1404

بنر اصلی سایتکار شاخص

نرم‌افزار سفارشی · فروشگاه اینترنتی

روبوکد؛ سامانه جامع آموزش، آزمون آنلاین، فروشگاه و مدیریت نمایندگان

طراحی و توسعه سامانه یکپارچه روبوکد با هدف مدیریت و ارائه خدمات آموزشی در یک بستر واحد. این سامانه شامل دوره‌های آنلاین و حضوری، آزمون و صدور کارنامه، فروشگاه با قابلیت قیمت‌گذاری عمده، صدور گواهی قابل استعلام با QR، پنل اختصاصی نمایندگان و مدرسان و سیستم مدیریت پورسانت است.

  • .NET 10
  • C#
  • Entity Framework Core
  • MediatR

مؤسسه آموزشی روبوکد · 1404