خلاصه و مقدمه
عنوان
پلیلیستها - تب مدیریت مجموعههای ویدئویی در بخش «ویدئوهای من»
معرفی و هدف
تب «پلیلیستها» به کاربران امکان میدهد ویدئوهای خود را در مجموعههای موضوعی سازماندهی کنند. پلیلیستها به بینندگان کمک میکنند محتوای مرتبط را به صورت متوالی مشاهده کنند و تجربه تماشای بهتری داشته باشند.
اهداف بیزنسی:
- افزایش مدت زمان تماشای کاربران (Watch Time)
- بهبود کشفپذیری محتوا (Content Discovery)
- افزایش تعامل با کانال
- سازماندهی بهتر محتوا برای بینندگان
دامنه
این بخش چه کارهایی انجام میدهد:
- ✅ نمایش لیست تمام پلیلیستهای کاربر
- ✅ ایجاد پلیلیست جدید
- ✅ ویرایش اطلاعات پلیلیست
- ✅ حذف پلیلیست
- ✅ فیلتر و مرتبسازی پلیلیستها
- ✅ تغییر ترتیب ویدئوها در پلیلیست
این بخش چه کارهایی انجام نمیدهد:
- ❌ افزودن ویدئو به پلیلیست → از تب ویدئوها یا صفحه ویرایش ویدئو انجام میشود
- ❌ آپلود ویدئوی جدید → از طریق دکمه آپلود در هدر انجام میشود (مستندات در انتظار طراحی)
- ❌ مشاهده آمار پلیلیست → در حال حاضر پشتیبانی نمیشود
مخاطبان و نقشها
| نقش | فارسی | دسترسی | محدودیت |
|---|---|---|---|
| Newcomer | کاربر تازهوارد | ❌ ندارد | این بخش فقط پس از آپلود اولین ویدئو قابل دسترسی است |
| Video Producer | تولیدکننده ویدیو | ✅ کامل | حداکثر 50 پلیلیست |
| Monetized Producer | تولیدکننده درآمدزا | ✅ کامل | حداکثر 100 پلیلیست |
| Live Streamer | استریمر | ✅ کامل | حداکثر 100 پلیلیست |
شاخصهای کلیدی عملکرد
| شاخص | مقدار مطلوب | توضیحات |
|---|---|---|
| تعداد پلیلیست به ازای هر کاربر | KPI ردگیری | میانگین تعداد پلیلیستها |
| میانگین ویدئو در پلیلیست | KPI ردگیری | میانگین تعداد ویدئو در هر پلیلیست |
| نرخ ایجاد پلیلیست | KPI ردگیری | درصد کاربرانی که پلیلیست میسازند |
| نرخ تکمیل ایجاد | > 80% | پلیلیستهایی که با موفقیت ایجاد میشوند |
اصطلاحات و تعاریف
| اصطلاح | تعریف |
|---|---|
| پلیلیست (Playlist) | مجموعهای از ویدئوها که به صورت گروهی سازماندهی شدهاند |
| تصویر کاور (Cover Image) | تصویری که به عنوان نماینده پلیلیست نمایش داده میشود |
| عمومی (Public) | پلیلیست در کانال و جستجو نمایش داده میشود |
| خصوصی (Private) | پلیلیست فقط برای خود کاربر قابل مشاهده است |
| فهرست نشده (Unlisted) | پلیلیست فقط با لینک مستقیم قابل دسترسی است |
قوانین بیزنسی
محدودیتهای پلیلیست
| قانون | مقدار | توضیحات |
|---|---|---|
| حداکثر تعداد پلیلیست (کاربران عادی) | 50 | برای Video Producerها |
| حداکثر تعداد پلیلیست (کاربران درآمدزا) | 100 | برای Monetized Producer و Live Streamer |
| حداکثر ویدئو در هر پلیلیست | 500 | - |
| حداکثر طول عنوان پلیلیست | 100 کاراکتر | - |
| حداکثر طول توضیحات | 5000 کاراکتر | - |
| فرمت تصویر کاور | JPG, PNG | - |
| حداکثر حجم تصویر کاور | 2 مگابایت | - |
وضعیتهای پلیلیست
| وضعیت | نام فارسی | توضیحات |
|---|---|---|
public | عمومی | در کانال و جستجوی عمومی نمایش داده میشود |
private | خصوصی | فقط برای خود کاربر قابل مشاهده است |
unlisted | فهرست نشده | فقط با لینک مستقیم قابل دسترسی است |
قوانین عنوانگذاری
- عنوان پلیلیست باید یکتا باشد (نمیتوان دو پلیلیست با یک عنوان داشت)
- عنوان باید با محتوای ویدئوها مرتبط باشد
- استفاده از کلمات نامناسب در عنوان ممنوع است
سناریوها
فهرست سناریوها
- مشاهده لیست پلیلیستها
- ایجاد پلیلیست جدید
- ویرایش پلیلیست
- حذف پلیلیست
- فیلتر و مرتبسازی پلیلیستها
- حالت خالی (Empty State)
سناریو 1: مشاهده لیست پلیلیستها
شرح مختصر: کاربر میخواهد لیست تمام پلیلیستهای خود را مشاهده کند و اطلاعات کلی هر پلیلیست را ببیند.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- کاربر در آپارات لاگین کرده باشد
- کاربر حداقل یک ویدئو آپلود کرده باشد (برای دسترسی به بخش ویدئوهای من)
فلو/روند اصلی
گام 1: ورود به بخش ویدئوهای من
- کاربر از منوی کناری سمت راست داشبورد روی گزینه «ویدئوهای من» کلیک میکند
- سیستم صفحه «ویدئوهای من» را بارگذاری میکند
گام 2: سوئیچ به تب پلیلیستها
- کاربر روی تب «پلیلیستها» کلیک میکند
- سیستم محتوای تب را بارگذاری میکند

