Skip to content

مدیریت محتوا

ماژول اصلیتعریف ماژولتوضیحات
Content Management Systemسامانه مدیریت محتوای وبیک ابزار یکپارچه و قدرتمند برای ایجاد، مدیریت و انتشار هر نوع محتوای دیجیتال در کانال‌های مختلف است. یکی از کاربردهای اصلی این سیستم، استفاده از آن به عنوان یک سیستم مدیریت محتوای وب (WCMS) پیشرفته برای ساخت و نگهداری وب‌سایت‌ها می‌باشد.

فیچرلیست:

ردیفدسته‌بندیعنوانمسیر پیشنهادیداستان کاربر (User Story)
1انواع محتوالیست قالب‌های استاندارد موجودGET /content-types/templatesبه عنوان توسعه‌دهنده، می‌خواهم قالب‌های پیش‌ساخته (مانند مقاله، محصول) را ببینم تا از آن‌ها استفاده کنم.
2ایجاد نوع محتوا جدیدPOST /content-typesبه عنوان معمار سیستم، می‌خواهم «نوع محتوای رویداد» را با فیلدهای خاص تعریف کنم.
3لیست انواع محتواGET /content-typesبه عنوان ادمین، می‌خواهم لیستی از تمام انواع محتوای تعریف شده در سیستم را مشاهده کنم.
4دریافت یک نوع محتواGET /content-types/به عنوان توسعه‌دهنده، می‌خواهم جزئیات ساختاری «نوع محتوای رویداد» را دریافت کنم.
5ویرایش نوع محتواPUT /content-types/به عنوان معمار سیستم، می‌خواهم نام «نوع محتوای رویداد» را به «وقایع» تغییر دهم.
6آرشیو کردن نوع محتواDELETE /content-types/به عنوان ادمین، می‌خواهم «نوع محتوای نظرسنجی» که دیگر استفاده نمی‌شود را آرشیو کنم.
7لیست انواع محتوای آرشیو شدهGET /content-types/archivedبه عنوان ادمین، می‌خواهم لیست انواع محتوایی که قبلا آرشیو کرده‌ام را ببینم.
8بازیابی نوع محتوای آرشیو شدهPOST /content-types/{typeId}/restoreبه عنوان ادمین، می‌خواهم «نوع محتوای نظرسنجی» را برای استفاده مجدد بازیابی کنم.
9مدیریت فیلدهادریافت انواع فیلدGET /system/field-typesبه عنوان توسعه‌دهنده، می‌خواهم بدانم چه نوع فیلدهایی (متن، عدد، تاریخ) در سیستم پشتیبانی می‌شود.
10افزودن فیلد به نوع محتواPOST /content-types/{typeId}/fieldsبه عنوان معمار سیستم، می‌خواهم فیلد «نقشه گوگل» را به «نوع محتوای رویداد» اضافه کنم.
11ویرایش فیلدPUT /content-types/{typeId}/fields/به عنوان معمار سیستم، می‌خواهم نام فیلد «عنوان» را به «تیتر اصلی» تغییر دهم.
12حذف فیلدDELETE /content-types/{typeId}/fields/به عنوان معمار سیستم، می‌خواهم فیلد اضافی «خلاصه» را از «نوع محتوای رویداد» حذف کنم.
13قوانین اعتبارسنجی برای فیلدها (Validation Rules)PUT /content-types/{typeId}/fields/{fieldId}به عنوان معمار سیستم، می‌خواهم برای فیلد «ایمیل»، قانونی تعریف کنم که فقط فرمت صحیح ایمیل را بپذیرد و برای فیلد «تعداد»، محدودیت عددی (مثلاً بین ۱ تا ۱۰) تعیین کنم.
13محتوای مرتبطقابلیت ایجاد ارتباط بین انواع محتوا (Relationship Fields)POST /content-types/{typeId}/related-contentبه عنوان یک معمار سیستم، می‌خواهم بتوانم فیلدهایی برای ایجاد ارتباط بین انواع مختلف محتوا تعریف کنم؛ چه اتصال یک «مقاله» به «نویسنده» آن باشد و چه اتصال یک «نقد و بررسی» به «محصول» مرتبط با آن.
15مدیریت محتواایجاد محتوای جدیدPOST /contentبه عنوان نویسنده، می‌خواهم یک مقاله جدید با عنوان و محتوای اولیه ایجاد کنم.
16لیست مدیریتی محتواGET /admin/contentبه عنوان سردبیر، می‌خواهم لیستی از تمام محتواها (منتشر شده، پیش‌نویس) را ببینم.
17نمایش محتوا (سمت ادمین)GET /admin/content/به عنوان ویراستار، می‌خواهم محتوای کامل یک مقاله را برای بازبینی مشاهده کنم.
18ویرایش محتواPUT /content/به عنوان نویسنده، می‌خواهم متن و تصاویر مقاله‌ام را ویرایش کنم.
19انتشار محتواPOST /content/{contentId}/publishبه عنوان سردبیر، پس از بازبینی، می‌خواهم مقاله را منتشر کنم تا برای عموم قابل مشاهده باشد.
20عدم انتشار محتواPOST /content/{contentId}/unpublishبه عنوان مدیر، می‌خواهم مقاله‌ای را به دلیل نیاز به بازبینی، موقتا از دسترس خارج کنم.
21آرشیو محتواDELETE /content/به عنوان مدیر، می‌خواهم مقاله‌ای قدیمی را از لیست محتواهای فعال خارج و آرشیو کنم.
22بازیابی محتواPOST /content/{contentId}/restoreبه عنوان مدیر، می‌خواهم یک محتوای آرشیو شده را به حالت پیش‌نویس برگردانم.
تاریخچه نسخه‌ها و قابلیت مقایسه (Versioning)GET /content/{contentId}/versionsبه عنوان سردبیر، می‌خواهم تاریخچه تمام تغییرات ثبت شده روی یک مقاله را ببینم، دو نسخه مختلف را با هم مقایسه کنم (تغییرات هایلایت شوند) و در صورت نیاز، به یک نسخه قدیمی‌تر بازگردم.
عملیات دسته‌ای روی محتوا (Bulk Actions)POST /admin/content/bulk-actionبه عنوان مدیر محتوا، می‌خواهم بتوانم ۲۰ مقاله را از لیست انتخاب کرده و همه آن‌ها را به صورت یکجا «آرشیو» کنم یا به همه آن‌ها یک تگ مشخص (مانند «گزارش سالانه») اضافه نمایم.
23پیش‌نویس‌هاایجاد پیش‌نویس محتواPOST /draftsبه عنوان نویسنده، می‌خواهم یک پیش‌نویس جدید برای مقاله‌ام ایجاد کنم.
24لیست مدیریتی پیش‌نویس‌هاGET /admin/draftsبه عنوان سردبیر، می‌خواهم لیستی از تمام مقالاتی که در حالت پیش‌نویس هستند را ببینم.
25نمایش پیش‌نویسGET /drafts/به عنوان ویراستار، می‌خواهم محتوای یک پیش‌نویس خاص را برای بررسی مشاهده کنم.
26تبدیل پیش‌نویس به محتواPOST /drafts/{draftId}/convertبه عنوان ویراستار، پس از تایید، می‌خواهم یک پیش‌نویس را به یک آیتم محتوایی اصلی تبدیل کنم.
27سمت کاربرلیست محتوای انتشار یافته کاربر نهاییGET /published-contentبه عنوان کاربر سایت، می‌خواهم لیستی از آخرین مقالات منتشر شده را مشاهده کنم.
28نمایش محتوای منتشر شده کاربر نهاییGET /published-content/به عنوان کاربر سایت، می‌خواهم متن کامل یک مقاله را برای مطالعه باز کنم.
29جستجوی کلمه کلیدی در لیست محتواGET /published-content/search?q=...به عنوان کاربر سایت، می‌خواهم کلمه «هوش مصنوعی» را جستجو و مقالات مرتبط را پیدا کنم.
ثبت نظر (کامنت) توسط کاربرPOST /content/{contentId}/commentsبه عنوان یک خواننده، می‌خواهم بتوانم نظر خودم را در پایین یک مقاله ثبت کنم تا با نویسنده و دیگر خوانندگان گفتگو کنم.
لایک و دیسلایک کردن محتواPOST /content/{contentId}/likeبه عنوان یک خواننده، می‌خواهم بتوانم با لایک کردن یک مقاله، رضایت یا عدم رضایت خودم را از آن نشان دهم.
ذخیره یا بوکمارک کردن محتوا (برای بعد خواندن)POST /users/me/bookmarksبه عنوان یک کاربر، می‌خواهم بتوانم مقاله‌ای که الان وقت خواندنش را ندارم، در لیست شخصی خودم ذخیره کنم تا بعداً به راحتی آن را پیدا کرده و مطالعه کنم.
اشتراک‌گذاری محتوا در شبکه‌های اجتماعیGET /content/{contentId}/shareبه عنوان یک خواننده، وقتی از یک مقاله خوشم می‌آید، می‌خواهم بتوانم با یک کلیک، لینک آن را به راحتی در توییتر یا واتس‌اپ برای دوستانم به اشتراک بگذارم.
پاسخ دادن به نظرات دیگران (Threading)POST /comments/{commentId}/replyبه عنوان یک کاربر، می‌خواهم بتوانم مستقیماً به کامنت یک کاربر دیگر پاسخ دهم تا گفتگوها به صورت رشته‌ای و منظم شکل بگیرند.
امتیازدهی به نظرات (Upvote/Downvote)POST /comments/{commentId}/voteبه عنوان یک خواننده، می‌خواهم بتوانم به کامنت‌های مفید و سازنده رأی مثبت دهم تا بالاتر نمایش داده شوند و کامنت‌های اسپم رأی منفی بگیرند.
دنبال کردن نویسندگان یا موضوعات خاص (Follow)POST /users/{authorId}/followبه عنوان یک خواننده، وقتی به مقالات یک نویسنده خاص علاقه‌مند می‌شوم، می‌خواهم بتوانم او را دنبال کنم تا از انتشار مقالات جدیدش مطلع شوم.
گزارش محتوا یا نظرات نامناسب (Report)POST /content/{id}/reportبه عنوان یک کاربر، اگر با یک نظر توهین‌آمیز یا محتوایی که قوانین سایت را نقض می‌کند مواجه شدم، می‌خواهم بتوانم آن را برای بررسی به مدیران گزارش دهم.
30مدیریت محصولاتایجاد محصول جدیدPOST /productsبه عنوان مدیر فروشگاه، می‌خواهم محصول جدید «لپ تاپ» را برای فروش به سایت اضافه کنم.
31ویرایش محصولPUT /products/به عنوان مدیر فروشگاه، می‌خواهم قیمت محصول «لپ تاپ» را به‌روزرسانی کنم.
32انتشار محصولPOST /products/{productId}/publishبه عنوان مدیر فروشگاه، می‌خواهم محصول «لپ تاپ» را برای نمایش در ویترین فروشگاه منتشر کنم.
33آرشیو محصولDELETE /products/به عنوان مدیر فروشگاه، می‌خواهم محصولی که دیگر موجود نیست را آرشیو کنم.
34ایجاد زیرمحصولPOST /products/{productId}/variantsبه عنوان مدیر، می‌خواهم برای «پیراهن»، زیرمحصولاتی با رنگ و سایز مختلف تعریف کنم.
35پروموشن‌هاایجاد پروموشنPOST /promotionsبه عنوان مدیر بازاریابی، می‌خواهم یک پروموشن «۲۰٪ تخفیف آخر هفته» ایجاد کنم.
36افزودن محصول به پروموشنPOST /promotions/{promoId}/productsبه عنوان مدیر، می‌خواهم «لپ تاپ» را به پروموشن «۲۰٪ تخفیف آخر هفته» اضافه کنم.
37حذف محصول از پروموشنDELETE /promotions/{promoId}/products/به عنوان مدیر، می‌خواهم محصولی را از یک پروموشن فعال حذف کنم.
38کدهای تخفیفایجاد کد تخفیفPOST /discount-codesبه عنوان مدیر، می‌خواهم یک کد تخفیف ۱۰۰ هزار تومانی برای مشتریان وفادار ایجاد کنم.
39فعال کردن کد تخفیفPOST /discount-codes/{codeId}/activateبه عنوان مدیر، می‌خواهم کد تخفیف ایجاد شده را برای استفاده مشتریان فعال کنم.
40سبد خریدافزودن و حذف محصول به سبد خریدPOST /cart/itemsبه عنوان مشتری، می‌خواهم محصولی را به سبد خرید خود اضافه کنم.
41دریافت لیست سبد خریدGET /cartبه عنوان مشتری، می‌خواهم قبل از پرداخت، لیست اقلام سبد خریدم را بازبینی کنم.
42فاکتورهاایجاد نوع فاکتورPOST /invoice-typesبه عنوان مدیر مالی، می‌خواهم انواع فاکتور مانند «رسمی» و «غیر رسمی» را تعریف کنم.
43پیش نمایش فاکتورGET /invoices/previewبه عنوان مشتری، می‌خواهم قبل از پرداخت، پیش‌نمایش فاکتور خود را ببینم.
44صدور فاکتور تسهیمیPOST /invoices/splitبه عنوان سیستم، می‌خواهم برای خرید از دو فروشنده، دو فاکتور مجزا صادر کنم.
45پرداخت فاکتورPOST /invoices/{invoiceId}/payبه عنوان مشتری، می‌خواهم فاکتور سبد خریدم را از طریق درگاه پرداخت، نهایی کنم.
46کنسل کردن فاکتورPOST /invoices/{invoiceId}/cancelبه عنوان مدیر پشتیبانی، می‌خواهم یک فاکتور پرداخت نشده را به درخواست مشتری کنسل کنم.
47مدیریت کاربرانذخیره کاربرPOST /usersبه عنوان ادمین، می‌خواهم یک کاربر جدید با نام و ایمیل در سیستم ثبت کنم.
48جستجوی کاربرGET /users/searchبه عنوان ادمین، می‌خواهم کاربری را بر اساس آدرس ایمیل او جستجو کنم.
49فعال و غیر فعال کردن کاربرPOST /users/{userId}/statusبه عنوان مدیر، می‌خواهم دسترسی یک کارمند را به صورت موقت غیرفعال کنم.
50مدیریت نقش‌هاایجاد نقشPOST /rolesبه عنوان ادمین، می‌خواهم نقش «ویراستار» را در سیستم ایجاد کنم.
51اضافه کردن دسترسی جدید به نقشPOST /roles/{roleId}/permissionsبه عنوان ادمین، می‌خواهم دسترسی «انتشار محتوا» را به نقش «ویراستار» اضافه کنم.
52حذف دسترسی از نقشDELETE /roles/{roleId}/permissions/به عنوان ادمین، می‌خواهم دسترسی «حذف محتوا» را از نقش «ویراستار» حذف کنم.
53اکشن و شرطایجاد اکشنPOST /actionsبه عنوان ادمین، می‌خواهم یک «اکشن» قابل کنترل با نام PublishArticle تعریف کنم.
54ایجاد شرط برای نوع محتواPOST /conditionsبه عنوان ادمین، می‌خواهم شرطی تعریف کنم که اکشن PublishArticle فقط برای نقش «ویراستار» ممکن باشد.
55مدیریت تگ‌هاایجاد دسته‌بندی تگ جدیدPOST /tag-categoriesبه عنوان ادمین، می‌خواهم دسته‌بندی تگ «موضوعات» را ایجاد کنم.
56ایجاد تگ جدید در یک دسته‌بندیPOST /tag-categories/{catId}/tagsبه عنوان مدیر محتوا، می‌خواهم تگ «ورزشی» را در دسته‌بندی «موضوعات» ایجاد کنم.
57ویرایش والد تگ درختیPUT /tags/{tagId}/parentبه عنوان مدیر، می‌خواهم تگ «فوتبال» را فرزند تگ «ورزشی» تعریف کنم.
58مدیریت فایلایجاد فولدر جدید و آپلود فایلPOST /files/uploadبه عنوان نویسنده، می‌خواهم تصویری را در پوشه «مقاله‌های تیرماه» آپلود کنم.
59حذف فایل یا فولدرDELETE /filesبه عنوان نویسنده، می‌خواهم تصویر پیش‌نویسی که دیگر لازم ندارم را حذف کنم.
60مدیریت نظراتلیست مدیریتی نظراتGET /admin/commentsبه عنوان مدیر، می‌خواهم تمام نظرات ثبت شده را در یک پنل مشاهده کنم.
61تأیید کردن نظرPOST /comments/{commentId}/approveبه عنوان مدیر، می‌خواهم نظری را تأیید کنم تا در سایت نمایش داده شود.
62حذف کردن نظرDELETE /comments/به عنوان مدیر، می‌خواهم نظری که حاوی اسپم است را حذف کنم.
64احراز هویتHandshakePOST /auth/handshakeبه عنوان کلاینت، می‌خواهم یک ارتباط اولیه امن با سرور برای شروع فرآیند احراز هویت برقرار کنم.
65دریافت مجوز (Authorization)POST /auth/authorizeبه عنوان کلاینت، پس از احراز هویت کاربر، می‌خواهم مجوز دسترسی به منابع را دریافت کنم.
66دریافت توکنPOST /auth/tokenبه عنوان کلاینت، می‌خواهم یک توکن دسترسی (Access Token) برای ارسال در درخواست‌های بعدی دریافت کنم.
67رفرش توکنPOST /auth/refreshبه عنوان کلاینت، می‌خواهم با استفاده از رفرش توکن، یک توکن دسترسی جدید بدون نیاز به لاگین مجدد بگیرم.
68ابزارهای سیستمیدریافت کپچاGET /captchaبه عنوان کاربر مهمان، برای ثبت نظر، می‌خواهم یک کپچا دریافت کنم تا ثابت کنم ربات نیستم.
69نمایش تاریخ جاریGET /system/timeبه عنوان کلاینت، می‌خواهم تاریخ و ساعت دقیق سرور را برای همزمانی دریافت کنم.
70تولید محتوای هوشمنددستیار هوش مصنوعی در ویرایشگر متنPOST /ai/generate-textبه عنوان یک نویسنده، می‌خواهم در هنگام نوشتن یک مقاله، از هوش مصنوعی بخواهم تا یک پاراگراف برایم بنویسد، متن فعلی را خلاصه کند یا آن را به زبان دیگری ترجمه نماید.
71بهینه‌سازی سئو با هوش مصنوعیPOST /ai/seo-suggestionsبه عنوان یک کارشناس سئو، می‌خواهم سیستم به صورت خودکار متن مقاله را تحلیل کرده و پیشنهاداتی برای بهبود کلمات کلیدی و افزایش خوانایی برای کسب رتبه بهتر در گوگل ارائه دهد.
72شخصی‌سازی و تستموتور تست A/B و شخصی‌سازی محتواPOST /experiments/ab-testبه عنوان مدیر بازاریابی، می‌خواهم دو نسخه متفاوت از تیتر یک مقاله را به دو گروه از کاربران نمایش دهم تا ببینم کدام یک کلیک بیشتری می‌گیرد.
73همکاری و گردش کارقابلیت ویرایش همزمان (Live Collaboration)(WebSocket-based service)به عنوان یک ویراستار، می‌خواهم بتوانم به صورت همزمان با نویسنده، مانند Google Docs، روی یک متن کار کنم و تغییرات او را در لحظه ببینم.
74تقویم محتوایی (Content Calendar)GET /admin/content-calendarبه عنوان مدیر محتوا، می‌خواهم یک تقویم بصری داشته باشم که تمام مقالات، کمپین‌ها و پست‌های شبکه‌های اجتماعی زمان‌بندی شده را در آن مشاهده و مدیریت کنم.
قفل کردن محتوا حین ویرایش (Content Locking)POST /content/{contentId}/lockبه عنوان یک نویسنده، وقتی در حال ویرایش یک مقاله مهم هستم، می‌خواهم سیستم آن را قفل کند تا همکار دیگری به صورت همزمان نتواند تغییرات من را بازنویسی کرده و باعث تداخل شود.
تعریف مراحل گردش کار سفارشیPOST /workflowsبه عنوان سردبیر، می‌خواهم یک گردش کار سفارشی با مراحل «پیش‌نویس اولیه»، «بازبینی فنی»، «بازبینی سئو» و «آماده انتشار» تعریف کنم تا فرآیند تولید محتوای ما دقیقاً مدل‌سازی شود.
کامنت‌گذاری داخلی روی پیش‌نویس‌هاPOST /drafts/{draftId}/commentsبه عنوان ویراستار، می‌خواهم روی یک پیش‌نویس برای نویسنده کامنت بگذارم (مثلاً: «این پاراگراف نیاز به منبع دارد») به طوری که این کامنت‌ها برای کاربران عادی سایت قابل مشاهده نباشد.
75مدیریت پیشرفته رسانهمدیریت دارایی‌های دیجیتال (DAM)PUT /media/{id}/metadataبه عنوان مدیر رسانه، می‌خواهم بتوانم برای هر تصویر، اطلاعات کاملی مانند کپی‌رایت، تاریخ انقضای لایسنس و تگ‌های هوشمند (که توسط AI تولید شده) ثبت کنم.
ابزارهای ویرایش تصویر (برش، تغییر اندازه)POST /media/{id}/editبه عنوان یک نویسنده، می‌خواهم پس از آپلود یک تصویر، بتوانم آن را مستقیماً در خود CMS برش (Crop) دهم یا اندازه‌اش را تغییر دهم و نیازی به استفاده از نرم‌افزار دیگری نداشته باشم.