Event Progress bar

بله، قضیه از این قرار است!

قصه ای که امشب قراره براتون تعریف کنم، از نحوه کارکرد progress bar در رویدادهامون هست.

هدف از وجود progress bar بر این اساس بود  که کاربر رو تشویق کنیم تا برگزار کننده هامون یه سری از قابلیت هایی که رویدادها دارن رو فعال و ازش استفاده کنن تا به این نحو بتوانیم بر کیفیت رویدادها بیفزاییم.

لیست آیتم ها
یه سری آیتم که الان داریمشون و قصد تشویق کاربر به استفاده ازشون داریم به این شرح است:

  • توضیح رویداد
  • ایمیل دعوت‌نامه
  • همکاری در فروش
  • تبلیغات (خرید تبلیغات وندو)
  • لوگو و کاور سازمان رویدادها
  • نظرسنجی


آیتم هایی که برایتون لیست کردم از جمله آیتم هایی است که الان داریمشون.
ممکنه برگزار کننده این آیتم ها رو پر کرده /فعال کرده باشه و یا نکرده باشه. و همچنین ترتیبی خواهند داشت به ترتیب تغریف شده نیاز به نمایششان خواهد بود.

هر کدام از این آیتم ها توضیحاتی در برخواهد داشت که اینا از طرف کلاینت (فرانت/ موبایل) هامون هندل می شه.
از آنجایی که در کنار توضیحات نیاز به لینک به دیگر بخش ها هست و متاسفانه بک نمی تونست درگیر تولید لینک فرانتی یا موبایلی باشه از این رو تعیین این موارد سمت فرانت قرار گرفته است.
البته توضیحات رو می شد به سمت بک برد ولی خوب لینک ها معقول نیست.

لیست آیتم های Progress Bar
برای دریافت اطلاعات مربوط به ریسورس زیر درخواستی مناسب رو ارسال می کنیم:
GET https://api.evand.com/events/EVENT_SLUG/progress
Headers:
  • Authorization: Bearer ACCESS_TOKEN

{
  "data": {
    "items": [
      {
        "key": "event_description",
        "order": 1,
        "done": true
      },
      {
        "key": "email_invitation",
        "order": 2,
        "done": false
      },
      {
        "key": "affiliate",
        "order": 3,
        "done": true
      },
      {
        "key": "advertisement",
        "order": 4,
        "done": false
      },
      {
        "key": "organization_cover_and_logo",
        "order": 5,
        "done": false
      },
      {
        "key": "survey",
        "order": 6,
        "done": false
      }
    ],
    "total_items": 6,
    "total_done_items": 2,
    "total_undone_items": 4,
    "progress_percentage": 33
  }
}

همانطوری که از دیتای برگشتی از ریسورس مربوطه مشخص هست، یه سری آیتم ها داریم که با استفاده از فیلد key از همدیگه مجزا می شوند.
ترتیب نمایش آیتم ها توسط فیلد order تعیین می شه.
فیلد done بدین منظور هست که آیتم مربوطه انجام و تمام شده است.

متادیتا

….
    "total_items": 6,
    "total_done_items": 2,
    "total_undone_items": 4,
    "progress_percentage": 33
  }
}

همانطور که مشاهده می کنید یه سری متادیتا داریم که اشاره به تعداد کل آیتم ها (total_items) داره.
تعداد آیتم های انجام شده و یا تکمیل شده (total_done_items). و همچنین تعداد آیتم های انجام نشده (total_undone_items).
و در نهایت درصد کارهای انجام شده که با استفاده از progress_percentage مشخص می باشد.


نکته:
  • برای دریافت دیتای فوق، نیازه هست که slug رویداد رو در ریسورس مربوطه جاگذاری نمایید.
  • تنها برگزار کننده و یا افرادی که دسترسی های لازم رو دارن می تونن لیست مربوطه رو دریافت و ملاحظه نمایند که برای این منظور نیاز است توکن اهراز هویت از طریق هدر ارسال شود.


نظرات

پست‌های معروف از این وبلاگ

لیست کاربران نشان شده - سرویس کانکت

استفاده از Refresh Token جهت دریافت توکن‌های معتبر جدید (کانکت)

پروفایل عمومی کاربران کانکت