এই মডিউলে আমরা দেখে ফেললাম কিভাবে ভ্যানিলা রিডাক্স দিয়ে কাজ করতে হয়। এই প্রোজেক্টে যা যা দেখানো হয়েছে, তার উপর ভিত্তি করে আপনাদের জন্যে একটি এসাইনমেন্ট তৈরি করা হয়েছে। এই এসাইনমেন্ট এর জন্য আমরা HTML/CSS ব্যবহার করে একটি template তৈরি করে দিয়েছি। এসাইনমেন্ট আপনাদের করতে হবে ভ্যানিলা রিডাক্স দিয়ে। যদি আপনি React বা অন্য কোনো ফ্রেমওয়ার্ক ব্যবহার করেন, তবে আপনার এসাইনমেন্টটি গ্রহনযোগ্য হবে না।
উল্লেখ্য যে, এসাইনমেন্ট এর ডিজাইনে কোন ধরনের পরিবর্তন করা যাবে না এবং HTML template এ দেয়া কোনো বাটন বা এলিমেন্ট এর ক্লাস বা আইডি পরিবর্তন করা যাবে না। সেই ক্লাস বা আইডি দিয়েই আপনাকে এসাইনমেন্টটি সম্পন্ন করতে হবে। অন্যথায় এসাইনমেন্টটি গ্রহনযোগ্য হবে না এবং এসাইনমেন্ট এর কোনো মার্ক নাও পেতে পারেন।
✓ "Add Another Match" বাটনে ক্লিক করলে নতুন Match যোগ হবে এবং Inital State হবে 0। প্রতিটি Match এর মধ্যে Delete আইকন, Increment & Decrement ইনপুট ফিল্ড এবং Total স্কোর থাকবে। প্রতিটি Match আলাদা আলাদা State management করবে।
✓ একদম প্রথম বারে initial state হিসেবে একটি Match থাকবে এবং তার initial value হবে 0
✓ Increment এবং Decrement ইনপুট ফিল্ড এ value নিয়ে কী-বোর্ড এর Enter প্রেস করলে Match এর স্কোর Increment/Decrement ফিল্ড অনুযায়ী বাড়াবে বা কমবে। তবে অবশ্যই কী-বোর্ডের Enter বাটন টিপলে এই কাজ টি করবে।
✓ Decrement করতে থাকলে Total এর ভ্যালু কখনই শূন্য এর নিচে অর্থাৎ মাইনাস হবে না। ধরুন, Total এ ভ্যালু আছে 10, আপনি Decrement করলেন 15. টোটালের ভ্যালু হবে 0।
✓ Reset বাটন এ ক্লিক করলে সব Match এর স্কোর শূন্য (0) তে রিসেট হয়ে যাবে। উল্লেখ্য যে, যত গুলো ম্যাচ তৈরি করা হয়েছিল, ততগুলোই থাকবে শুধু মাত্র তাদের Total ভ্যালু Reset হয়ে শূন্য হয়ে যাবে।
সবচেয়ে সহজে বুঝার জন্য এই ভিডিওটি দেখে ফেলুন।
এসাইনমেন্টে আপনাকে মাত্র দুইটা জিনিস সাবমিট করতে হবে।
-
GitHub private repository link: অবশ্যই সঠিক গিটহাব রিপোজিটরি লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা।
-
Live site link: নেটলিফাইতে সাইট হোস্ট করে সাইটের লাইভ লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা। নেটলিফাইতে কি ভাবে হোস্ট করতে হয় তা আপনি না জানলে এইখানে ক্লিক করে দেখে নিতে পারেন।
সাবমিট একবারই করতে পারবেন তাই ভালো করে দেখে সাবমিট করবেন।
Github Private repositoty তৈরি করতে এইখানে ক্লিক করুন অথবা ব্রাউজারে এই লিংকে https://classroom.github.com/a/eRTfBQ13 ভিজিট করুন। লিংকে যাওয়ার পরে Accept this assignment এ ক্লিক করুন। সর্বোচ্চ ১মিনিট পরে পেইজটি রিলোড দিলে আপনি আপনার রিপোজেটরি লিংক পেয়ে যাবেন। মনে রাখবেন, আপনাকে এই লিংকটি আমাদের প্লাটফর্মে সাবমিট করতে হবে। না বুঝলে উপরে বলা ভিডিও টিউটোরিয়ালটি দেখে নিন।
প্রতিটি assignment এর সাথে প্রয়োজনীয় HTML template এবং "server" folder (API) আমরা দিয়ে দিয়েছি যেন আপনাকে HTML template এবং সার্ভার সাইড কাজ নিয়ে সময় নষ্ট না করতে হয়। কোর্সের GitHub repository এর সংশ্লিষ্ট ব্রাঞ্চে গেলেই আপনারা 'html' folder এর ভিতর HTML template পাবেন। একই ভাবে 'server' folder এ server API পেয়ে যাবেন। না বুঝলে এইখানে ক্লিক করে টিউটোরিয়াল দেখে নিতে পারেন।
আপনি নির্ধারিত সময়ে এসাইনমেন্ট জমা দিলে এবং সব কিছু সঠিকভাবে করলে সম্পূর্ণ মার্ক পাবেন। এর পরে জমা দিলে আপনার মার্ক নিচের নিয়মে কাটা যাবে -
- ডেডলাইনের পরে এক ঘণ্টার মধ্যে জমা দিলে 10% মার্ক কাটা যাবে।
- ডেডলাইনের পরে এক ঘণ্টার বেশি কিন্তু 24 ঘণ্টার মধ্যে জমা দিলে 30% মার্ক কাটা যাবে।
- ডেডলাইনের পরে 24 ঘণ্টার বেশি পরে জমা দিলে 50% মার্ক কাটা যাবে।
- কোর্স ডিউরেশনের পরে আমরা এসাইনমেন্ট গ্রহণ করবো না।
অবশ্যই কোর্স চলাকালিন সময়ে এসাইনমেন্ট জমা দিতে হবে। কোর্সের ডিউরেশন শেষ হয়ে গেলে তার পরে আপনি এসাইনমেন্টে জমা দিলে এসাইনমেন্টের মার্ক পাবেন না।
আপনি ভেবে নিতে পারেন আপনি ওয়েবসাইটে সঠিক সময়ে এসাইনমেন্ট সাবমিট করে নীরবে পরে গিটহাবে কোড পুশ করতে থাকবেন! আপনার গিটহাবের সর্বশেষ কমিট দেখলেই আমরা বুঝতে পারবো আপনি কখন কোড আপডেট করেছেন। সে অনুযায়ী আমরা আপনার মার্ক কেটে নিবো। তাই এসাইনমেন্ট এর সময় পার হবার পরে আমরা আশা করবো আপনি চালাকি করে আর কোড পুশ করবেন না আপনার রিপোজিটরিতে। এটা করলে আপনার সম্পূর্ণ মার্ক কাটা যেতে পারে।
আমরা সর্বোচ্চ ৭ দিনের ভিতরে এসাইনমেন্টের মার্ক দিয়ে দেওয়ার চেষ্টা করবো। ক্ষেত্র বিশেষে একটু দেরি হতে পারে কারো কারো মার্ক পেতে।