GithubHelp home page GithubHelp logo

assigment_10's Introduction

এসাইনমেন্ট রিকুয়ারমেন্ট:

হাটি হাটি পা পা করতে করতে আমরা ফাইনাল এসাইনমেন্ট এর দিকে চলে এসেছি। এই এসাইনমেন্ট টা একটু বড় হলেও খুব সহজ একটি এসাইনমেন্ট হবে। পুরো কোর্স জুড়ে যা যা দেখানো বা শেখানো হয়েছে সেগুলোই ঘুরে ফিরে এই এসাইনমেন্ট এর মধ্য দিয়ে রিভাইস হয়ে যাবে। এই ফাইনাল এসাইনমেন্টে আপনাদের মার্কিং এর প্রসেস একটু জটিল হবে। শুধু রিকুয়ারমেন্ট নয়, কোডের রিডেবিলিটি, পরিচ্ছন্ন কোড এবং কত টুকু বেস্ট প্র্যাকটিস গুলো ফলো করেছেন তার উপরও মার্ক অনেক অংশে নির্ভর করবে। এছাড়াও এই এসাইনমেন্টে ক্লাস বা আইডি নিয়ে কোনো বাধা নেই, রয়েছে ডিজাইন পরিবর্তনের পূর্ণ স্বাধীনতা। যদিও ডিজাইনের উপরে কোনো মার্ক থাকবে না।

এই এসাইনমেন্টর সারমর্ম

এই এসাইনমেন্ট এ আপনাকে দুই ধরনের ইউজার ম্যানেজ করতে হবে, একজন Student এবং Admin। এডমিনের কোনো রেজিস্ট্রেশন অপশন থাকবে না, আমরা ডেটাবেজে একজন এডমিনের তথ্য দিয়ে রেখেছি। সে অনুযায়ী আপনাকে এডমিনে লগিন করতে হবে। এডমিন পোর্টাল থেকে আপনি ভিডিও এড করতে পারবেন, কুইজ তৈরি করতে পারবেন এবং এসাইনমেন্ট তৈরি করতে পারবেন। অন্যদিকে, একজন Student রেজিস্ট্রেশন করে লগিন করলে, Admin Portal থেকে এড করা ভিডিও গুলো দেখতে পারবে, কুইজ এবং এসাইনমেন্ট সাবমিট করতে পারবে। সাবমিট করা কুইজ গুলো ঠিক কিংবা ভূল Dynamically হিসাব হয়ে যাবে। কিন্তু এসাইনমেন্ট এর মার্ক গুলো Dashboard এ জমা হবে। Admin সেই এসাইনমেন্ট দেখে মার্ক দিবে একজন Student কে। Student তার প্রোফাইল থেকে Leaderboard - এ নিজের এবং অন্যের এসাইনমেন্ট এর মার্ক গুলো দেখতে পারব।

বিঃদ্রঃ এই এসাইনমেন্ট এ আপনি UI পরিবর্তন করতে পারেন। তবে JSON Server এর ডেটা Struture পরিবর্তন করতে পারবেন না। এই লিমিটেশনের মধ্যেই আপনাকে এসাইনমেন্টটি করতে হবে।

এই এসাইনমেন্ট এ যা যা করতে হবেঃ

✓ প্রোজেকটি রিয়াক্ট এ কনভার্ট করে নিয়ে, এডমিন এর লগিন এবং লগআউট এর ফিচার ইমপ্লিমেন্ট করতে হবে।

  • প্রথম অবস্থায় Index পেজ হিসেবে থাকবে Student Login পেজ।
  • Admin পেজ এর জন্যে admin রাউট ব্যবহার করতে হবে। যেমনঃ /admin, /admin/assignment

✓ Student Login, Student Registration ইমপ্লিমেন্ট করতে হবে আপনাদের। Template দিয়ে দেয়া আছে। Admin এর জন্য কোন registration প্রয়োজন নেই। কারণ আমরা admin তৈরী করে দিয়েছি। আপনাদের কে শুধু admin login implement করতে হবে।

