عن المشروع

Beatsync هو مشغل صوت ويب عالي الدقة مصمم للتشغيل متعدد الأجهزة والصوت المكاني. التطبيق الرسمي مستضاف على beatsync.gg. ### الميزات الرئيسية - **مزامنة دقيقة بالمللي ثانية**: يستخدم بدائيات مزامنة زمنية مستوحاة من NTP لتحقيق محاذاة صوتية عالية الدقة بين الأجهزة المتعددة. - **توافق عبر المنصات**: يعمل على أي جهاز بمتصفح حديث (يُنصح باستخدام Chrome للحصول على أفضل أداء). - **صوت مكاني**: يتيح التحكم في مستوى صوت الأجهزة عبر مصدر استماع افتراضي لتأثيرات صوتية فريدة. - **واجهة مستخدم مصقولة**: يتضمن حالات تحميل سلسة، ومؤشرات حالة، وواجهة مدمجة. - **قابل للاستضافة الذاتية**: يمكنك بسهولة تشغيل نسختك الخاصة باستخدام بضعة أوامر بسيطة. ### البنية المشروع منظم كـ Turborepo monorepo مع مساحات العمل التالية: - `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) ملاحظة: المشروع في مرحلة تطوير مبكرة، ودعم الأجهزة المحمولة تجريبي حاليًا.