À propos du projet

Beatsync est un lecteur audio web haute précision conçu pour la lecture multi-appareils et l'audio spatial. L'application officielle est hébergée sur beatsync.gg. ### Fonctionnalités clés - **Synchronisation à la milliseconde** : Utilise des primitives de synchronisation temporelle inspirées de NTP pour un alignement audio multi-appareils très précis. - **Multiplateforme** : Fonctionne sur tout appareil doté d'un navigateur moderne (Chrome recommandé pour des performances optimales). - **Audio spatial** : Permet de contrôler le volume des appareils via une source d'écoute virtuelle pour des effets sonores uniques. - **Interface soignée** : Inclut des états de chargement fluides, des indicateurs de statut et une interface intégrée. - **Auto-hébergeable** : Exécutez facilement votre propre instance avec quelques commandes simples. ### Architecture Le projet est organisé en monorepo Turborepo avec les espaces de travail suivants : - `apps/server` : Serveur Bun HTTP + WebSocket. - `apps/client` : Frontend Next.js utilisant Tailwind et Shadcn/ui. - `packages/shared` : Schémas type-safe et fonctions partagées entre le client et le serveur. ### Démarrage rapide Pour exécuter le projet localement : 1. Configurez les variables d'environnement dans `apps/client/.env` (`NEXT_PUBLIC_API_URL` et `NEXT_PUBLIC_WS_URL`). 2. Installez les dépendances et démarrez les serveurs de développement avec Bun : - `bun install` - `bun dev` (démarre le client sur :3000 et le serveur sur :8080) Remarque : Le projet est en développement précoce, et la prise en charge mobile est actuellement expérimentale.