67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# 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
|