سلام دوست عزیز😃👋
به مسابقه «همکد ۵ - Front-end» خوش آمدی!
هرگونه ارتباط با سایر شرکتکنندگان و یا استفاده از ابزارهای تولید کد، مثل chatGPT
و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکتکنندگان مسابقه حذف میشوید. سوالات و مشکلات خودتان را میتوانید از طریق قسمت «سوال بپرسید» با ما در میان بگذارید.
سوال اول صرفاً برای آموزش کار با سیستم داوری است و هیچ تاثیری در نتیجهی مسابقه ندارد.
در صورت امکان انتخاب زبان، حل سوال با TypeScript
برای استخدام اولویت بالاتری دارد.
موفق باشید و بهتون خوش بگذره 😉✌
پروژهی اولیه را از این لینک دانلود کنید.
فایلهای پروژه اولیه را دانلود و از حالت فشرده خارج نمایید.
سپس دستور زیر را برای نصب پکیجها و وابستگیها در پوشه پروژه درون ترمینال خود وارد نمایید:
در نهایت برای راه اندازی سرور سوال دستور زیر را وارد نمایید:
زمانی که شما مشغول طراحی و پیادهسازی UI بودید مهیار هم اندکی JS یادگرفت و به یاری تیم فنی همکاران سیستم شتافت تا زیرساخت این رقابت را در قالب یک API فراهم کنند.
این API دارای دو endpoint است که به شرح زیر است:
اندپوینت اول با آدرس زیر که درخواستی از نوع GET را دریافت میکند و نام تیمها به همراه ID اشان را برمیگرداند:
اندپوینت دوم با آدرس زیر که درخواستی از نوع GET را دریافت میکند و اطلاعات اعضای حاضر در مسابقه را برمیگرداند:
همانطور که مشاهده میکنید اعضا تیمهای برحسب ID میباشند نه نام تیم.
وظیفه اصلی شما این است که بر اساس اطلاعات دریافتی جدول امتیازات هر تیم را به صورت جداگانه پیادهسازی نماید.
استراکچر جدول امتیازات هر تیم به صورت زیر است:
همانطور که مشاهده کردید در اطلاعات دریافتی مقدار امتیاز ذکر نشده است و برای محاسبه امتیاز هر فرد باید از فرمول زیر استفاده نمایید:
برای محاسبه رتبه هر فرد در تیم خودش یا همان Rank کافی است افراد تیم را فقط و فقط بر حسب امتیازشان مرتب نمایید همچنین تضمین میشود امتیاز هیچ دو فردی برابر نخواهد بود.
همچنین تیم همکاران خیلی به اموجیها علاقه دارد و معتقد است یکی از راههای کم هزینه و سریع برای زیباسازی وبسایتها استفاده از اموجی است به همین جهت:
در گام آخر شما باید درون div.status
نام تیم برنده را نمایش دهید. تیمی برنده است که مجموع امتیازات کسب شده اعضای آن بیشتر باشد همچنین تضمین میشود امتیازات دو تیم برابر نخواهند بود.
style.css
که در بخش قبل تکمیل نمودید در اینجا استفاده کنید.index.js
میباشید..zip
آپلود نمایید.