طراحی و توسعه پلاگین پیامکی
۳ روز پیش
کارفرمای جدید
تهران

ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه عنوان پروژه: طراحی و توسعه اکوسیستم پیامکی ماژولار و Enterprise «پیامک لند» (PayamakLand Platform)
۱. خلاصه مدیریتی و فلسفه معماری
ما قصد داریم یک سیستم جامع پیامکی برای وردپرس توسعه دهیم که از نظر معماری، مدرن، توسعهپذیر و ماژولار باشد. رویکرد ما در این پروژه «هسته سبک + افزودنیها» (Lightweight Core + Add-ons) است.
هدف این است که هسته مرکزی (Core) تا حد امکان سبک باشد و کاربرانی که نیاز به ویژگیهای سنگین (مثل ووکامرس) ندارند، درگیر کدهای اضافی نشوند. همچنین اولویتهای اصلی پروژه: امنیت (ایزوله بودن از لاگین ادمین)، سرعت (Async Processing) و تجربه کاربری (UI مدرن و شخصیسازی شده) است.
۲. ساختار تحویلی پروژه (Architecture & Deliverables)
مجری موظف است پروژه را در قالب ۳ پکیج نصبی مجزا تحویل دهد:
هسته مرکزی (PayamakLand Core): وظیفه اتصال به API، احراز هویت کاربران عادی (Frontend)، تنظیمات اصلی، مدیریت لاگها و شخصیسازی.
ادان ووکامرس (PL WooCommerce Add-on): (وابسته به هسته) شامل تمام منطقهای مربوط به فروشگاه، تسویه حساب، وضعیت سفارشات و همگامسازی مخاطبین خریدار.
ادان فرمسازهای معروف مثل گرویتی فرم و 7form (PL Forms Add-on): (وابسته به هسته) شامل ادغام با فرمسازهای محبوب و مپینگ فیلدها.
۳. الزامات فنی و زیرساختی (Technical Stack)
زبان: PHP 7.4 و PHP 8.x (سازگاری کامل با هر دو).
استاندارد کدنویسی: رعایت دقیق WordPress Coding Standards (WPCS) و ساختار شیءگرا (OOP).
دیتابیس: استفاده از Custom Table برای ذخیره لاگ پیامکها (استفاده از wp_options یا wp_postmeta برای لاگ ممنوع است).
پردازش: استفاده از Action Scheduler یا WP-Cron برای ارسال پیامکهای غیرفوری در پسزمینه (Async) جهت جلوگیری از کندی سایت.
الگوی طراحی: استفاده از Singleton Pattern برای کلاس اصلی و ساختار ماژولار.
۴. شرح ویژگیهای هسته مرکزی (The Core Plugin)
۴-۱. اتصال به API و مدیریت حساب
اتصال کامل به REST API سامانه «پیامک لند» با پشتیبانی از ارسال پترن (Pattern/Shared Line).
Credit Check: دریافت و نمایش موجودی پنل با استفاده از کشینگ (Transients) برای کاهش ریکوئستها.
Sync Delivery Status: پیادهسازی جاب (Cron Job) برای بررسی دورهای وضعیت دلیوری پیامکها و آپدیت دیتابیس.
۴-۲. سیستم احراز هویت مدرن (Tabbed Login Interface)
این سیستم باید جایگزین فرمهای ورود در سمت کاربر (Frontend) شود (مشابه مکانیزم Digits اما سبکتر).
رابط کاربری تببندی شده: فرم ورود باید دارای دو تب باشد:
تب ۱: ورود با شماره موبایل (OTP).
تب ۲: ورود با نام کاربری/ایمیل + رمز عبور.
تنظیمات استراتژی: ادمین میتواند تعیین کند کدام تبها فعال باشند (فقط OTP، فقط پسورد، یا هر دو).
ایزوله بودن ادمین (حیاتی): این سیستم لاگین نباید روی آدرس wp-admin یا wp-login.php اعمال شود. مدیران سایت باید بتوانند بدون تداخل با این افزونه و با حفظ سازگاری با افزونههای امنیتی (مثل Wordfence و …) وارد شوند.
دفترچه تلفن کاربران: ذخیره خودکار شماره موبایل کاربرانی که لاگین/ثبتنام میکنند در یک گروه دفترچه تلفن مشخص در پنل پیامک.
۴-۳. شخصیسازی بصری و متنی (UI & Localization)
تنظیمات ظاهری (Style): امکان تغییر رنگ دکمهها، تبها، و گردی گوشهها (Border Radius) و آپلود لوگو از پنل تنظیمات.
تنظیمات متنی (Translations): امکان تغییر تمام متنهای سمت کاربر (مثل پیامهای خطا، لیبل دکمهها و فیلدها) از داخل پنل ادمین بدون نیاز به ویرایش فایل .po.
۵. امنیت و بهینهسازی (Security & Performance)
Rate Limiting: محدودیت ارسال پیامک در بازه زمانی مشخص برای هر IP و شماره موبایل (جلوگیری از SMS Bomber).
Asset Loading (سئو و سرعت): فایلهای CSS و JS افزونه فقط و فقط باید در صفحاتی لود شوند که فرم لاگین یا شورتکد وجود دارد. لود سراسری (Site-wide) ممنوع است. فایلها باید Minify شده باشند.
سازگاری با کش: فرمهای لاگین باید با افزونههای کش (WP Rocket/Litespeed) سازگار باشند (استفاده از AJAX امن به همراه Nonce).
امنیت داده: اعتبارسنجی دقیق (Validation) و ایمنسازی خروجیها (Escaping) برای جلوگیری از XSS و Injection.
سازگاری با افزونه های امنیتی: این افزونه به هیچ عنوان نباید با افزونه های امنیتی وردپرس دارای تداخل باشد
۶. شرح ویژگیهای ادان ووکامرس (WooCommerce Add-on)
(نصب این افزونه اختیاری و وابسته به هسته است)
ارسال پیامک وضعیت سفارش: ارسال خودکار در وضعیتهای مختلف (Pending, Processing, Completed, etc) با امکان انتخاب پترن اختصاصی برای هر وضعیت.
پشتیبانی از متغیرها: استفاده از نام خریدار، شماره سفارش، مبلغ و لیست محصولات در متن پترن.
مدیریت مخاطبین هوشمند (Smart Phonebook): امکان تنظیم ذخیرهسازی خودکار شماره "خریداران موفق" در یک گروه دفترچه تلفن مجزا در پنل پیامک.
اعتبارسنجی Checkout: اجباری کردن فیلد موبایل و بررسی فرمت صحیح (۱۱ رقم با شروع ۰۹).
۷. شرح ویژگیهای ادان فرمسازها (Forms Add-on)
(نصب این افزونه اختیاری و وابسته به هسته است)
پشتیبانی از: Gravity Forms, Contact Form 7, WPForms, Elementor Forms.
Mapping UI: رابط کاربری گرافیکی برای اتصال فیلدهای فرم به متغیرهای پترن پیامک (مثلاً اتصال فیلد "نام" در فرم به متغیر {name} در پترن).
دفترچه تلفن شرطی: امکان تنظیم اینکه کاربرانی که فرم X را پر میکنند، در دفترچه تلفن Y سامانه ذخیره شوند.
۸. شرایط تحویل (Definition of Done)
تحویل سورس کد کامل در ۳ فایل zip استاندارد.
تست موفقیتآمیز سناریوی "لاگین دو زبانه" روی قالبهای استاندارد.
تست عدم تداخل با لایههای امنیتی ورود ادمین.
داکیومنت فنی کوتاه (برای توسعهدهندگان آینده).
گارانتی رفع باگ و پشتیبانی فنی به مدت ۳ ماه.
مشاهده جزئیات پیشنهادهای این پروژه
گزارش تخلف
ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه پروژه را با دوستان خود به اشتراک بگذارید