React web app for the self-hosted music streaming project, carved out from the music-app monorepo. Uses @music-app/shared for shared types and utilities.
37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Music App — Web
|
|
|
|
React web client for the Music App streaming project: player UI, mood radio, lofi channels, SharePlay, search, and settings. Built with Vite, React 18, Tailwind CSS, and Radix UI.
|
|
|
|
Part of the Music App project:
|
|
|
|
| Repo | What it is |
|
|
|------|------------|
|
|
| [music-app](https://git.jarianc.com/jarianc/music-app) | FastAPI backend (server) |
|
|
| [music-mobile](https://git.jarianc.com/jarianc/music-mobile) | React Native mobile app (Expo) |
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Dev server on `http://localhost:5173`. Point it at a running music-app server with `VITE_API_URL` (default `http://localhost:8000`).
|
|
|
|
## Project Structure
|
|
|
|
- `web/` — React app (Vite + Tailwind): screens, player, SharePlay UI
|
|
- `shared/` — Shared TypeScript types and API client (`@music-app/shared` workspace package)
|
|
- `e2e/` — Playwright end-to-end specs
|
|
- `playwright.config.ts` — Playwright config (chromium)
|
|
|
|
## Scripts
|
|
|
|
| Command | What it does |
|
|
|---------|--------------|
|
|
| `npm run dev` | Vite dev server |
|
|
| `npm run build` | Typecheck + production build |
|
|
| `npm run typecheck` | `tsc --noEmit` across workspaces |
|
|
| `npm run lint` | ESLint across workspaces |
|
|
| `npm run test:e2e` | Playwright E2E suite (server must be running) |
|