گام 3: نمایش نوار عملیات
سیستم در بالای صفحه نوار عملیات را نمایش میدهد که شامل:
- دکمه «پلیلیست جدید»: دکمه اصلی برای ایجاد پلیلیست
- دکمه فیلتر: فیلتر بر اساس وضعیت
- دراپداون مرتبسازی: مرتبسازی لیست
گام 4: نمایش جدول پلیلیستها
سیستم لیست پلیلیستها را به صورت جدولی نمایش میدهد. هر ردیف شامل:
| ستون | توضیحات |
|---|---|
| تصویر کاور | تصویر نمایندهٔ پلیلیست (از اولین ویدئو یا تصویر سفارشی) |
| عنوان | نام پلیلیست |
| تعداد ویدئو | تعداد ویدئوهای موجود در پلیلیست |
| وضعیت | Badge رنگی (سبز: عمومی، خاکستری: خصوصی، زرد: فهرست نشده) |
| تاریخ آخرین بهروزرسانی | تاریخ شمسی آخرین تغییر |
| عملیات | دکمه سهنقطه برای منوی عملیات |
حالتهای نمایش
سیستم دو حالت نمایش ارائه میدهد:
| حالت | توضیحات | مناسب برای |
|---|---|---|
| جدولی (Table) | نمایش تمام اطلاعات در ستونهای جدا | دسکتاپ |
| کارتی (Card) | نمایش فشرده به صورت کارت | موبایل و تبلت |
- در نمایش جدولی: همه ستونها (از جمله وضعیت) نمایش داده میشوند
- در نمایش کارتی: وضعیت «عمومی» روی کارت نمایش داده نمیشود (فقط وضعیتهای خاص مثل خصوصی یا فهرست نشده)
گام 5: نمایش صفحهبندی
در انتهای جدول، اگر تعداد پلیلیستها زیاد باشد:
- انتخاب تعداد آیتم در صفحه: 10، 25، 50
- شماره صفحه فعلی و تعداد کل صفحات
- دکمههای قبلی/بعدی برای ناوبری
پیامدها (Postconditions):
- کاربر لیست پلیلیستهای خود را مشاهده میکند
- کاربر میتواند عملیات مدیریتی روی هر پلیلیست انجام دهد
سناریو 2: ایجاد پلیلیست جدید
شرح مختصر: کاربر میخواهد یک پلیلیست جدید ایجاد کند تا ویدئوهای خود را سازماندهی کند.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- کاربر به حداکثر تعداد پلیلیست مجاز نرسیده باشد
فلو/روند اصلی
گام 1: کلیک روی دکمه ایجاد
- کاربر روی دکمه «پلیلیست جدید» در نوار عملیات کلیک میکند
گام 2: نمایش مودال/فرم ایجاد
سیستم مودال ایجاد پلیلیست را نمایش میدهد با فیلدهای زیر:
| فیلد | نوع | الزامی | توضیحات |
|---|---|---|---|
| عنوان | متن | ✅ | نام پلیلیست (حداکثر 100 کاراکتر) |
| توضیحات | متن چندخطی | ❌ | شرح پلیلیست (حداکثر 5000 کاراکتر) |
| وضعیت | دراپداون | ✅ | عمومی / خصوصی / فهرست نشده |
| تصویر کاور | آپلود فایل | ❌ | JPG یا PNG، حداکثر 2MB |
گام 3: تکمیل فیلد عنوان
- کاربر عنوان پلیلیست را وارد میکند
- سیستم به صورت لحظهای تعداد کاراکترها را نمایش میدهد
- اگر عنوان تکراری باشد، پیام خطا نمایش داده میشود
گام 4: تکمیل فیلد توضیحات (اختیاری)
- کاربر میتواند توضیحات پلیلیست را وارد کند
- این متن در صفحه پلیلیست نمایش داده میشود
گام 5: انتخاب وضعیت انتشار
کاربر یکی از گزینههای زیر را انتخاب میکند:
| گزینه | توضیحات |
|---|---|
| عمومی (پیشفرض) | پلیلیست در کانال و جستجو نمایش داده میشود |
| خصوصی | فقط خود کاربر میتواند پلیلیست را ببیند |
| فهرست نشده | فقط با لینک مستقیم قابل دسترسی است |
گام 6: آپلود تصویر کاور (اختیاری)
- کاربر میتواند روی «انتخاب تصویر» کلیک کند
- فایل JPG یا PNG انتخاب میکند
- سیستم تصویر را پیشنمایش میدهد
- اگر تصویری انتخاب نشود، تصویر اولین ویدئو به عنوان کاور استفاده میشود
گام 7: ذخیره پلیلیست
- کاربر روی دکمه «ایجاد» کلیک میکند
- سیستم اطلاعات را اعتبارسنجی میکند
- در صورت موفقیت:
- پیام: «پلیلیست با موفقیت ایجاد شد»
- مودال بسته میشود
- پلیلیست جدید در بالای لیست نمایش داده میشود
اکشنهای پنهان (Hidden Actions):
- ایجاد رکورد در دیتابیس
- تولید URL یکتا برای پلیلیست
- ثبت در لاگ فعالیتهای کاربر
Error Handling:
| خطا | زمان رخداد | پیام نمایشی | راه حل |
|---|---|---|---|
| رسیدن به حداکثر تعداد | کاربر به سقف پلیلیست رسیده | «شما به حداکثر تعداد پلیلیست مجاز (50/100) رسیدهاید» | حذف پلیلیستهای غیرضروری |
| عنوان تکراری | پلیلیستی با همین عنوان وجود دارد | «پلیلیستی با این عنوان قبلاً ایجاد شده است» | انتخاب عنوان دیگر |
| عنوان خالی | عنوان وارد نشده | «عنوان پلیلیست الزامی است» | وارد کردن عنوان |
| تصویر نامعتبر | فرمت یا حجم تصویر مشکل دارد | «فرمت تصویر باید JPG یا PNG و حداکثر 2MB باشد» | انتخاب تصویر مناسب |
پیامدها (Postconditions):
- پلیلیست جدید ایجاد شده است
- پلیلیست در لیست کاربر نمایش داده میشود
- کاربر میتواند ویدئو به آن اضافه کند
سناریو 3: ویرایش پلیلیست
شرح مختصر: کاربر میخواهد اطلاعات یک پلیلیست موجود را ویرایش کند.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- پلیلیست متعلق به کاربر باشد
فلو/روند اصلی
گام 1: یافتن پلیلیست در لیست
- کاربر پلیلیست مورد نظر را در لیست پیدا میکند
- میتواند از فیلتر یا مرتبسازی استفاده کند
گام 2: باز کردن منوی عملیات
- کاربر روی دکمه «⋮» (سهنقطه) در ستون عملیات کلیک میکند
- منوی کشویی عملیات باز میشود

