প্রকল্প সম্পর্কে

WATcalendars একটি প্রকল্প যা প্রতিদিন মিলিটারি ইউনিভার্সিটি অফ টেকনোলজির আটটি অনুষদের ওয়েবসাইট পরিদর্শন করে, প্রকাশিত ক্লাসের সময়সূচি পার্স করে এবং iCalendar (.ics) ফরম্যাটে সংরক্ষণ করে। এর ফলে শিক্ষার্থীরা Apple Calendar, Google, Outlook বা Thunderbird-এ সময়সূচি সাবস্ক্রাইব করতে পারে এবং সবসময় আপডেটেড রাখতে পারে। শিক্ষার্থীদের জন্য: শুধু watcalendars.byst.re-এ যান, গ্রুপ কোড লিখুন এবং "Add to calendar"-এ ক্লিক করুন। সাইটটি অনুষদ অনুযায়ী গ্রুপ ব্রাউজ করার সুবিধাও দেয়। ডেভেলপারদের জন্য: প্রকল্পটি Python-এ লেখা (3.9+ প্রয়োজন)। ফায়ারওয়ালের পিছনে থাকা অনুষদের জন্য pip এবং Playwright (Firefox/Chromium) দিয়ে ইনস্টলেশন। `watcal` কমান্ড তালিকা, নির্বাচিত অনুষদের জন্য চালানো, গ্রুপ সনাক্তকরণ, ক্যালেন্ডার তৈরি, কর্মচারী তালিকা এবং সূচক পুনর্নির্মাণ সমর্থন করে। ডিবাগিং বিকল্প, সেমিস্টার বাধ্যকরণ এবং ফাইল লগিং উপলব্ধ। স্থাপত্যটি একটি সাধারণ পাইপলাইন (fetch, parse, save) এর উপর ভিত্তি করে যার সাথে প্রতি-অনুষদ মডিউল রয়েছে। নতুন অনুষদ যোগ করতে শুধুমাত্র একটি স্পেসিফিকেশন ফাইল এবং নিবন্ধন প্রয়োজন। ডেটা বিভিন্ন উৎস থেকে আনা হয়: WCY এবং WIM-এর জন্য HTTP, বাকিদের জন্য ব্রাউজার (Imperva-এর পিছনে Plansoft), এবং WIG .docx ফাইল ব্যবহার করে। প্রকল্পটি পাবলিক USOS API ব্যবহার করে, কিন্তু সেখানে সময়সূচি খালি, তাই স্ক্র্যাপিং প্রয়োজন। সাইটটি GitHub Pages থেকে পরিবেশিত হয়, এবং .ics ফাইল একই ঠিকানায় উপলব্ধ। GitHub Actions-এর মাধ্যমে প্রতিদিন UTC মধ্যরাতে অটোমেশন। টেস্ট (79) স্পেসিফিকেশন সঠিকতা কভার করে। MIT লাইসেন্স।