# Velody Velody is a private music ecosystem for personal use across `macOS`, `iPhone`, and a VPS backend. The repository now includes a working backend plus Apple clients for local library upload, remote playback, iPhone sync, offline resilience, account foundation work, and early billing groundwork. ## Repository Layout - `apps/apple` for the native Apple apps workspace - `packages/apple` for shared Swift packages - `backend` for the NestJS API and Prisma schema - `infra` for local Docker and deployment references - `runtime` for local development storage paths - `docs/PROJECT_ENVIRONMENT_ARCHITECTURE.md` as the functional source of truth ## Requirements - Xcode 26+ - Swift 5.9+ - Node.js 20+ - npm 10+ - Docker Desktop ## Local Backend Setup 1. Copy the example environment file: ```bash cp backend/.env.example backend/.env ``` 2. Start Postgres and the API: ```bash docker compose -f infra/docker/compose.local.yml up --build ``` 3. Check backend health: ```bash curl -i http://localhost:3007/api/v1/health ``` 4. Open the Apple workspace: ```bash open apps/apple/Velody.xcworkspace ``` The local backend runs on `http://localhost:3007`. ## Current Implemented Areas - upload ingest and transfer flow - Apple playback experience - iPhone library sync and offline playback resilience - account and device-linking foundation - billing and entitlement foundation work ## Not Yet Exposed Public Areas - public login and signup APIs - public account authentication APIs - Paddle checkout - Paddle webhooks - public billing APIs