من به دنبال یک توسعه دهنده حرفهای وردپرس/ووکامرس هستم تا یک صفحه سفارشی برای معاملات P2P از ابتدا طراحی و پیادهسازی کند. این صفحه بعد از ثبت سفارش به عنوان محیط اصلی خریدار و فروشنده برای انجام معامله استفاده میشود (مشابه محیط معامله در Binance P2P).
نسخه ای از این صفحه را خودم پیاده سازی کرده ام اما به دلیل اشکالات زیاد و استفاده از روش قدیمی Long-Polling نیاز دارم که یک راهکار جدید، تمیز و پایدار ایجاد شود. هدف این است که تجربه کاربری کاملی، سریع و کاربرپسند برای دو طرف معامله به وجود آید. ویژگیها و مسئولیتها:
۱. بازنویسی و بهبود قابلیتهای موجود: نسخه نهایی باید شامل تمام قابلیتهایی باشد که در کد فعلی موجود است، اما با کیفیت و معماری بهتر پیادهسازی شود. این قابلیتها شامل:
مدیریت وضعیت سفارش: چرخه وضعیت شامل در انتظار پرداخت، پرداخت ارسال شد، پرداخت تأیید شد/تکمیل شد، لغو شده، منقضی شده، مورد اختلاف
دسترسی مبتنی بر نقش کاربر: دکمه ها و عملکردهایی که فقط برای نقش صحیح نمایش داده میشوند (مثلاً فقط خریدار بتواند "پرداخت کردم" را بزند و فقط فروشنده "دریافت کردم").
شمارشگر معکوس پرداخت: تایمری که به صورت جداگانه برای هر سفارش مشخص میکند تا چه زمانی خریدار فرصت پرداخت دارد و بعد از اتمام تایمر وضعیت سفارش به حالت “منقضی شده” تغییر کند.
یکپارچه سازی با کیف پول امانی (Escrow): تعامل امن با افزونه کیف پول ووکامرس برای:
آزادسازی وجه از امانت به فروشنده پس از تکمیل معامله
محاسبه و برداشت کارمزد Maker
بازگردانی وجه به خریدار در صورت لغو یا انقضای سفارش
سیستم امتیازدهی: امکان لایک/دیسلایک (thumbs up/down) برای Maker و Taker پس از پایان معامله.
ثبت وقایع سفارش: ایجاد جدول اختصاصی در دیتابیس برای لاگ کردن تغییرات وضعیت و رویدادهای هر سفارش.
۲. پیادهسازی به روزرسانی لحظهای با WebTransport: این بخش کلیدی پروژه است. در نسخه فعلی بهروزرسانیها با AJAX Long-Polling انجام میشود که ناکارآمد است. در نسخه جدید باید از WebTransport برای ارتباط لحظهای، سریع و با تأخیر بسیار کم بین خریدار و فروشنده استفاده شود. سیستم باید به محض تغییر وضعیت، پیام یا اتفاق جدید آن را به کاربران ارسال کند.
طراحی یک صفحه اختلاف (Dispute) در همان صفحه اصلی: هنگامی که کاربر روی گزینه “مورد اختلاف“ کلیک میکند، به جای رفتن به یک صفحه جداگانه، رابط اصلی معامله بهآرامی Fade/Slide بشود و یک صفحه جدید برای ثبت اختلاف باز شود. این کار حس یک محیط مدرن و یکپارچه شبیه به نرمافزارهای Single Page Application را ایجاد میکند.
طراحی مجدد بخش چت در موبایل: چت بخشی حیاتی از معامله است و باید در موبایل بهینه شود:
در دسکتاپ چت میتواند به شکل سایدبار نمایش داده شود.
در موبایل باید فقط یک آیکون/دکمه در بالا سمت راست نمایش داده شود.
با کلیک روی آیکون، کل صفحه چت باز شود (به صورت modal یا fullscreen).
امکان بستن چت و برگشت به نمایش آیکون وجود داشته باشد.
امکاناتی که در اختیار شما قرار میدهم:
کد فعلی به عنوان مرجع
توضیحات دقیق و بازخوردهای مستمر در طول توسعه
اشتراک کد در طول پروژه: فریلنسر موظف است از ابتدای کار مخزن GitHub ایجاد کرده و کد را در تمام مراحل توسعه بهصورت مستمر بهروزرسانی و با ما به اشتراک بگذارد.