گام 3: انتخاب گزینه ویرایش
- کاربر روی «ویرایش» کلیک میکند
- سیستم مودال/صفحه ویرایش را نمایش میدهد
گام 4: ویرایش اطلاعات
کاربر میتواند موارد زیر را تغییر دهد:
| مورد | توضیحات |
|---|---|
| عنوان | تغییر نام پلیلیست |
| توضیحات | تغییر شرح پلیلیست |
| وضعیت | تغییر بین عمومی/خصوصی/فهرست نشده |
| تصویر کاور | آپلود تصویر جدید یا حذف تصویر فعلی |
| ترتیب ویدئوها | تغییر ترتیب ویدئوها با Drag & Drop |
گام 5: مدیریت ویدئوهای پلیلیست
در صفحه ویرایش، کاربر میتواند:
- مشاهده لیست ویدئوها: تمام ویدئوهای موجود در پلیلیست
- تغییر ترتیب: با کشیدن و رها کردن (Drag & Drop)
- حذف ویدئو: با کلیک روی آیکون X کنار هر ویدئو
گام 6: ذخیره تغییرات
- کاربر روی دکمه «ذخیره» کلیک میکند
- سیستم تغییرات را اعتبارسنجی میکند
- در صورت موفقیت: پیام «تغییرات با موفقیت ذخیره شد»
Error Handling:
| خطا | زمان رخداد | پیام نمایشی | راه حل |
|---|---|---|---|
| عنوان تکراری | عنوان جدید با پلیلیست دیگری یکسان است | «پلیلیستی با این عنوان قبلاً وجود دارد» | انتخاب عنوان دیگر |
پیامدها (Postconditions):
- اطلاعات پلیلیست بهروزرسانی شده است
- تغییرات در صفحه عمومی پلیلیست اعمال میشود
سناریو 4: حذف پلیلیست
شرح مختصر: کاربر میخواهد یک پلیلیست را حذف کند.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- پلیلیست متعلق به کاربر باشد
فلو/روند اصلی
گام 1: یافتن پلیلیست در لیست
- کاربر پلیلیست مورد نظر را در لیست پیدا میکند
گام 2: باز کردن منوی عملیات
- کاربر روی دکمه «⋮» (سهنقطه) در ستون عملیات کلیک میکند
- منوی کشویی عملیات باز میشود
گام 3: انتخاب گزینه حذف
- کاربر روی «حذف» (با رنگ قرمز) کلیک میکند

