Sobre el proyecto

Beatsync es un reproductor de audio web de alta precisión diseñado para reproducción multi-dispositivo y audio espacial. La aplicación oficial está alojada en beatsync.gg. ### Características principales - **Sincronización de precisión milimétrica**: Utiliza primitivas de sincronización de tiempo inspiradas en NTP para lograr una alineación de audio multi-dispositivo altamente precisa. - **Multiplataforma**: Funciona en cualquier dispositivo con un navegador moderno (se recomienda Chrome para un mejor rendimiento). - **Audio espacial**: Permite el control de volumen de los dispositivos a través de una fuente de escucha virtual para efectos sonoros únicos. - **Interfaz pulida**: Incluye estados de carga suaves, indicadores de estado y una interfaz integrada. - **Autoalojable**: Ejecuta fácilmente tu propia instancia con unos pocos comandos simples. ### Arquitectura El proyecto está organizado como un monorepo de Turborepo con los siguientes espacios de trabajo: - `apps/server`: Servidor Bun HTTP + WebSocket. - `apps/client`: Frontend de Next.js que utiliza Tailwind y Shadcn/ui. - `packages/shared`: Esquemas con seguridad de tipos y funciones compartidas entre el cliente y el servidor. ### Inicio rápido Para ejecutar el proyecto localmente: 1. Configura las variables de entorno en `apps/client/.env` (`NEXT_PUBLIC_API_URL` y `NEXT_PUBLIC_WS_URL`). 2. Instala las dependencias e inicia los servidores de desarrollo usando Bun: - `bun install` - `bun dev` (inicia el cliente en :3000 y el servidor en :8080) Nota: El proyecto está en desarrollo temprano, y el soporte móvil es actualmente experimental.