جزئیات شغل

آماده‌سازی زیرساخت‌های بک‌اند و APIهای مربوط به قابلیت پیش‌خرید موقعیت مکانی با تأیید عمومی ( manager of backend )

تجربه: 4

سن: 20 الی 40

محدوده حقوق و دستمزد: قابل مذاکره

جای خالی: 1

طبیعت شغلی : پیمانی

تاریخ ارسال : 2025.10.28

آخرین تاریخ : 2025.11.14


شرح تسک

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

زیرساخت‌ها باید به‌صورت ماژولار، میکروسرویسی و مقیاس‌پذیر طراحی شوند و از معماری فعلی پروژه (Service-Oriented Architecture) پیروی کنند.

ماژول‌ها و سرویس‌های مورد نیاز

1. Location Purchase Service

ماژول اصلی برای مدیریت درخواست‌های پیش‌خرید.

  • دریافت داده‌های نقشه و مختصات از فرانت‌اند.

  • ذخیره اطلاعات شکل (Polygon Type, Coordinates, Area).

  • ثبت نوع کاربری و مبلغ پیشنهادی کاربر.

  • محاسبه مبلغ نهایی با توجه به فرمول:
    Base Price × Usage Coefficient (6x) × Area × Density + Extra User Bid

  • ذخیره اطلاعات درخواست در دیتابیس.

  • ارسال داده‌ها به ماژول «Public Decision System» برای رأی‌گیری عمومی.

2. Public Decision Integration (Voting System)

اتصال درخواست‌های جدید به سیستم تصمیمات عمومی (Public Decisions).

  • فراخوانی سرویس /public-decision/register برای افزودن درخواست به صف رأی‌گیری.

  • دریافت نتایج رأی‌گیری از طریق Webhook یا CronJob.

  • در صورت رسیدن به حد نصاب (۵٪ تأیید)، به‌روزرسانی وضعیت درخواست به “Approved”.

    3. Reward & Distribution Service

    ماژولی برای محاسبه و توزیع پاداش شهردارها.

    • در صورت تأیید نهایی ملک:

      • ۵۰٪ مبلغ + ۲× سود حاصله بین شهردارهای رأی‌دهنده تقسیم شود.

      • ۱× سود حاصله بین سایر شهردارهای فعال تقسیم گردد.

    • اطلاعات تراکنش‌ها در جدول جداگانه ثبت شود.

    4. Wallet & Blocked Balance Service

    مدیریت مالی درخواست‌ها و بلاک موقت مبلغ در حساب کاربر.

    • در هنگام ثبت درخواست، مبلغ نهایی در کیف پول کاربر Block شود.

    • در صورت رد شدن درخواست یا لغو توسط کاربر، مبلغ Unblock شود.

    • در صورت تأیید، مبلغ به حساب پروژه یا مالک فعلی منتقل گردد.

    5. Admin Management APIs

    برای مدیریت و مانیتورینگ درخواست‌ها در بخش پنل مدیریتی.

    • مشاهده لیست کل درخواست‌ها.

    • مشاهده وضعیت رأی‌گیری و درصد تأیید.

    • فیلتر بر اساس وضعیت (Pending / Approved / Rejected).

    • گزارش کامل پاداش‌ها و تراکنش‌ها.

    الزامات فنی

    • زبان بک‌اند: Node.js / NestJS (یا مشابه معماری فعلی)

    • دیتابیس: PostgreSQL + Prisma ORM

    • Authentication: از طریق SSO و JWT Token

    • Event Bus: استفاده از RabbitMQ / Kafka برای ارتباط بین سرویس‌ها

    • Validation: با Zod / Joi

    • Logging & Monitoring: با Winston + Prometheus

    • Security: Rate Limiting، Validation Tokens برای APIهای حساس

    • Documentation: با Swagger / OpenAPI

    معیار پذیرش (Acceptance Criteria)

    ✅ API ثبت موقعیت و محاسبه مبلغ به‌درستی کار کند.
    ✅ داده‌ها در دیتابیس ذخیره و در Public Decision ثبت شوند.
    ✅ سیستم بلاک مبلغ و بازگشت وجه در همه حالات درست عمل کند.
    ✅ الگوریتم رأی‌گیری و حد نصاب ۵٪ به‌درستی اعمال شود.
    ✅ پاداش‌دهی به شهردارها طبق فرمول و گزارشات مالی ثبت شود.
    ✅ کلیه APIها در Swagger مستندسازی شوند.

    تحویل‌دادنی‌ها (Deliverables)

    • APIهای اصلی (Create, Get, Vote, Reward, Wallet)

    • جداول دیتابیس و روابط بین آن‌ها

    • مستند Swagger

    • اسکریپت‌های تست Postman

    • گزارش عملکرد (Log + Metrics)

    مشخصات کار تعریف شده

    عنوان شغلی: آماده‌سازی زیرساخت‌های بک‌اند و APIهای مربوط به قابلیت پیش‌خرید موقعیت مکانی با تأیید عمومی

    تعیین: manager of backend

    تجربه: 4

    سن: 20 الی 40

    محدوده حقوق و دستمزد: قابل مذاکره

    جای خالی: 1

    طبیعت شغلی : پیمانی

    تاریخ ارسال : 2025.10.28

    آخرین تاریخ : 2025.11.14

    اکنون درخواست دهید