✓ Dashboard এ Videos, Assignment, Quizzes এবং Assignment মার্ক এর জন্যে আলাদা পেজ তৈরি করতে হবে। নাম এবং টেমপ্লেটে দেয়া ইউজার ইন্টারফেস দেখে আশা করি বুঝে গেছেন কি করতে হবে।

✓ Dashboard এর Videos পেজে গেলে -

  • পূর্বে এড করা ভিডিও গুলো লিস্ট আকারে আসবে
  • প্রত্যেকটি ভিডিওতে ডিলিট এবং এডিট বাটন থাকবে।
  • "Add Video" বাটনে ক্লিক করলে পপ-আপ বা অন্য পেজে নিয়ে গিয়ে ভিডিও এর Information গুলো কালেক্ট করতে হবে। উল্লেখ্য, আমরা আপনাদেরকে "Add Video" এর ইন্টারফেস দিয়ে দেইনাই, এটি আপনাকে নিজেকে করে নিতে হবে।
  • ভিডিও এড করতে কি কি প্যারামিটার ব্যবহার করবেন, সেটি ডেটাবেজের 'videos' টেবিল থেকে বুঝে নিন।

✓ Assignment পেজে গেলে -

  • যদি Assignment তৈরি করা থাকে তবে লিস্টে দেখাবে, অন্যথায় ফাঁকা দেখাবে
  • "Add Assignment" - এ ক্লিক করার পরের ইন্টারফেস আপনাকে হ্যান্ডেল করতে হবে
  • এখানে বাড়তি একটি ফিল্ড দিতে হবে, Assignment টা কোন ভিডিওতে থাকবে সেটি সিলেক্ট করার অপশন দিতে হবে।
  • অন্যান্য প্রোপার্টি এবং ডেটা স্ট্রাকচার বোঝার জন্যে, 'assignments' টেবিল টি দেখে নিন।

ধরুন, আপনি "Videos" এ একটি ভিডিও এড করলেন যার টাইটেল - "Debounce Function in JavaScript"। এখন এসাইনমেন্ট তৈরি করার সময় আপনি একটি Select Option দিবেন, যেখানে আগে এড করা ভিডিও গুলো থাকবে, তার মধ্যে যেটি সিলেক্ট করা হবে, এই এসাইনমেন্ট টি সেই ভিডিও এর নিচে দেখাবে।

✓ Quizzes পেজে গেলে, একই ভাবে, কুইজের লিস্ট থাকবে, এবং কুইজ এড করতে পারবেন। এড করার সময় কোন ভিডিওর কুইজ এড করছেন, সেটিও Select করে দেয়ার অপশন দিতে হবে। কুইজের ইনপুট নেবার আগে, JSON Server এ দেয়া Data Structure ভাল করে বুঝে নিন।

✓ AssignmentMark পেজে গেলে, Student-রা যেই যেই এসাইনমেন্ট জমা দিয়েছে, তার ডেটা টেবিলের মধ্যে দেখাবে। টেবিলে প্রথম অবস্থায়, মার্ক Input দেয়ার জায়গা থাকবে, মার্ক Input দিয়ে পাশের সবুজ টিক এ ক্লিক করলে, মার্ক আপডেট হয়ে যাবে এবং Input & সবুজ টিক এর পরিবর্তে শুধু কত মার্ক পেলো সেটি দেখা যাবে।

✓ টেবিলের উপরে ছোট ৩ টা ব্যাজ আছে, প্রথম ব্যাজে মোট এসাইনমেন্ট এর সংখ্যা বসাতে হবে, Pending এ কত গুলো এসাইনমেন্ট মার্কিং করা বাকি আছে সেটি থাকবে এবং Mark Sent এ কত গুলো মার্ক Sent করা হয়েছে সেটি থাকবে।

✓ Student এর লগিন রেজিস্ট্রেশন ফিচার Implement করতে হবে। স্টুডেন্ট লগিন করার পরে, Course Player পেজে নিয়ে যাবে।

