در این تسک، زیرساخت Backend مربوط به دریافت چهار واقعهای که نزدیکترین زمان پایان را دارند توسعه داده خواهد شد تا در صفحه اصلی متاورس رنگ نمایش داده شوند.
هدف از این API، نمایش رویدادهایی است که زمان اتمام آنها از سایر رویدادها نزدیکتر بوده و کاربران را از مهمترین و فوریترین وقایع مطلع میسازد. ترتیب نمایش باید کاملاً بر اساس نزدیکترین زمان پایان رویدادها انجام شود؛ بهگونهای که رویدادی که زودتر از سایرین به پایان میرسد، در ابتدای لیست قرار گیرد.
اهداف
-
دریافت ۴ واقعه با نزدیکترین زمان پایان
-
مرتبسازی بر اساس زمان باقیمانده تا پایان رویداد
-
نمایش تنها رویدادهای فعال
-
آمادهسازی API برای استفاده در صفحه اصلی و سایر بخشهای سامانه
-
مستندسازی کامل API
وظایف Backend
۱. توسعه API دریافت رویدادها
ایجاد Endpoint جهت دریافت چهار رویداد فعال با نزدیکترین زمان پایان.
API باید تنها رویدادهایی را بازگرداند که هنوز فعال بوده و زمان پایان آنها سپری نشده باشد.
۲. مرتبسازی اطلاعات
ترتیب بازگشت اطلاعات باید بر اساس نزدیکترین زمان پایان باشد.
اولویت نمایش:
-
اولویت اول: رویدادی که زودتر از سایرین به پایان میرسد.
-
اولویت دوم: دومین رویداد نزدیک به پایان.
-
اولویت سوم: سومین رویداد نزدیک به پایان.
-
اولویت چهارم: چهارمین رویداد نزدیک به پایان.
۳. محدودسازی نتایج
حداکثر ۴ رکورد بازگردانده شود.
در صورتی که تعداد رویدادهای فعال کمتر از ۴ مورد باشد، تمامی رویدادهای موجود بازگردانده شوند.
۴. اطلاعات خروجی
اطلاعات هر رویداد حداقل شامل موارد زیر باشد:
-
شناسه واقعه
-
عنوان واقعه
-
تصویر شاخص
-
توضیح کوتاه
-
تاریخ و زمان شروع
-
تاریخ و زمان پایان
-
مدتزمان باقیمانده تا پایان
-
وضعیت رویداد
۵. محاسبه زمان باقیمانده
سیستم باید مدتزمان باقیمانده تا پایان هر رویداد را محاسبه و در خروجی API ارسال نماید تا Frontend بتواند شمارش معکوس یا زمان باقیمانده را نمایش دهد.
۶. اعتبارسنجی
-
تنها رویدادهای فعال نمایش داده شوند.
-
رویدادهای منقضیشده در خروجی قرار نگیرند.
-
در صورت نبود هیچ رویداد فعالی، پاسخ مناسب با لیست خالی بازگردانده شود.
۷. قابلیت استفاده مجدد
API بهصورت عمومی طراحی شود تا علاوه بر صفحه اصلی، در سایر بخشهای سامانه نیز قابل استفاده باشد و از ایجاد Endpointهای تکراری جلوگیری شود.
۸. مستندسازی API
تمامی Endpointها در Swagger مستندسازی شوند.
مستندات شامل موارد زیر باشد:
-
Method
-
URL
-
Request Parameters
-
Response Model
-
Status Codes
-
Error Responses
-
نمونه درخواست و پاسخ
خروجی مورد انتظار
-
API دریافت چهار واقعه با نزدیکترین زمان پایان
-
مرتبسازی خودکار بر اساس زمان باقیمانده تا پایان رویداد
-
نمایش فقط رویدادهای فعال
-
ارسال مدتزمان باقیمانده برای هر رویداد
-
قابلیت استفاده مجدد در بخشهای مختلف سامانه
-
مستندسازی کامل API در Swagger
-
آمادهسازی زیرساخت جهت نمایش رویدادهای در حال اتمام در صفحه اصلی متاورس رنگ
ویدیو توضیحات:
https://drive.google.com/file/d/1kdA0N3tx7yahZ_r_9jeynsBEAfVBgery/view?usp=sharing