프로젝트 소개
Beatsync은 다중 기기 재생과 공간 오디오를 위해 설계된 고정밀 웹 오디오 플레이어입니다. 공식 애플리케이션은 beatsync.gg에서 호스팅됩니다.
### 주요 기능
- **밀리초 단위 정밀 동기화**: NTP에서 영감을 받은 시간 동기화 프리미티브를 활용하여 다중 기기 간 오디오 정렬을 매우 정밀하게 수행합니다.
- **크로스 플랫폼**: 최신 브라우저가 있는 모든 기기에서 실행됩니다(최상의 성능을 위해 Chrome 권장).
- **공간 오디오**: 가상 청취 소스를 통해 기기의 볼륨을 제어하여 독특한 음향 효과를 제공합니다.
- **세련된 UI**: 부드러운 로딩 상태, 상태 표시기, 내장 인터페이스를 포함합니다.
- **자체 호스팅 가능**: 몇 가지 간단한 명령으로 자신의 인스턴스를 쉽게 실행할 수 있습니다.
### 아키텍처
이 프로젝트는 Turborepo 모노레포로 구성되며 다음 워크스페이스를 포함합니다:
- `apps/server`: Bun HTTP + WebSocket 서버.
- `apps/client`: Tailwind 및 Shadcn/ui를 활용한 Next.js 프론트엔드.
- `packages/shared`: 클라이언트와 서버 간의 타입 안전 스키마 및 공유 함수.
### 빠른 시작
프로젝트를 로컬에서 실행하려면:
1. `apps/client/.env`에서 환경 변수를 구성합니다(`NEXT_PUBLIC_API_URL` 및 `NEXT_PUBLIC_WS_URL`).
2. Bun을 사용하여 종속성을 설치하고 개발 서버를 시작합니다:
- `bun install`
- `bun dev` (클라이언트는 :3000, 서버는 :8080에서 시작)
참고: 이 프로젝트는 초기 개발 단계에 있으며 모바일 지원은 현재 실험적입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.