گام 4: نمایش مودال تأیید
سیستم مودال تأیید حذف را نمایش میدهد با:
- عنوان: «حذف پلیلیست»
- پیام: «آیا از حذف پلیلیست [نام پلیلیست] اطمینان دارید؟»
- نکته مهم: «ویدئوهای داخل پلیلیست حذف نمیشوند»
- دکمهها: «لغو» (خاکستری) و «حذف» (قرمز)
گام 5: تأیید یا لغو حذف
در صورت کلیک روی «حذف»:
- پلیلیست از لیست حذف میشود
- پیام موفقیت: «پلیلیست با موفقیت حذف شد»
- لیست بهروزرسانی میشود
در صورت کلیک روی «لغو»:
- مودال بسته میشود
- هیچ تغییری اعمال نمیشود
حذف پلیلیست، ویدئوهای داخل آن را حذف نمیکند. فقط سازماندهی و گروهبندی حذف میشود و ویدئوها همچنان در کانال شما باقی میمانند.
پیامدها (Postconditions):
- پلیلیست از لیست و کانال کاربر حذف شده است
- ویدئوهای داخل پلیلیست همچنان در کانال موجودند
- لینکهای قبلی به این پلیلیست دیگر کار نمیکنند
سناریو 5: فیلتر و مرتبسازی پلیلیستها
شرح مختصر: کاربر میخواهد پلیلیستها را فیلتر یا مرتب کند تا دسترسی سریعتری به موارد خاص داشته باشد.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- کاربر در تب پلیلیستها باشد
فلو/روند اصلی
گام 1: کلیک روی دکمه فیلتر
- کاربر روی دکمه «فیلتر» در نوار عملیات کلیک میکند
- منوی کشویی فیلترها باز میشود

