|
| 1 | +## এসাইনমেন্ট রিকুয়ারমেন্ট: |
| 2 | + |
| 3 | +এই মডিউলে আমরা জানলাম RTK Query কি, কিভাবে কাজ করে এবং আমাদের কি কি সমস্যার সমাধান করে দেয়। সেই সাথে মডিউল 6 এ দেখানো একটি প্রজেক্টে আমরা RTK Query Implement করলাম। এবার আপনাদেরও ঠিক একই কাজ করতে হবে। আপনারা মডিউল 4 এর এসাইনমেন্ট এ React-Redux দিয়ে একটি Bookstore Application এর এসাইনমেন্ট করেছিলেন। এবার সেই প্রজেক্টে আপনাদেরকে RTK Query Implement করতে হবে। |
| 4 | + |
| 5 | +এই এসাইনমেন্টের জন্যে HTML template দিয়ে দেয়া হয়েছে repository এর 'html' ফোল্ডারে, সেটিকে React এ কনভার্ট করে নিতে হবে। সেই সাথে একটি JSON Server ও দিয়ে দেয়া হয়েছে রিপোসিটরির 'server' ফোল্ডারে। সেখানে কিছু বই এর লিস্টও তৈরি করাই থাকবে। কোনো অবস্থাতেই API server এর পোর্ট বা End Point পরিবর্তন করা যাবে না। এসাইনমেন্ট শেষে, JSON Server হোস্ট করার কোনো প্রয়োজন নেই। শুধু মাত্র Frontend টুকু হোষ্ট করে দিলেই চলবে। Frontend হোস্ট করার পরে ঠিক মতো কাজ করছে কিনা তা চেক করার জন্য আপনি আপনার মেশিনে localhost এ সার্ভার চালিয়ে রেখে চেক করতে পারবেন deployed frontend প্রোজক্টটি চেক করে দেখতে পারবেন। |
| 6 | + |
| 7 | +উল্লেখ্য যে, এসাইনমেন্ট এর ডিজাইনে কোন ধরনের পরিবর্তন করা যাবে না এবং HTML template এ দেয়া কোনো বাটন বা এলিমেন্ট এর Class, Id, Name প্রোপার্টি পরিবর্তন করা যাবে না। সেই Class, Id, Name প্রোপার্টি দিয়েই আপনাকে এসাইনমেন্টটি সম্পন্ন করতে হবে। অন্যথায় এসাইনমেন্ট এর কোনো মার্ক নাও পেতে পারেন। |
| 8 | + |
| 9 | +## এই এসাইনমেন্ট এ যা যা করতে হবেঃ |
| 10 | + |
| 11 | +এসাইনমেন্ট 4 এ যা যা করা হয়েছিলো, ঠিক সেগুলোই করতে হবে। তবে এখানে RTK Query ব্যবহার করে API কল করে করতে হবে। |
| 12 | + |
| 13 | +✓ পেজ লোড হলেই, সার্ভার থেকে বই এর লিস্ট গুলো নিয়ে এসে দেখাবে |
| 14 | + |
| 15 | +✓ 'Add Book পেজে' বই এর তথ্য দিয়ে সাবমিট করলে সেগুলো সার্ভারে গিয়ে সেভ হবে। অবশ্যই RTK Query এর Mutation কুয়েরি ব্যবহার করে করতে হবে এবং এড হলে 'Add' পেজ থেকে Home পেজে চলে আসবে। |
| 16 | + |
| 17 | +✓ 'Book List' - এর ডানে 'All', 'Featured' নামে দুটি ট্যাগ আছে, 'Featured' সিলেক্ট করলে featured বই গুলো শুধু ফিল্টার করে দেখাবে। 'All' দিলে সব গুলোই দেখাবে। এটি ক্লাইন্ট সাইডেই করতে হবে। |
| 18 | + |
| 19 | +✓ নেভিগেশন মেনুতে 'Search Bar' - আছে, সেখানে সার্চ করলে, শুধু মাত্র বই এর নাম দিয়ে সার্চ করবে এবং সার্চ রেজাল্ট 'Book List' সেকশনেই ফিল্টার হয়ে দেখাবে। সার্চ বার ফাঁকা থাকলে, স্বভাবিক ভাবে যেমন সব বই গুলো দেখায়, সেভাবেই দেখাবে। |
| 20 | + |
| 21 | +✓ কার্ড আইটেমের 'Edit' আইকনে ক্লিক করলে এডিটের একটি পেজে নিয়ে যাবে। এর জন্যে React Router ব্যবহার করতে হবে এবং এডিট পেজে গেলে, সেই বইটির তথ্য দিয়ে ফর্ম টা আগে থেকেই পূরন করা থাকবে। এখন এই ফর্ম এর কোনো ডেটা আপডেট করলে সেটি সার্ভার এও আপডেট হয়ে যাবে এবং আপডেট হলে এডিট পেজ থেকে হোম পেজে চলে আসবে। |
| 22 | + |
| 23 | +✓ সব শেষে ডিলেট বাটনে ক্লিক করলে, বইটি সার্ভার থেকেও ডিলেট হয়ে যাবে |
| 24 | + |
| 25 | +## কিভাবে সাবমিট করবেন: |
| 26 | + |
| 27 | +সবচেয়ে সহজে বুঝার জন্য [এই ভিডিওটি](https://learnwithsumit.com/courses/think-in-a-redux-way/how-to-submit-assignment) দেখে ফেলুন। |
| 28 | + |
| 29 | +এসাইনমেন্টে আপনাকে মাত্র দুইটা জিনিস সাবমিট করতে হবে। |
| 30 | + |
| 31 | +1. **GitHub private repository link:** অবশ্যই সঠিক গিটহাব রিপোজিটরি লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা। |
| 32 | + |
| 33 | +2. **Live site link:** নেটলিফাইতে সাইট হোস্ট করে সাইটের লাইভ লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা। নেটলিফাইতে কি ভাবে হোস্ট করতে হয় তা আপনি না জানলে [এইখানে ক্লিক](https://learnwithsumit.com/courses/think-in-a-redux-way/how-to-submit-assignment) করে দেখে নিতে পারেন। |
| 34 | + |
| 35 | +**সাবমিট একবারই করতে পারবেন তাই ভালো করে দেখে সাবমিট করবেন।** |
| 36 | + |
| 37 | +## GitHub private repository কিভাবে তৈরি করবেন: |
| 38 | + |
| 39 | +Github Private repositoty তৈরি করতে [এইখানে ক্লিক করুন](https://classroom.github.com/a/C7yQPva3) অথবা ব্রাউজারে এই লিংকে **https://classroom.github.com/a/C7yQPva3** ভিজিট করুন। লিংকে যাওয়ার পরে **Accept this assignment** এ ক্লিক করুন। সর্বোচ্চ ১মিনিট পরে পেইজটি রিলোড দিলে আপনি আপনার রিপোজেটরি লিংক পেয়ে যাবেন। মনে রাখবেন, আপনাকে এই লিংকটি আমাদের প্লাটফর্মে সাবমিট করতে হবে। না বুঝলে উপরে বলা ভিডিও টিউটোরিয়ালটি দেখে নিন। |
| 40 | + |
| 41 | +## Assignment এর জন্য প্রয়োজনীয় template HTML এবং server কোথায় পাবেন: |
| 42 | + |
| 43 | +প্রতিটি assignment এর সাথে প্রয়োজনীয় HTML template এবং "server" folder (API) আমরা দিয়ে দিয়েছি যেন আপনাকে HTML template এবং সার্ভার সাইড কাজ নিয়ে সময় নষ্ট না করতে হয়। কোর্সের GitHub repository এর সংশ্লিষ্ট ব্রাঞ্চে গেলেই আপনারা 'html' folder এর ভিতর HTML template পাবেন। একই ভাবে 'server' folder এ server API পেয়ে যাবেন। না বুঝলে [এইখানে ক্লিক](https://learnwithsumit.com/courses/think-in-a-redux-way/how-to-submit-assignment) করে টিউটোরিয়াল দেখে নিতে পারেন। |
| 44 | + |
| 45 | +## এসাইনমেন্ট মার্কস পলিসি: |
| 46 | + |
| 47 | +আপনি নির্ধারিত সময়ে এসাইনমেন্ট জমা দিলে এবং সব কিছু সঠিকভাবে করলে সম্পূর্ণ মার্ক পাবেন। এর পরে জমা দিলে আপনার মার্ক নিচের নিয়মে কাটা যাবে - |
| 48 | + |
| 49 | +1. ডেডলাইনের পরে এক ঘণ্টার মধ্যে জমা দিলে 10% মার্ক কাটা যাবে। |
| 50 | +2. ডেডলাইনের পরে এক ঘণ্টার বেশি কিন্তু 24 ঘণ্টার মধ্যে জমা দিলে 30% মার্ক কাটা যাবে। |
| 51 | +3. ডেডলাইনের পরে 24 ঘণ্টার বেশি পরে জমা দিলে 50% মার্ক কাটা যাবে। |
| 52 | +4. কোর্স ডিউরেশনের পরে আমরা এসাইনমেন্ট গ্রহণ করবো না। |
| 53 | + |
| 54 | +অবশ্যই কোর্স চলাকালিন সময়ে এসাইনমেন্ট জমা দিতে হবে। কোর্সের ডিউরেশন শেষ হয়ে গেলে তার পরে আপনি এসাইনমেন্টে জমা দিলে এসাইনমেন্টের মার্ক পাবেন না। |
| 55 | + |
| 56 | +## সাবমিট করার পর কোড পরিবর্তন: |
| 57 | + |
| 58 | +আপনি ভেবে নিতে পারেন আপনি ওয়েবসাইটে সঠিক সময়ে এসাইনমেন্ট সাবমিট করে নীরবে পরে গিটহাবে কোড পুশ করতে থাকবেন! আপনার গিটহাবের সর্বশেষ কমিট দেখলেই আমরা বুঝতে পারবো আপনি কখন কোড আপডেট করেছেন। সে অনুযায়ী আমরা আপনার মার্ক কেটে নিবো। তাই এসাইনমেন্ট এর সময় পার হবার পরে আমরা আশা করবো আপনি চালাকি করে আর কোড পুশ করবেন না আপনার রিপোজিটরিতে। এটা করলে আপনার সম্পূর্ণ মার্ক কাটা যেতে পারে। |
| 59 | + |
| 60 | +## এসাইনমেন্ট মার্কস কবে পাবেন: |
| 61 | + |
| 62 | +আমরা সর্বোচ্চ ৭ দিনের ভিতরে এসাইনমেন্টের মার্ক দিয়ে দেওয়ার চেষ্টা করবো। ক্ষেত্র বিশেষে একটু দেরি হতে পারে কারো কারো মার্ক পেতে। |
0 commit comments