প্রকল্প সম্পর্কে
WattRoom হলো Natron কর্তৃক তৈরি একটি ওপেন-সোর্স, স্ব-হোস্টযোগ্য ইনডোর সাইক্লিং প্ল্যাটফর্ম, যা AGPL-3.0 লাইসেন্সের অধীনে প্রকাশিত। এর মূল ধারণা হলো একা ইনডোর ট্রেনিং বিরক্তির; তাই এটি ভার্চুয়াল দুনিয়া না দিয়ে উপস্থিতির ওপর জোর দেয়—রাইডারদের তাদের প্রতিযোগীদের সাথে একটি রুমে যুক্ত করে, একই ওয়ার্কআউট FTP অনুযায়ী স্কেল করে চালায়, এবং রাইড করার সময় কথা, দৃষ্টি ও সংগীত শেয়ার করতে দেয়।
যা অন্তর্ভুক্ত রয়েছে:
- রুম: লাইভ ওয়াটস, হার্ট রেট ও ক্যাডেন্স একই ড্যাশবোর্ডে দেখা যায়, রুম ফিড ও ইন্টারভাল টাইমলাইন থাকে, আর ভয়েস ও ক্যামেরা একটি ট্যাকেই পাওয়া যায়।
- স্ট্রাকচার্ড ওয়ার্কআউট: একটি সম্পাদক ও নির্বাচিত লাইব্রেরি সহ, যা BLE FTMS স্মার্ট ট্রেনারে ERG কন্ট্রোল করে চালায়। টার্গেটরা প্রতিটি রাইডারের FTP-তে স্কেল হয়।
- গেম মোড: স্প্রিনট ক্ল্যাক্সন, এলিমিনেশন, ওয়াট গলফ, ব্যাকইয়ার্ড র্যাম্পসহ সাতটি মোড।
- শেয়ারড জুকবক্স: প্রতিটি রুমে একটি সিন্ক্রোনাইজড YouTube সঙ্গীততালিকা।
- ট্র্যাকড রাইড: সেশন সংরক্ষিত হয়, .fit হিসাবে এক্সপোর্ট করা যায়, Strava-তে আপলোড হয় এবং XP ও ট্রফি অর্জন করে।
- গোপনীয়তা: মেট্রিক্স রুম-স্কোপেড; অডিও/ভিডিও রেকর্ড হয় না; ডিফল্টভাবে রুম বেসুরা থাকে।
হার্ডওয়্যার ও ব্রাউজার:
LFTMS সমর্থনকারী স্মার্ট ট্রেনার প্রধান হার্ডওয়্যার, যা ওয়েব ব্রাউজার থেকে Web Bluetooth-এর মাধ্যমে সরাসরি কানেক্ট করা হয়। এর ফলে ট্রেনিং পথ বর্তমানে Chromium-কেন্দ্রিক: ডেস্কটপ ও Android-এ Chrome ও Edge। পূর্ববর্তী FTMS Wahoo ইউনিটগুলো একটি ওপেন ব্যাকলগ আইটেম হিসাবে তালিকাভুক্ত। iOS-এ ট্রেনিং পথ নেই, কারণ Safari Web Bluetooth কার্যকর করে না—এটি কোনো ভুল নয়, বরং গবেষণাপূর্বক সিদ্ধান্ত। যাইহোক, রুম যেকোনো ব্রাউজারে খোলে; ট্রেনার-নির্ভর বৈশিষ্ট্যগুলো আলাদা রিড-অনলি পেজে নয়, বরং গেটেড হিসেবে উপস্থাপিত হয়। ডেভেলপমেন্টের জন্য ট্রেনারের প্রয়োজন নেই: /dev/room-এ একটি সিমুলেটেড ট্রেনার ও সম্পূর্ণ মক রুম পাওয়া যায়।
স্ট্যাক ও ডিপ্লয়মেন্ট:
Go সার্ভার (প্রতিটি রুমে একটি goroutine-সম্পন্ন ইন-মেমরি রুম হাব), SvelteKit SPA, PostgreSQL, স্ব-হোস্ট করা LiveKit—সব একটি সিঙ্গেল বাইনারি হিসেবে, ইম্বেডেড ফ্রন্টএন্ডসহ, একটি VM-তে একটি compose stack হিসেবে ডিপ্লয় করা হয়। ডেভেলপমেন্টের জন্য Go 1.26+, Node 22+, pnpm ও Docker প্রয়োজন; make টার্গেটগুলো Postgres ও LiveKit কন্টেইনারে উঠিয়ে আনে, 8080 পোর্টে হট-রিloading সার্ভার ও 5174 পোর্টে Vite ডেভ সার্ভার চালায় যা /api ও /ws প্রক্সি করে।
ডকুমেন্টেশন ও রিলিজ:
আর্কিটেকচার ও স্পেস ডকুমেন্ট পাশাপাশি একটি ফাউন্ডেশন ডকুমেন্ট আছে, যেখানে প্রোডাক্ট ও আর্কিটেকচার সিদ্ধান্ত, গবেষণাপত্র, ও নম্বরযুক্ত ADRs সংরক্ষিত আছে। রিলিজ দিনে কয়েকবার আসে: প্রতিটি রিলিজে একটি ছোট, ইতিমধ্যে merged পরিবর্তন যুক্ত হয়, আর রোলব্যাক মানে শুধু চলমান ইমেজটিকে আগের ট্যাগে পুনর্নির্দেশ করা, ডাটাবেজে কোনো পরিবর্তন ছাড়া।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.