گام 2: انتخاب فیلتر وضعیت
کاربر میتواند از بین گزینههای زیر انتخاب کند:
| گزینه | توضیحات |
|---|---|
| همه | نمایش تمام پلیلیستها (پیشفرض) |
| عمومی | فقط پلیلیستهای عمومی |
| خصوصی | فقط پلیلیستهای خصوصی |
| فهرست نشده | فقط پلیلیستهای Unlisted |
گام 3: انتخاب مرتبسازی
کاربر میتواند روی دراپداون مرتبسازی کلیک کند و یکی از گزینهها را انتخاب کند:
| گزینه | توضیحات |
|---|---|
| جدیدترین | بر اساس تاریخ ایجاد (نزولی) - پیشفرض |
| قدیمیترین | بر اساس تاریخ ایجاد (صعودی) |
| نام (الفبایی) | بر اساس حروف الفبا |
| بیشترین ویدئو | بر اساس تعداد ویدئو (نزولی) |
| کمترین ویدئو | بر اساس تعداد ویدئو (صعودی) |
گام 4: مشاهده نتایج
- با انتخاب هر فیلتر/مرتبسازی، لیست به صورت خودکار بهروزرسانی میشود
- فیلتر فعال به صورت Badge نمایش داده میشود
گام 5: حذف فیلتر
- کلیک روی X کنار Badge فیلتر را حذف میکند
- لیست به حالت پیشفرض برمیگردد
پیامدها (Postconditions):
- لیست پلیلیستها بر اساس فیلتر/مرتبسازی انتخابی نمایش داده میشود
سناریو 6: حالت خالی (Empty State)
شرح مختصر: کاربر هنوز هیچ پلیلیستی ایجاد نکرده و وارد تب پلیلیستها میشود.
نقشهای درگیر: Video Producer، Monetized Producer، Live Streamer
پیشنیازها (Preconditions):
- کاربر هیچ پلیلیستی ایجاد نکرده باشد
فلو/روند اصلی
گام 1: ورود به تب پلیلیستها
- کاربر روی تب «پلیلیستها» کلیک میکند
گام 2: نمایش حالت خالی
به جای جدول پلیلیستها، سیستم صفحه Empty State را نمایش میدهد:
- تصویر: آیکون یا تصویر مرتبط با پلیلیست
- عنوان: «هنوز پلیلیستی ایجاد نکردهاید»
- توضیح: «پلیلیستها به شما کمک میکنند ویدئوهایتان را سازماندهی کنید و بینندگان بتوانند محتوای مرتبط را راحتتر پیدا کنند»
- دکمه CTA: «ایجاد اولین پلیلیست» (دکمه اصلی آبی رنگ)
گام 3: ایجاد پلیلیست
- کاربر روی دکمه «ایجاد اولین پلیلیست» کلیک میکند
- مودال ایجاد پلیلیست باز میشود (مانند سناریو 2)
پیامدها (Postconditions):
- کاربر به فرآیند ایجاد پلیلیست هدایت شده است
نکات رابط کاربری
طراحیهای سفارشی
| عنصر | توضیحات |
|---|---|
| اسکرولبار | طراحی سفارشی آپارات (نه دیفالت مرورگر) |
| آیکون لینک پلیلیست | آیکون External Link (لینک خارجی) برای هدایت به صفحه عمومی پلیلیست |
تفاوتهای موبایل
| تفاوت | توضیحات |
|---|---|
| دکمه Close | در موبایل وجود ندارد |
| حالت نمایش | نمایش کارتی به جای جدولی |
| سایز تصاویر | تصاویر کوچکتر برای بهینهسازی |
| وضعیت پلیلیست | در کارتها، وضعیت «عمومی» نمایش داده نمیشود |
وابستگیها و پیشنیازها
وابستگی به سایر بخشهای داشبورد
| بخش | نوع وابستگی | توضیحات |
|---|---|---|
| لیست ویدئوها | ورودی | افزودن ویدئو به پلیلیست از لیست ویدئوها |
| صفحه کانال | خروجی | نمایش پلیلیستهای عمومی در کانال |
پیشنیازهای سیستمی
- کاربر باید در آپارات ثبتنام و لاگین کرده باشد
- برای دسترسی به بخش «ویدئوهای من»، کاربر باید حداقل یک ویدئو آپلود کرده باشد
وابستگیهای فنی (API Endpoints)
| Endpoint | Method | توضیحات |
|---|---|---|
/api/v1/playlists | GET | دریافت لیست پلیلیستها |
/api/v1/playlists | POST | ایجاد پلیلیست جدید |
/api/v1/playlists/{id} | GET | دریافت جزئیات یک پلیلیست |
/api/v1/playlists/{id} | PUT | ویرایش پلیلیست |
/api/v1/playlists/{id} | DELETE | حذف پلیلیست |
/api/v1/playlists/{id}/videos | GET | دریافت ویدئوهای یک پلیلیست |
/api/v1/playlists/{id}/videos | POST | افزودن ویدئو به پلیلیست |
/api/v1/playlists/{id}/videos/{video_id} | DELETE | حذف ویدئو از پلیلیست |
آیندهنگری
بهبودهای برنامهریزی شده
- Drag & Drop برای تغییر ترتیب ویدئوها (در حال توسعه)
- پلیلیستهای هوشمند (بر اساس تگ یا دستهبندی)
- امکان همکاری در پلیلیست (Collaborative Playlists)
- آمار مشاهده پلیلیست
- اشتراکگذاری پلیلیست در شبکههای اجتماعی
- کپی کردن پلیلیست از کانالهای دیگر