প্রকল্প সম্পর্কে
BoardGames হলো রিয়েল-টাইম মাল্টিপ্লেয়ার বোর্ড গেম খেলার জন্য একটি সম্পূর্ণ কার্যকর ওয়েব অ্যাপ, যা ActualLab.Fusion-এর একটি নমুনাও। এটি .NET 10, ASP.NET Core-এর Blazor Server ও WebAssembly, EF Core এবং Blazorise-এ চলে। boardgames.actuallab.net-এ একটি লাইভ ডেমো পাওয়া যায়।
প্রকল্পটি Claude Code দিয়ে তৈরি ও হালনাগাদ রাখা হয়, এবং সম্পূর্ণ ইন্টারঅ্যাকশন লগ docs/ai-sessions/-এ সংরক্ষিত থাকে।
বাস্তবায়িত ফিচার:
- পাঁচটি গেম: Gomoku, Tic-Tac-Toe, Connect Four, Reversi এবং Rock-Paper-Scissors, নতুন গেম যোগ করার জন্য একটি সাধারণ বেস API সহ।
- গেম লবি, যেখানে আপনি অংশ নেওয়া গেম ট্র্যাক করতে, খোলা গেম ব্রাউজ করতে এবং সেগুলোতে যোগ দিতে পারেন।
- মেনশনসহ গেম চ্যাট, একটি সম্প্রসারণযোগ্য মেসেজ পার্সার ও মডুলার রেন্ডারার ব্যবহার করে।
- ইউজারের অনলাইন/অফলাইন স্ট্যাটাস ট্র্যাকিং, প্রতিটি ইউজার ব্যাজে দেখানো হয়।
- ইউজার প্রোফাইল পেজ, যেখানে নাম সম্পাদনা, Microsoft/GitHub অ্যাকাউন্ট যোগ, ব্রাউজার সেশন দেখা, সেশন কিক বা সব জায়গা থেকে সাইন আউট করা যায়।
- EF Core-সমর্থিত যেকোনো ডেটাবেসে সম্পূর্ণ স্টেট পার্সিস্টেন্স।
- Blazor WebAssembly মোডের জন্য WebSockets-এর উপর Fusion RPC।
নমুনাটি Blazor Server ও Blazor WebAssembly—উভয় মোড সমর্থন করে। অ্যাপজুড়ে রিয়েল-টাইম স্টেট সিঙ্ক্রোনাইজেশন কাজ করে; ভিন্ন অ্যাকাউন্ট দিয়ে দুটি ব্রাউজারে খুললে গেম তালিকা, চাল, চ্যাট মেসেজ ও ইউজার নামের পরিবর্তন লাইভ আপডেট হতে দেখা যায়।
লাইভ সংস্করণটি Oracle Cloud-এর একটি ফ্রি-টিয়ার Arm VM-এ চলে, যা অন্য Fusion নমুনাগুলোর সঙ্গে হোস্ট শেয়ার করে। একটি Caddy কন্টেইনার TLS ও সাবডোমেইন রিভার্স-প্রক্সি সামলায়, সামনে Cloudflare থাকে। PostgreSQL Docker-এ চলে, ডেটা হোস্ট ফোল্ডারে সংরক্ষিত হয়, এবং EF Core মাইগ্রেশন স্টার্টআপে প্রয়োগ করা হয়। স্ট্যাকটি Docker Compose ব্যবহার করে এবং main পোল করা একটি systemd টাইমার দিয়ে স্বয়ংক্রিয়ভাবে পুনরায় ডিপ্লয় হয়, কোনো CI/CD সার্ভিস বা ওয়েবহুক ছাড়াই।
README-তে উল্লেখ আছে, রিয়েল-টাইম আপডেটের জন্য মাত্র প্রায় ৫০ লাইন অতিরিক্ত কোড লেগেছে, বেশিরভাগই ইনভ্যালিডেশন লজিক। লেখকের মতে, অ্যাপটি ৯ দিনে একা তৈরি করা হয়েছে। Fusion সম্পর্কে আরও জানতে Fusion রিপোজিটরি ও এর অন্যান্য নমুনা দেখুন, বা Discord সার্ভারে যোগ দিন। বাগ GitHub issues-এর মাধ্যমে রিপোর্ট করা যায়।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.