প্রকল্প সম্পর্কে
ডেক ল্যাব একটি পাইথন/ফ্লাস্ক ওয়েব অ্যাপ্লিকেশন যা একক ওয়ার্কস্পেসে প্রতিযোগিতামূলক কমান্ডার (ম্যাজিক: দ্য গ্যাদারিং) ডেক তৈরি, গবেষণা এবং পরীক্ষার জন্য। ব্যবহারকারীরা ডেক সম্পাদনা করতে, প্রতিযোগিতামূলক মেটাগেম গবেষণা করতে, কার্ড তথ্য পরিদর্শন করতে এবং গোল্ডফিশ সিমুলেশন চালাতে পারেন; সংরক্ষিত ডেক, অ্যাকাউন্ট এবং পছন্দসমূহ সেশনের মধ্যে টিকে থাকে। হোস্ট করা ইনস্ট্যান্সের জন্য মালিক-প্রদত্ত অ্যাকাউন্ট প্রয়োজন।
README-এ বর্ণিত মূল ক্ষমতাসমূহ:
- ডেক সম্পাদনা এবং গবেষণা কর্মপ্রবাহ: পাবলিক গবেষণা ফলাফল একটি স্থায়ী স্ন্যাপশট থেকে পরিবেশিত হয় যার সাথে সংশোধন ট্র্যাকিং, ব্যাকগ্রাউন্ড রিফ্রেশ এবং সীমিত পুরানো সার্ভিং থাকে; ফিল্টার এবং ব্রাউজার ইতিহাস সম্পূর্ণ পৃষ্ঠা পুনর্নির্মাণ ছাড়াই আপডেট হয়।
- ডিটারমিনিস্টিক ডোমেইন লজিক: কমান্ডার বৈধতা, রঙ পরিচয়, পার্টনার সংমিশ্রণ এবং ডেক আকার কোডে যাচাই করা হয়; স্ট্র্যাটেজি-প্যাক বিল্ডার কার্ডগুলি নির্ধারকভাবে নির্বাচন করে, মডেল আউটপুট ব্যাখ্যার জন্য একটি পৃথক যাচাইকৃত সীমানায় সীমাবদ্ধ থাকে।
- স্পষ্ট ডেটা চুক্তি: পোস্টগ্র্রেসকিউএল গবেষণা সংস্করণযুক্ত `mtg_v1` ভিউয়ের মাধ্যমে প্রকাশ করা হয় একটি রিড-অনলি কনজিউমারের সাথে, এবং একটি পৃথক সিমুলেটর একটি প্যাকেজড স্কিমার বিরুদ্ধে যাচাইকৃত সংস্করণযুক্ত JSON বিনিময় করে। অনুপস্থিত প্রমাণ এবং অনুপলব্ধ সিমুলেশনগুলিকে উদ্ভাবিত ফলাফলের পরিবর্তে দৃশ্যমান অবস্থা হিসাবে প্রদর্শিত করা হয়।
- নিরাপত্তা: Argon2 পাসওয়ার্ড হ্যাশ, CSRF সুরক্ষা, অ্যাকাউন্ট প্রোভিশনিং, পাসওয়ার্ড পুনরুদ্ধার এবং অনুমোদন পরীক্ষা; প্রোডাকশন এবং QA পৃথক শংসাপত্র, ডেটা এবং কন্টেইনার নেটওয়ার্ক ব্যবহার করে।
- পুনরুত্পাদনযোগ্য রিলিজ: GitHub Actions পরীক্ষা, লিন্ট, ফরম্যাটিং, টাইপ এবং কন্টেইনার স্মোক চেক গেট করে; ডিপ্লয়মেন্ট ইমেজ রিভিশন, আর্কাইভ হ্যাশ, প্ল্যাটফর্ম এবং লেয়ার যাচাই করে; এনক্রিপ্ট করা ব্যাকআপ এবং বিচ্ছিন্ন পুনরুদ্ধার পরীক্ষা পুনরুদ্ধার সমর্থন করে।
আর্কিটেকচার: একটি Flask + Waitress ওয়েব অ্যাপ যা SQLite দ্বারা সমর্থিত অ্যাকাউন্ট, ডেক এবং গবেষণা স্ন্যাপশটের জন্য; একটি ব্যাকগ্রাউন্ড রিফ্রেশ PostgreSQL `mtg_v1` ভিউ থেকে টানে; অ্যাপটি সংস্করণযুক্ত JSON এবং একটি ঐচ্ছিক মডেল গেটওয়ের মাধ্যমে একটি ব্যক্তিগত সিমুলেটরকে কল করতে পারে। ডিপ্লয়মেন্ট HTTPS-এর জন্য Caddy এবং DigitalOcean-এ Docker Compose ব্যবহার করে, ডেটাবেস এবং সিমুলেটর পোর্টগুলি ব্যক্তিগত রাখা হয়; প্রোডাকশন রিলিজের আগে মালিকের পর্যালোচনার জন্য QA একটি পৃথক সাবডোমেনে উপলব্ধ।
স্থানীয়ভাবে চালানোর জন্য Python 3.11+ প্রয়োজন। সেটআপ একটি ভার্চুয়াল পরিবেশ, `pip install -e '.[dev,postgres,legacy]'`, একটি ডেটাবেস সেটআপ স্ক্রিপ্ট, গোপন কী, অথ মোড এবং রোলআউট ফ্ল্যাগের জন্য পরিবেশগত ভেরিয়েবল, একটি অ্যাডমিন-সৃষ্টি CLI কমান্ড এবং একটি সার্ভ কমান্ড ব্যবহার করে। CLI/প্যাকেজ সামঞ্জস্যের জন্য ঐতিহাসিক `sabermetrics` নামটি ধরে রাখে। ডিফল্ট ফিক্সচার-সমর্থিত cEDH পথ প্রদানকারী শংসাপত্র, PostgreSQL বা সিমুলেটর ছাড়াই কাজ করে; প্রোডাকশন গবেষণা কর্পাস এবং ব্যক্তিগত অ্যাকাউন্ট রিপোজিটরির সাথে বিতরণ করা হয় না। একটি অফলাইন ডিটারমিনিস্টিক বিল্ডার CLI কমান্ডের মাধ্যমে অনুশীলন করা যেতে পারে যা স্ট্র্যাটেজি প্যাক তালিকা এবং তৈরি করে।
যাচাইকরণ pytest, ruff, black এবং mypy ব্যবহার করে; ডিফল্ট স্যুট ফিক্সচার এবং মকগুলির উপর নির্ভর করে, যখন লাইভ PostgreSQL, মডেল এবং সিমুলেটর ইন্টিগ্রেশনগুলি অপ্ট-ইন এবং মডেল পরীক্ষাগুলি API চার্জ করতে পারে। CI ইনস্টলড-প্যাকেজ আচরণ, প্রমাণীকরণ/পুনরুদ্ধার, মকড ডেলিভারি সহ প্রতিক্রিয়া এবং HTTP কন্টেইনার স্টার্টআপও অনুশীলন করে। টাইপ কনফিগারেশন সম্পূর্ণ কভারেজ দাবি না করে স্কোপড লিগ্যাসি বর্জন রেকর্ড করে।
সুযোগ এবং সীমাবদ্ধতা: এটি একটি কমান্ডার-কেন্দ্রিক অ্যাপ্লিকেশন, সম্পূর্ণ নিয়ম ইঞ্জিন নয়; গোল্ডফিশিং মডেল করা প্লে প্যাটার্ন পরিমাপ করে, মাল্টিপ্লেয়ার জয়ের সম্ভাবনা নয়; টুর্নামেন্ট কভারেজ উপলব্ধ উৎস ডেটা প্রতিফলিত করে এবং অন্তর্ভুক্তি হার কার্ড গুণমানের প্রমাণ নয়; স্ট্র্যাটেজি-প্যাক সমর্থন কিউরেটেড উপাদান এবং সিমুলেটর ক্ষমতা দ্বারা আবদ্ধ; একক-হোস্ট ডিপ্লয়মেন্ট একটি ইচ্ছাকৃত অপারেশনাল ট্রেডঅফ, উচ্চ প্রাপ্যতার দাবি নয়। কিছু মূল জেনারেটর মডিউল সামঞ্জস্য কোড হিসাবে রয়ে গেছে, সক্রিয় জেনারেটর পণ্যটি একটি পৃথক রিপোজিটরিতে। প্রকল্পটি একটি অনানুষ্ঠানিক ফ্যান প্রকল্প, উইজার্ডস অফ দ্য কোস্টের সাথে অনুমোদিত নয় এবং MIT লাইসেন্সযুক্ত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.