✓ এডমিন ড্যাশবোর্ড থেকে যেই ভিডিও গুলো এড করেছেন, সেই ভিডিও গুলো ডান পাশের Playlist এ নিয়ে এসে দেখাতে হবে। লিস্টের ভিডিও তে ক্লিক করলে ওই ভিডিও প্লে করাতে হবে।

✓ যেই ভিডিও সিলেক্ট করা আছে, সেটিতে যদি এসাইনমেন্ট থাকে তাহলে, তাহলে এসাইনমেন্ট বাটন Show করবে।

  • এসাইনমেন্ট বাটন এ সেখানে ক্লিক করলে একটি Modal ওপেন হবে।
  • মোডালে কি কি ফিল্ড প্রয়োজন সেগুলোর জন্যে আপনি ডেটাবেজের Structure দেখে নিন।
  • একজন Student একবার Assginment সাবমিট করলে, পরবর্তিতে আর করতে পারবে না।

✓ এসাইনমেন্ট এর মতো, "কুইজে অংশগ্রহণ করুন" এ ক্লিক করলে, কুইজ পেজে নিয়ে যাবে, সেখানে ওই ভিডিও এর কুইজ গুলো নিয়ে এসে দেখাবে।

  • কুইজ সাবমিট করলে সেটি ক্যাল্কুলেট হয়ে মার্ক লিডারবোর্ডে চলে যাবে।
  • কুইজ সাবমিট করলে তাকে লিডারবোর্ডে নিয়ে যাবে।
  • একজন Student একবার Quiz সাবমিট করলে, পরবর্তিতে আর করতে পারবে না।

✓ লিডারবোর্ড এ ক্লিক করলে, লগিন করা ব্যাক্তি তার নিজের রেজাল্ট এবং সর্বোচ্চ মার্ক পাওয়া ২০ জনের রেজাল্ট দেখতে পারবে। এটির জন্যে 'assignmentMark' এবং 'quizMark' টেবিল থেকে Runtime এ ফ্রন্ট এন্ড এই মার্ক ক্যাল্কুলেট করে নিয়ে এসে দেখাতে হবে। সার্ভার থেকে ক্যাল্কুলেট করার প্রয়োজন নেই।

এসাইনমেন্টের জন্য প্রয়োজনীয় কিছু ক্রিডেন্সিয়ালস:

এসাইনমেন্টের জন্য আমরা সার্ভার এ কিছু ডামি স্টুডেন্ট এবং এডমিন যুক্ত করে দিয়েছি। স্টুডেন্ট এবং এডমিন এর জন্য লগইন ক্রিডেনসিয়ালস গুলো আপনারা "html" ফোল্ডারের ভিতর থাকা "index.html" পেইজটি ব্রাউস করলেই পেয়ে যাবেন। বিস্তারিত আরো ভালভাবে বুঝার জন্য উপরের ভিডিওটি ভাল করে দেখুন।

কিভাবে সাবমিট করবেন:

সবচেয়ে সহজে বুঝার জন্য এই ভিডিওটি দেখে ফেলুন।

এসাইনমেন্টে আপনাকে মাত্র দুইটা জিনিস সাবমিট করতে হবে।

  1. GitHub private repository link: অবশ্যই সঠিক গিটহাব রিপোজিটরি লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা।

  2. Live site link: নেটলিফাইতে সাইট হোস্ট করে সাইটের লাইভ লিংক দিতে হবে। ভুলে অন্য কোনো লিংক দিলে আপনি এসাইনমেন্টের মার্ক পাবেন না তাই সাবমিট করার আগে নিউ ট্যাবে লিংক ওপেন করে চেক করে নিবেন সঠিক লিংক জমা দিচ্ছেন কিনা। নেটলিফাইতে কি ভাবে হোস্ট করতে হয় তা আপনি না জানলে এইখানে ক্লিক করে দেখে নিতে পারেন।

সাবমিট একবারই করতে পারবেন তাই ভালো করে দেখে সাবমিট করবেন।

GitHub private repository কিভাবে তৈরি করবেন:

