سلام،
ما به دنبال یک توسعهدهنده حرفهای وردپرس هستیم تا یک سیستم نوتیفیکیشن کاملاً اختصاصی و پیشرفته برای وبسایت مارکتپلیس P2P ما پیادهسازی کند. این سیستم باید هم در بکاند و هم در فرانتاند بسیار قوی و بهینه باشد و با سرویسهای خارجی مانند Make.com یکپارچه شود.
جزئیات پروژه و نیازمندیها:
بخش بکاند (Backend):
ساختار دیتابیس: ایجاد یک جدول MySQL اختصاصی (wp_marketplace_notifications) برای ذخیره نوتیفیکیشنها با فیلدهای مشخص (user_id, type, message, is_read, ...).
REST API Endpoints:
POST /notify: برای دریافت نوتیفیکیشن از طریق Webhook از سرویس Make.com.
GET /notifications/{user_id}: برای فراخوانی لیست نوتیفیکیشنهای یک کاربر (همراه با pagination).
POST /notifications/{id}/read: برای علامتگذاری یک نوتیفیکیشن به عنوان خوانده شده.
احراز هویت: استفاده از Bearer token برای امنیت Webhook ها و احراز هویت کاربر برای دسترسی به نوتیفیکیشنهای خود.
توابع کمکی PHP: ایجاد توابعی مانند insert_notification() برای ارسال مستقیم نوتیفیکیشن از طریق کد PHP (مثلاً هنگام ثبتنام کاربر جدید).
بخش فرانتاند (Frontend):
کامپوننت زنگوله نوتیفیکیشن:
نمایش آیکون زنگوله (SVG) در هدر سایت (باید با قالب Astra سازگار باشد).
نمایش تعداد نوتیفیکیشنهای خوانده نشده روی آیکون به صورت یک Badge قرمز رنگ.
با کلیک روی آیکون، یک پنل بازشو (Dropdown) با لیست ۱۰ نوتیفیکیشن آخر نمایش داده شود.
طراحی کاملاً واکنشگرا (Responsive) برای موبایل.
ویژگیهای پنل بازشو (Dropdown):
نمایش نوتیفیکیشنهای خوانده نشده با استایل متفاوت (مثلاً پسزمینه آبی کمرنگ و متن Bold).
نمایش زمان ارسال نوتیفیکیشن به صورت نسبی (مثلاً ۵ دقیقه پیش، ۲ ساعت پیش).
قابلیت کلیک روی هر نوتیفیکیشن برای انتقال به لینک مربوطه (action_url) و خوانده شدن آن.
ثبت خواند شدن پیام به صورت اتوماتیک
علامتگذاری فلهای به قابلیت خواندهشده
لیزی لدینگ پیام ها
نوتیفیکیشنهای Toast (آنی):
نمایش پاپآپهای کوچک (Toast) در گوشه بالا-راست صفحه هنگام دریافت نوتیفیکیشن جدید.
پاپآپها بعد از ۵ ثانیه به صورت خودکار بسته شوند.
رنگهای متفاوت برای انواع نوتیفیکیشن (موفقیت: سبز، خطا: قرمز، اطلاعات: آبی).
یکپارچهسازی (Integration):
Make.com: سیستم باید بتواند Payload های JSON را از طریق Webhook دریافت و پردازش کند.
WordPress: ایجاد نوتیفیکیشنهای خودکار برای رویدادهای کلیدی وردپرس (مانند ثبتنام کاربر) و ایجاد یک صفحه تنظیمات در پنل ادمین برای مدیریت توکن Webhook.
مشخصات فنی، عملکرد و امنیت:
عملکرد: لود شدن نوتیفیکیشنها باید بسیار سریع باشد (زیر 200ms) و کوئریهای دیتابیس بهینه باشند.
امنیت: جلوگیری از حملات CSRF, SQL Injection و XSS. هر کاربر فقط باید به نوتیفیکیشنهای خودش دسترسی داشته باشد.
سازگاری: کد باید با مرورگرهای مدرن و طراحی واکنشگرا سازگار باشد.
استفاده از WebSocket و SSE برای نمایش کاملاً Real-time نوتیفیکیشنها.
امکان تنظیمات دریافت نوتیفیکیشن توسط کاربر (مثلاً فقط ایمیل، فقط داخل سایت).
خروجیهای مورد انتظار از شما:
کد کامل PHP یا به صورت یک پلاگین اختصاصی.
فایلهای JavaScript و CSS به صورت بهینه و Minified.
اسکریپت ساخت جدول دیتابیس.
مستندات کوتاه برای راهاندازی و تست.
مهارتهای مورد نیاز:
تسلط کامل بر PHP و توسعه پلاگین وردپرس.
تجربه کار با REST API در وردپرس.
تسلط بر JavaScript (ES6+), CSS, و HTML.
آشنایی با مفاهیم عملکرد و امنیت در وب.
با تشکر