معرفی پروژه

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

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


نقش و مسئولیت‌ها

  • طراحی و توسعه منطق بک‌اند و APIهای سامانه
  • مدل‌سازی داده‌ها و روابط کسب‌وکاری با PostgreSQL و Prisma ORM
  • پیاده‌سازی سیستم مدیریت کاربران و نقش‌های تخصصی
  • توسعه ماژول سفارش، پروژه، طرح فرش، مواد اولیه و هزینه‌ها
  • پیاده‌سازی سیستم آگهی، پیشنهاد قیمت و ارتباط میان بازیگران B2B
  • طراحی قابلیت تحلیل تصویر برای استخراج رنگ‌های غالب فرش
  • توسعه سیستم گفت‌وگو، تیکتینگ و پیگیری فرآیندها

معماری و مدل کسب‌وکار

سامانه بر اساس نقش‌های مختلف فعال در چرخه تولید فرش طراحی شد:content_copy

نقشمسئولیت در سامانه
Adminمدیریت نیازمندی‌ها، آموزش‌ها و نظارت بر سامانه
Producerتعریف فرش، پروژه، هزینه‌ها، مواد اولیه و انتشار آگهی
Supplierارائه پیشنهاد برای تأمین مواد اولیه
Weaverارائه پیشنهاد برای اجرای بافت فرش
Service Providerارائه خدمات موردنیاز در فرآیند تولید
Userمدیریت حساب و پروفایل پایه

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


ماژول‌های کلیدی پیاده‌سازی‌شده

1. مدیریت کاربران، احراز هویت و پروفایل

  • ثبت‌نام و ورود کاربران
  • تأیید شماره موبایل با OTP
  • مدیریت وضعیت فعال‌بودن و تأیید حساب
  • مدیریت پروفایل پایه شامل اطلاعات مکانی، آدرس، شهر، استان، کدپستی و تصویر کاربر
  • تفکیک پروفایل‌های تخصصی برای تأمین‌کننده، بافنده و ارائه‌دهنده خدمات

2. مدیریت فرش و مشخصات فنی تولید

  • ثبت مشخصات فرش شامل عنوان، ابعاد، تصویر و قیمت
  • تعریف مواد اولیه موردنیاز برای تولید، از جمله:
    • تار
    • پود بالا
    • پود پایین
    • نخ/پرز
  • ثبت نرخ مصرف و قیمت واحد مواد اولیه
  • ثبت هزینه‌های عملیاتی تولید از جمله دستمزد بافت، رنگرزی، شست‌وشو، پرداخت، ریشه‌کشی، رفع عیب، حمل‌ونقل و نظارت
  • پشتیبانی از هزینه‌های سفارشی برای انعطاف‌پذیری بیشتر در قیمت‌گذاری

3. تحلیل تصویر و استخراج رنگ‌های غالب فرش

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

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

برای حل این مسئله، الگوریتمی با Node.js و کتابخانه Jimp توسعه داده شد که مراحل زیر را انجام می‌داد:

  1. پیمایش تمام پیکسل‌های تصویر و استخراج مقادیر RGB
  2. شمارش فراوانی هر رنگ منحصربه‌فرد
  3. محاسبه فاصله اقلیدسی میان رنگ‌ها در فضای RGB
  4. ادغام رنگ‌های نزدیک‌تر از آستانه مشخص (tolerance)
  5. جمع‌زدن فراوانی رنگ‌های ادغام‌شده
  6. مرتب‌سازی رنگ‌های نهایی بر اساس بیشترین میزان استفاده

فاصله رنگ‌ها با رابطه زیر محاسبه می‌شد:

d=(r1r2)2+(g1g2)2+(b1b2)2d = \sqrt{(r_1-r_2)^2 + (g_1-g_2)^2 + (b_1-b_2)^2}d=(r1​−r2​)2+(g1​−g2​)2+(b1​−b2​)2​

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