Github Private repositoty তৈরি করতে এইখানে ক্লিক করুন অথবা ব্রাউজারে এই লিংকে https://classroom.github.com/a/2RdPM3Nz ভিজিট করুন। লিংকে যাওয়ার পরে Accept this assignment এ ক্লিক করুন। সর্বোচ্চ ১মিনিট পরে পেইজটি রিলোড দিলে আপনি আপনার রিপোজেটরি লিংক পেয়ে যাবেন। মনে রাখবেন, আপনাকে এই লিংকটি আমাদের প্লাটফর্মে সাবমিট করতে হবে। না বুঝলে উপরে বলা ভিডিও টিউটোরিয়ালটি দেখে নিন।

Assignment এর জন্য প্রয়োজনীয় template HTML এবং server কোথায় পাবেন:

প্রতিটি assignment এর সাথে প্রয়োজনীয় HTML template এবং "server" folder (API) আমরা দিয়ে দিয়েছি যেন আপনাকে HTML template এবং সার্ভার সাইড কাজ নিয়ে সময় নষ্ট না করতে হয়। কোর্সের GitHub repository এর সংশ্লিষ্ট ব্রাঞ্চে গেলেই আপনারা 'html' folder এর ভিতর HTML template পাবেন। একই ভাবে 'server' folder এ server API পেয়ে যাবেন। না বুঝলে এইখানে ক্লিক করে টিউটোরিয়াল দেখে নিতে পারেন।

এসাইনমেন্ট মার্কস পলিসি:

আপনি নির্ধারিত সময়ে এসাইনমেন্ট জমা দিলে এবং সব কিছু সঠিকভাবে করলে সম্পূর্ণ মার্ক পাবেন। এর পরে জমা দিলে আপনার মার্ক নিচের নিয়মে কাটা যাবে -

  1. ডেডলাইনের পরে এক ঘণ্টার মধ্যে জমা দিলে 10% মার্ক কাটা যাবে।
  2. ডেডলাইনের পরে এক ঘণ্টার বেশি কিন্তু 24 ঘণ্টার মধ্যে জমা দিলে 30% মার্ক কাটা যাবে।
  3. ডেডলাইনের পরে 24 ঘণ্টার বেশি পরে জমা দিলে 50% মার্ক কাটা যাবে।
  4. এসাইনমেন্ট ডেডলাইনের পরে আমরা এসাইনমেন্ট গ্রহণ করবো না।

অবশ্যই কোর্স চলাকালিন সময়ের মধ্যে এবং এসাইনমেন্ট ডেডলাইনের মধ্যে এসাইনমেন্ট জমা দিতে হবে। কোর্সের ডিউরেশন শেষ হয়ে গেলে তার পরে আপনি এসাইনমেন্টে জমা দিলে এসাইনমেন্টের মার্ক পাবেন না।

সাবমিট করার পর কোড পরিবর্তন:

আপনি ভেবে নিতে পারেন আপনি ওয়েবসাইটে সঠিক সময়ে এসাইনমেন্ট সাবমিট করে নীরবে পরে গিটহাবে কোড পুশ করতে থাকবেন! আপনার গিটহাবের সর্বশেষ কমিট দেখলেই আমরা বুঝতে পারবো আপনি কখন কোড আপডেট করেছেন। সে অনুযায়ী আমরা আপনার মার্ক কেটে নিবো। তাই এসাইনমেন্ট এর সময় পার হবার পরে আমরা আশা করবো আপনি চালাকি করে আর কোড পুশ করবেন না আপনার রিপোজিটরিতে। এটা করলে আপনার সম্পূর্ণ মার্ক কাটা যেতে পারে।

এসাইনমেন্ট মার্কস কবে পাবেন:

আমরা সর্বোচ্চ 7-10 দিনের ভিতরে ফাইনাল এসাইনমেন্টের মার্ক দিয়ে দেওয়ার চেষ্টা করবো। ক্ষেত্র বিশেষে একটু দেরি হতে পারে কারো কারো মার্ক পেতে।

assigment_10's People

Contributors

azizulbsc avatar mt-azizul avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.