عنوان پروژه: طراحی و توسعه اکوسیستم پیامکی ماژولار و Enterprise «پیامک لند» (PayamakLand Platform)
1. خلاصه مدیریتی و فلسفه معماری
ما قصد داریم یک سیستم جامع پیامکی برای وردپرس توسعه دهیم که از نظر معماری، مدرن، توسعهپذیر و ماژولار باشد. رویکرد ما در این پروژه «هسته سبک + افزودنیها» (Lightweight Core + Add-ons) است.
هدف این است که هسته مرکزی (Core) تا حد امکان سبک باشد و کاربرانی که نیاز به ویژگیهای سنگین (مثل ووکامرس) ندارند، درگیر کدهای اضافی نشوند. همچنین اولویتهای اصلی پروژه: امنیت (ایزوله بودن از لاگین ادمین)، سرعت (Async Processing) و تجربه کاربری (UI مدرن و شخصیسازی شده) است.
2. ساختار تحویلی پروژه (Architecture & Deliverables)
مجری موظف است پروژه را در قالب 3 پکیج نصبی مجزا تحویل دهد:
هسته مرکزی (PayamakLand Core): وظیفه اتصال به API، احراز هویت کاربران عادی (Frontend)، تنظیمات اصلی، مدیریت لاگها و شخصیسازی.
ادان ووکامرس (PL WooCommerce Add-on): (وابسته به هسته) شامل تمام منطقهای مربوط به فروشگاه، تسویه حساب، وضعیت سفارشات و همگامسازی مخاطبین خریدار.
ادان فرمسازهای معروف مثل گرویتی فرم و 7form (PL Forms Add-on): (وابسته به هسته) شامل ادغام با فرمسازهای محبوب و مپینگ فیلدها.
3. الزامات فنی و زیرساختی (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 برای کلاس اصلی و ساختار ماژولار.
4. شرح ویژگیهای هسته مرکزی (The Core Plugin)
4-1. اتصال به API و مدیریت حساب
اتصال کامل به REST API سامانه «پیامک لند» با پشتیبانی از ارسال پترن (Pattern/Shared Line).
Credit Check: دریافت و نمایش موجودی پنل با استفاده از کشینگ (Transients) برای کاهش ریکوئستها.
Sync Delivery Status: پیادهسازی جاب (Cron Job) برای بررسی دورهای وضعیت دلیوری پیامکها و آپدیت دیتابیس.
4-2. سیستم احراز هویت مدرن (Tabbed Login Interface)
این سیستم باید جایگزین فرمهای ورود در سمت کاربر (Frontend) شود (مشابه مکانیزم Digits اما سبکتر).
رابط کاربری تببندی شده: فرم ورود باید دارای دو تب باشد:
تب 1: ورود با شماره موبایل (OTP).
تب 2: ورود با نام کاربری/ایمیل + رمز عبور.
تنظیمات استراتژی: ادمین میتواند تعیین کند کدام تبها فعال باشند (فقط OTP، فقط پسورد، یا هر دو).
ایزوله بودن ادمین (حیاتی): این سیستم لاگین نباید روی آدرس wp-admin یا wp-login.php اعمال شود. مدیران سایت باید بتوانند بدون تداخل با این افزونه و با حفظ سازگاری با افزونههای امنیتی (مثل Wordfence و …) وارد شوند.
دفترچه تلفن کاربران: ذخیره خودکار شماره موبایل کاربرانی که لاگین/ثبتنام میکنند در یک گروه دفترچه تلفن مشخص در پنل پیامک.
4-3. شخصیسازی بصری و متنی (UI & Localization)
تنظیمات ظاهری (Style): امکان تغییر رنگ دکمهها، تبها، و گردی گوشهها (Border Radius) و آپلود لوگو از پنل تنظیمات.
تنظیمات متنی (Translations): امکان تغییر تمام متنهای سمت کاربر (مثل پیامهای خطا، لیبل دکمهها و فیلدها) از داخل پنل ادمین بدون نیاز به ویرایش فایل .po.
5. امنیت و بهینهسازی (Security & Performance)
Rate Limiting: محدودیت ارسال پیامک در بازه زمانی مشخص برای هر IP و شماره موبایل (جلوگیری از SMS Bomber).
Asset Loading (سئو و سرعت): فایلهای CSS و JS افزونه فقط و فقط باید در صفحاتی لود شوند که فرم لاگین یا شورتکد وجود دارد. لود سراسری (Site-wide) ممنوع است. فایلها باید Minify شده باشند.
سازگاری با کش: فرمهای لاگین باید با افزونههای کش (WP Rocket/Litespeed) سازگار باشند (استفاده از AJAX امن به همراه Nonce).
امنیت داده: اعتبارسنجی دقیق (Validation) و ایمنسازی خروجیها (Escaping) برای جلوگیری از XSS و Injection.
سازگاری با افزونه های امنیتی: این افزونه به هیچ عنوان نباید با افزونه های امنیتی وردپرس دارای تداخل باشد
6. شرح ویژگیهای ادان ووکامرس (WooCommerce Add-on)
(نصب این افزونه اختیاری و وابسته به هسته است)
ارسال پیامک وضعیت سفارش: ارسال خودکار در وضعیتهای مختلف (Pending, Processing, Completed, etc) با امکان انتخاب پترن اختصاصی برای هر وضعیت.
پشتیبانی از متغیرها: استفاده از نام خریدار، شماره سفارش، مبلغ و لیست محصولات در متن پترن.
مدیریت مخاطبین هوشمند (Smart Phonebook): امکان تنظیم ذخیرهسازی خودکار شماره "خریداران موفق" در یک گروه دفترچه تلفن مجزا در پنل پیامک.
اعتبارسنجی Checkout: اجباری کردن فیلد موبایل و بررسی فرمت صحیح (11 رقم با شروع 09).
7. شرح ویژگیهای ادان فرمسازها (Forms Add-on)
(نصب این افزونه اختیاری و وابسته به هسته است)
پشتیبانی از: Gravity Forms, Contact Form 7, WPForms, Elementor Forms.
Mapping UI: رابط کاربری گرافیکی برای اتصال فیلدهای فرم به متغیرهای پترن پیامک (مثلاً اتصال فیلد "نام" در فرم به متغیر {name} در پترن).
دفترچه تلفن شرطی: امکان تنظیم اینکه کاربرانی که فرم X را پر میکنند، در دفترچه تلفن Y سامانه ذخیره شوند.
8. شرایط تحویل (Definition of Done)
تحویل سورس کد کامل در 3 فایل zip استاندارد.
تست موفقیتآمیز سناریوی "لاگین دو زبانه" روی قالبهای استاندارد.
تست عدم تداخل با لایههای امنیتی ورود ادمین.
داکیومنت فنی کوتاه (برای توسعهدهندگان آینده).
گارانتی رفع باگ و پشتیبانی فنی به مدت 3 ماه.
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.