لینکهای مفید برای شرکت در مسابقه:
در زمان مسابقه میتوانید سوالهای خود را از قسمت "سوال بپرسید" مطرح کنید.
بعد از مسابقه در ساعت ۱۸:۳۰ امروز وبیناری برای حل بخشی از سوالات مسابقه و پاسخگویی به سوالات شما تدارک دیدهایم که میتوانید از طریق این لینک شرکت نمایید. دقت کنید که در هنگام ورود باید گزینه مهمان را انتخاب نمایید.
مهارتهای لازم:
CSS
ReactJS
ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
برای اجرای پروژه، بایدNodeJS
و npm
را از قبل نصب کرده باشید.
bourse
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm run server
را برای راهاندازی سرور پروژه اجرا کنید.npm start
در ترمینالی دیگر پروژه ریاکت را اجرا کنید.در این سوال شما باید صفحهای را تکمیل کنید که در آن اطلاعات مورد نیاز در فاصلهزمانیهای مشخص باید از سرور درخواست شود و به کمک پاسخی که دریافت میکنید به نمایش آن اطلاعات و رسم نموداری برای نمایش بهتر آنها در صفحه بپردازید.
شما باید ابتدا در فایل App.js
اطلاعات مورد نیاز خود را با ریکوئست GET زدن به آدرس زیر دریافت کنید.
در ساختار response دو مقدارِ value و name قرار دارد، که به صورت مثال به شکل زیر خواهد بود:
در ادامه شما باید دو کامپوننت <StockCard />
و <Chart />
را به همین ترتیب در فایلِ App.js
استفاده کنید و سپس باید به تکمیل آنها بپردازید.
در این سوال شما در بازههای زمانی که به کمک متغیر intervalTime تعیین میشود (به صورت مثال هر یک ثانیه) باید به سرور درخواست GET بزنید و تاریخچهای از responseهایی که دریافت میکنید را نگهداری کنید؛ چون برای «رسم نمودار» و همچنین «نمایش اطلاعات آخرین قیمت» به آنها نیاز خواهید داشت.
<StockCard />
شما باید موارد زیر را رعایت کنید:🔗title
نشان دهید.price
نشان دهید.percentage
نشان دهید.arrow
کلاسِ up
داده شود و اگر ارزش آن کاهش یافته باشد به آن کلاسِ down
اختصاص داده شود.percentage_up
و در صورت کاهش یافتن ارزش سهم، کلاسِ percentage_down
را میگیرد.نکته: دقت کنید که در این سوال باید «به محض لود شدن صفحه» اولین درخواست GET زده شود و قیمت و نام سهام را در صفحه داشته باشید (برای درصد تغییرات هم سه نقطه نمایش دهید)
<Chart />
شما باید موارد زیر را رعایت کنید:🔗chartContainer
پس از هربار اضافه شدن قیمت جدید در سهم، یک <div/>
اضافه کنید.<div/>
به میلههای نمودار باید ابتدا کلاسِ chart
را به آن اضافه کنید و سپس همانند کامپوننت بالا، با توجه به رشد و یا کاهش قیمت سهم یکی از دو کلاسِ chart_down
و یا chart_up
را نیز به آن بیفزایید.اگر ارزش سهم ۶۵۰۰ بود ارتفاع میله آن بدین شکل محاسبه میگردد:
App.js
به کمک متغیر intervalTime تعیین میشود، شما نیز باید در حل سوال باید حتما از همین متغیر به عنوان فاصله زمانی استفاده کنید و عدد را به صورت هاردکد ننویسید.شما تنها مجاز به اعمال تغییرات در فایلهای زیر هستید.
src/App.js
src/components/chart/Charts.jsx
src/components/stockCard/StockCard.jsx