ارزش عملی قابلیت تحلیل رنگ

  • کاهش میلیون‌ها رنگ پیکسلی به تعداد محدودی رنگ قابل‌استفاده در تولید
  • تخمین سهم هر رنگ در طرح فرش
  • کمک به برنامه‌ریزی اولیه خرید و تأمین نخ
  • ایجاد ارتباط مستقیم میان فایل تصویری طرح و برآورد مواد اولیه
  • فراهم‌کردن پایه‌ای برای توسعه ابزارهای دقیق‌تر قیمت‌گذاری و تولید

4. مدیریت پروژه و برنامه تولید

  • ایجاد پروژه‌های تولیدی
  • اتصال چند مدل فرش به هر پروژه همراه با تعداد موردنیاز
  • ثبت شاخص‌های هزینه با واحد تومان، دلار و طلا
  • ثبت درصد پیشرفت پروژه
  • مدیریت طرح‌های تولید و تعداد موردنیاز هر طرح
  • ثبت زمان تحویل و اطلاعات مرتبط با سفارش‌دهنده

5. سیستم نیازمندی، آگهی و پیشنهاد قیمت

  • ثبت نیازمندی‌های تولید توسط مدیر سامانه
  • اتصال نیازمندی‌ها به طرح‌های تولید همراه با تعداد و قیمت
  • انتشار آگهی در سه دسته اصلی:
    • تأمین مواد اولیه (SUPPLY)
    • خدمات (SERVICE)
    • بافت (WEAVING)
  • امکان ثبت پیشنهاد قیمت، تعداد قابل تأمین، زمان تحویل و توضیحات
  • مدیریت وضعیت پذیرش یا رد پیشنهادها
  • پشتیبانی از شرایط پرداخت دوره‌ای و قراردادهای مرتبط با پیشنهاد

6. پرداخت امن، کیف پول و رسیدهای بانکی

  • طراحی ساختار پرداخت امن مبتنی بر مدل SafePay
  • ثبت مراحل پرداخت و وضعیت تأیید آن
  • مدیریت پرداخت‌های وابسته به پیشنهادها
  • پشتیبانی از کیف پول نقش‌های مختلف
  • ثبت رسید بانکی و فرایند تأیید چندمرحله‌ای آن

7. مذاکره، پیام‌رسانی و پشتیبانی

  • ایجاد گفت‌وگوهای مرتبط با پیشنهادها برای هماهنگی مستقیم طرفین
  • ارسال پیام و تصویر در فضای مذاکره
  • پیاده‌سازی سیستم تیکت بین تولیدکننده و مدیر
  • مدیریت وضعیت خوانده‌شدن پیام‌ها و تیکت‌ها
  • ثبت امتیاز رضایت پس از بسته‌شدن تیکت

8. مدیریت محتوای سامانه

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

چالش‌های فنی برجسته

  • مدل‌سازی روابط پیچیده میان تولیدکننده، تأمین‌کننده، بافنده، سرویس‌دهنده، آگهی و پیشنهاد
  • طراحی جریان قابل‌پیگیری از سفارش و نیازمندی تا پیشنهاد و پرداخت
  • مدیریت محاسبات هزینه و مواد اولیه برای تولید فرش
  • تبدیل داده تصویری غیرساختاریافته به داده قابل استفاده در برآورد تولید
  • کاهش پیچیدگی رنگ‌های دیجیتال و استخراج رنگ‌های غالب با آستانه قابل تنظیم
  • طراحی ساختار داده توسعه‌پذیر با PostgreSQL و Prisma
  • پشتیبانی از ثبت سفارش و همکاری B2B در مقیاس تکی و عمده

تکنولوژی‌ها

  • Backend: Node.js
  • Database: PostgreSQL
  • ORM: Prisma
  • Image Processing: Jimp
  • Architecture: REST API / Role-Based B2B Platform
  • Authentication: OTP-based phone verification
  • Domain: Handmade Carpet Production, Supply Chain, B2B Marketplace

دستاوردهای پروژه

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