جزئیات شغل

کدنویسی پنل انتشار مقالات (Article Publishing Panel) — ویژه ادمین‌ها ( nextjs )

تجربه: 4

سن: 18 الی 30

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

جای خالی: 1

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

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

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

 شرح تسک

در این تسک، هدف توسعه‌ی پنل اختصاصی انتشار و مدیریت مقالات است که تنها برای کاربران دارای سطح دسترسی ادمین (Admin Role) قابل مشاهده و استفاده باشد.
این پنل باید امکان ایجاد، ویرایش و انتشار مقالات جدید را فراهم کند و با سیستم مدیریت مقالات و دیتابیس اصلی پروژه متصل شود.

ویژگی‌ها و اجزای اصلی پنل

1. فرم اصلی انتشار مقاله

در صفحه‌ی انتشار مقاله، یک ادیتور پیشرفته (Rich Text Editor) قرار می‌گیرد و در کنار آن فیلدهای زیر باید پیاده‌سازی شوند:

این ورودی‌ها شامل موارد زیر هستند:

  • ورودی عنوان مقاله با اعتبارسنجی اجباری و محدودیت کاراکتر

  • فیلد شرح کوتاه برای نمایش در کارت‌ها و متاتگ‌ها

  • ورودی برچسب‌ها (Tags) با قابلیت افزودن و حذف به‌صورت Chips

  • انتخاب دسته‌بندی از میان دسته‌های موجود

  • امکان ساخت دسته‌بندی جدید (در قالب مودال یا بخش inline)

  • ثبت کلمات کلیدی برای سئو (SEO Keywords)

  • فیلد شناسه ناشر (Publisher ID)

  • امکان آپلود تصویر ناشر (Publisher Image)

  • آپلود تصویر شاخص (Thumbnail) به‌عنوان کاور مقاله

  • توضیحات مختصر برای متاتگ توضیحات (Meta Description)

  • فیلد Slug یا URL که از عنوان به‌صورت خودکار ساخته می‌شود و قابل ویرایش دستی است

    2. ادیتور محتوای مقاله (Rich Text Editor)

    • ادیتور باید قابلیت‌های زیر را داشته باشد:

      • Bold / Italic / Underline / Code Block

      • Header (H1–H4)

      • Quote

      • Insert Image / Video / Link

      • لیست‌گذاری (ترتیبی و غیرترتیبی)

      • قابلیت ذخیره پیش‌نویس (Draft Save)

      • قابلیت پیش‌نمایش (Preview Mode) مقاله پیش از انتشار

      ⚙️ پیشنهاد: استفاده از یکی از ادیتورهای حرفه‌ای مانند Quill / TinyMCE / TipTap / Editor.js
      3. کنترل انتشار و وضعیت مقاله

      در بخش پایانی فرم، گزینه‌هایی برای کنترل وضعیت مقاله اضافه شود:

      • انتشار نهایی (Publish)

      • ???? ذخیره به عنوان پیش‌نویس (Save as Draft)

      • ???? غیرفعال‌سازی / بایگانی (Archive)

      هر وضعیت باید در دیتابیس به‌صورت status: [draft | published | archived] ذخیره شود.

      4. پیش‌نمایش مقاله (Preview Page)

      دکمه‌ی "پیش‌نمایش" باید مقاله را در صفحه‌ای مشابه صفحه‌ی اصلی مقاله نمایش دهد (همان UI صفحه سینگل مقاله).
      این پیش‌نمایش فقط برای ادمین در حالت تست قابل مشاهده است و آدرسش نباید ایندکس شود.

      5. مدیریت مقالات منتشرشده

      در پایین صفحه یا تب دوم، لیست مقالات منتشرشده / پیش‌نویس / بایگانی‌شده نمایش داده شود.
      هر کارت مقاله شامل:

      • عنوان

      • تاریخ انتشار

      • وضعیت

      • نویسنده

      • دکمه ویرایش / حذف / مشاهده پیش‌نمایش

      6. محدودیت دسترسی

      این صفحه فقط برای کاربرانی در دسترسی role: admin قابل مشاهده باشد.

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

      ادمین بتواند مقاله جدید ثبت و منتشر کند.

      قابلیت ذخیره پیش‌نویس فعال باشد.

      امکان ساخت دسته‌بندی جدید از داخل پنل وجود داشته باشد.

      ادیتور قابلیت ویرایش کامل متن، لینک، تصویر و ویدیو داشته باشد.

      کاربران غیرادمین دسترسی به این صفحه نداشته باشند.

      پیش‌نمایش مقاله قبل از انتشار به‌درستی کار کند.

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

      • کامپوننت کامل صفحه انتشار مقاله (ArticlePublishPanel)

      • کامپوننت ادیتور محتوا

      • API اتصال به بک‌اند برای ثبت، ویرایش، انتشار

      • ماژول کنترل دسترسی (Admin Only)

      • تست عملکرد در حالت Draft و Publish

      • ویدیو یا اسکرین‌شات از عملکرد کل صفحه

       اولویت

      خیلی بالا — چون این پنل زیرساخت اصلی تولید و انتشار محتوای رسمی متاورس رنگ را تشکیل می‌دهد و مستقیماً روی سئو و بروزرسانی‌های وب‌سایت اثر دارد.
      ---------------------------------------------------------------------------------------------------------------

      منابع تسک:

      دسترسی به ریپازیتوری پروژه نکست خارجی متارنگ :
      https://github.com/iranpsc/Metaverse-Rang-Front-NextJS

      لینک سایت رسمی پروژه :

      https://rgb.irpsc.com/fa

      دسترسی به سامانه مدیریت بر مدیران :

      https://crm.irpsc.com

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

      عنوان شغلی: کدنویسی پنل انتشار مقالات (Article Publishing Panel) — ویژه ادمین‌ها

      تعیین: nextjs

      تجربه: 4

      سن: 18 الی 30

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

      جای خالی: 1

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

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

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

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