# 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) |