इस प्रोजेक्ट के बारे में

बीटसिंक एक उच्च-सटीकता वेब ऑडियो प्लेयर है जो मल्टी-डिवाइस प्लेबैक और स्थानिक ऑडियो के लिए बनाया गया है। आधिकारिक एप्लिकेशन beatsync.gg पर होस्ट किया गया है। ### मुख्य विशेषताएं - **मिलीसेकंड-सटीक सिंक्रनाइज़ेशन**: NTP-प्रेरित समय सिंक्रनाइज़ेशन प्राइमिटिव का लाभ उठाकर अत्यधिक सटीक मल्टी-डिवाइस ऑडियो संरेखण प्राप्त करता है। - **क्रॉस-प्लेटफ़ॉर्म**: आधुनिक ब्राउज़र वाले किसी भी डिवाइस पर चलता है (सर्वोत्तम प्रदर्शन के लिए Chrome अनुशंसित)। - **स्थानिक ऑडियो**: अद्वितीय ध्वनि प्रभावों के लिए वर्चुअल सुनने के स्रोत के माध्यम से डिवाइसों के वॉल्यूम नियंत्रण को सक्षम करता है। - **पॉलिश यूआई**: स्मूथ लोडिंग स्टेट्स, स्थिति संकेतक और एक अंतर्निहित इंटरफ़ेस शामिल है। - **सेल्फ-होस्टेबल**: कुछ सरल कमांड का उपयोग करके अपना स्वयं का इंस्टेंस आसानी से चलाएं। ### आर्किटेक्चर परियोजना को निम्नलिखित वर्कस्पेस के साथ Turborepo मोनोरेपो के रूप में व्यवस्थित किया गया है: - `apps/server`: Bun HTTP + WebSocket सर्वर। - `apps/client`: Next.js फ्रंटएंड जो Tailwind और Shadcn/ui का उपयोग करता है। - `packages/shared`: क्लाइंट और सर्वर के बीच टाइप-सुरक्षित स्कीमा और साझा फ़ंक्शन। ### त्वरित प्रारंभ परियोजना को स्थानीय रूप से चलाने के लिए: 1. `apps/client/.env` में पर्यावरण चर कॉन्फ़िगर करें (`NEXT_PUBLIC_API_URL` और `NEXT_PUBLIC_WS_URL`)। 2. Bun का उपयोग करके निर्भरताएं स्थापित करें और विकास सर्वर शुरू करें: - `bun install` - `bun dev` (क्लाइंट को :3000 पर और सर्वर को :8080 पर शुरू करता है) नोट: परियोजना प्रारंभिक विकास में है, और मोबाइल समर्थन वर्तमान में सीमित है।