Sobre o projeto

Beatsync é um player de áudio web de alta precisão construído para reprodução em múltiplos dispositivos e áudio espacial. O aplicativo oficial está hospedado em beatsync.gg. ### Principais Recursos - **Sincronização com Precisão de Milissegundos**: Utiliza primitivas de sincronização de tempo inspiradas em NTP para alcançar alinhamento de áudio altamente preciso entre dispositivos. - **Multiplataforma**: Funciona em qualquer dispositivo com um navegador moderno (Chrome recomendado para melhor desempenho). - **Áudio Espacial**: Permite controle de volume dos dispositivos através de uma fonte de escuta virtual para efeitos sonoros únicos. - **Interface Polida**: Inclui estados de carregamento suaves, indicadores de status e uma interface integrada. - **Auto-Hospedável**: Execute facilmente sua própria instância com alguns comandos simples. ### Arquitetura O projeto é organizado como um monorepo Turborepo com os seguintes workspaces: - `apps/server`: Servidor Bun HTTP + WebSocket. - `apps/client`: Frontend Next.js utilizando Tailwind e Shadcn/ui. - `packages/shared`: Esquemas type-safe e funções compartilhadas entre o cliente e o servidor. ### Início Rápido Para executar o projeto localmente: 1. Configure as variáveis de ambiente em `apps/client/.env` (`NEXT_PUBLIC_API_URL` e `NEXT_PUBLIC_WS_URL`). 2. Instale as dependências e inicie os servidores de desenvolvimento usando Bun: - `bun install` - `bun dev` (inicia o cliente na porta :3000 e o servidor na porta :8080) Nota: O projeto está em desenvolvimento inicial, e o suporte para dispositivos móveis é atualmente experimental.