مهارتهای لازم:
Html
و Css
در این سوال قصد داریم صفحه ورود به سایت بله را با استفاده از Html
وCss
پیاده سازی کنیم.ظاهر کلی صفحه به شکل زیر است:
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.با در نظر گرفتن نکات زیر، عناصر Html
و خصوصیات Css
را به فایل های پروژه اضافه کنید:
img
در سایت نمایش دهید. این عنصر باید کلاس logo
را داشته باشد. در صورتی که لوگو بله با موفقیت لود نشود، متن Bale را به جای عکس نمایش دهید.h2
متنِ "به پیام رسان بله خوش آمدید" را نمایش دهید.body
ویژگی تصویر پس زمینه (background-image) را به گونه ای مقدار دهی کنید که یک linear-gradient با رنگ های #2d2c72
و #4ceeb5
باشد.#2d2c72
و #4ceeb5
هستند.index.html
و styles.css
اعمال کنید. تغییرات در بقیه فایل ها نادیده گرفته می شوند.index.html
را ارسال کنید تغییرات Css
را در فایل index.html
ایجاد کنید.مهارتهای لازم:
JS
در این سوال قصد داریم بخشی از بازی نقطه خط را با استفاده از js
و بدون استفاده از کتابخانه جانبی پیاده سازی کنیم.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.ظاهر این سوال به شکل کامل پیاده سازی شده است. شما باید عملکرد های زیر را با استفاده از جاوا اسکرپیت به بازی اضافه کنید:
game_status
نمایش دهید.توضیحات فایل index.html و style.css :
div
در نظر گرفته شده اند. خطوط بازی یا horizontal (افقی) هستند یا vertical(عمودی) هستند. برای خطوط افقی کلاس horizontal_line
در نظر گرفته شده است و برای خطوط عمودی کلاس vertical_line
در نظر گرفته شده است.#87ceeb
و #fa8072
هستند.blue
و red
هستند.index.js
اعمال کنید. تغییرات در بقیه فایل ها نادیده گرفته می شوند.سطح: متوسط
امتیاز: ۲۰۰
مهارتهای لازم:
ReactJS
ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
برای اجرای پروژه، بایدNodeJS
و npm
را از قبل نصب کرده باشید.
input-validation
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm start
در ترمینالی دیگر پروژه ریاکت را اجرا کنید.http://localhost:3000/
میتوانید نتیجه را ببینید.در این سوال میخواهیم برای کامپوننت Input
که ساختیم validation اضافه کنیم. کامپوننت Input
را طوری تغییر دهید که با توجه property هایی که به این کامپوننت داده میشود، تگ input مورد نظر را ساخته و ولیدیشن ارورها را نمایش دهد. لیستی از validator ها به این کامپوننت داده میشود که با تابع validate
میتوان درست بودن هر مقداری را با توجه به validator ها به دست آورد.
focus
روی input اروری نمایش داده نمیشود تا focus
از آن برداشته شود اگر اروری وجود داشت نمایش میدهد و از دفعات بعد در هنگام تغییر اگر به اروری برخورد کرد همان لحظه نمایش دهد.form-input--invalid
به div
با کلاس form-input
اضافه شود و ارور در تگ p
بعد از input نمایش داده شود.htmlFor
به آیدی تگ input داشته باشد.input.js
هستید.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
برای اجرای پروژه، بایدNodeJS
و npm
را از قبل نصب کرده باشید.
quera_chat
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm run server
را برای راهاندازی سرور پروژه اجرا کنید.npm start
در ترمینالی دیگر پروژه ریاکت را اجرا کنید.در این سوال قصد داریم همانند تصویر بالا، یک چت را شبیهسازی کنیم.
پس از اجرای دستورهای نوشته شده در قسمت «راهاندازی پروژه» میتوانید به کمک متد GET
اقدام به دریافت فایل مورد نظر از آدرس زیر کنید:
http://localhost:3001/message/[text]
برای مثال با قرار دادن عبارت سلام
به جای [text]
میتوانید پاسخ »سلام خوبی؟» را از سرور دریافت کنید.
این سوال و پاسخها باید مستقیماً از سرور دریافت شود و پیادهسازی آن برعهده شما نیست، بلکه تنها کافی است به کمک ریکوئست بالا، پاسخ مربوط به متن پیام را دریافت کرده و سپس آن را نمایش دهید.
علاوه بر آن، شما باید از ارسال پیام خالی جلوگیری کنید، به این صورت که تنها پیامهایی ارسال میشوند و در لیست پیامهای شما (که قرمز رنگ است) نشان داده میشوند که پیام خالی نیستند.
مورد دیگری که در حل سوال سنجیده میشود، focus
بودن المان <input/>
در هنگام رندر شدن صفحه است.
یعنی باید به محض لود شدن صفحه -بدون آن که روی باکس نوشتن پیام کلیک کنیم- پس از تایپ کردن، حروف در اینپوت نیز تایپ شوند.
(در تصویر سوال به نشانگر ابتدای خط پیام خود را وارد کنید دقت کنید، از ابتدا در وضعیت focus
قرار گرفته است)
همچنین در نظر داشته باشید که بعد از ارسال شدن پیام، متن نوشته شده داخل اینپوت هم باید کاملا پاک بشه و برای نوشتن پیام بعدی احتیاجی به دلیت کردن نداشته باشیم.
نکات:
constants
در داخل فولدر server
مشاهده کنید، که البته در حل سوال هیچ نیازی به تغییر یا استفاده از آنها نیست./src/containers/App.js
/src/components/MessageForm/MessageForm.js
لطفا عبارت data-testid
را در المانهای HTML پروژه پاک نکنید، داوری خودکار به کمک آن صورت میگیرد.
پس از اعمال تغییرات، پروژه را zip کرده و ارسال کنید. دقت کنید که پوشهی node_modules در فایل ارسالی نباشد.
پروژه اولیه را از این لینک دانلود کنید.
برای اجرای پروژه، باید NodeJS
و npm
را از قبل نصب کرده باشید.
music-player
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm start
را برای راهاندازی پروژه اجرا کنید.http://localhost:3000/
میتوانید نتیجه را ببینید.در این سوال ما قصد داریم یک موزیک پلیر ساده طراحی کنیم.
ظاهر کلی برنامه بدین صورت است:
در فایل Musics.js
موجود در پوشه data
لیستی از موزیک ها قرار داده شده است.
شکل ایتم های موجود در این فایل به شکل زیر است:
که name
نام موزیک و path
آدرس فایل آن است که باید توسط مرورگر پخش شود.
شما باید برنامه ای طراحی کنید که این موزیک ها را پخش نماید.
disabled
باشد و برای دکمه قبلی اگر موزیک فعلی اولین موزیک بود باید این اتفاق بیافتد.نکات
MusicPlayer.jsx
آورده شده است.props
های مورد نیاز کاپموننت های استفاده شده را به آن ها ارسال کنید.Object
مورد نیاز برای پخش موزیک در فایل Audio.js
در پوشه models
export
شده است.شما باید برای پخش موزیک از این Object
استفاده کنید.MusicPlayer.jsx
هستید.
پس از اعمال تغییرات، پروژه را zip کرده و ارسال کنید.node_modules
در فایل ارسالی نباشد.