mirror of
https://github.com/Dvorinka/SEEN.git
synced 2026-06-03 20:13:02 +00:00
Seen Frontend (Phase 1)
UI-first implementation for /seen/, a self-hosted media control center.
Stack
- SolidJS + TypeScript + Vite
- TailwindCSS
- Vitest (unit)
- Playwright (smoke e2e)
- Docker + Nginx runtime
Implemented in this phase
- App shell with sidebar + top bar
- Theme system (
dark,light,system) with persistent storage - Full route contract scaffolded:
/app/dashboard/app/discover/app/movies/app/shows/app/games/app/watch-later/app/watched/app/downloads/app/calendar/app/recommendations/app/library/app/collections/app/settings/app/admin
- Polished
Dashboard,Discover,Games, andQueuepages - Unified media cards and search flows for movies, shows, and games
- Typed mock service layer compatible with future API replacement
Environment
Copy .env.example to .env if you want to customize defaults.
cp .env.example .env
Required variables:
VITE_APP_NAMEVITE_ENABLE_MOCK_API(truefor mock mode,falsefor backend mode)
Optional mock controls:
VITE_MOCK_API_LATENCY_MSVITE_MOCK_FORCE_ERROR
Optional backend base URL:
VITE_API_BASE_URL(leave empty to use same-origin/apiwith proxying)
Run locally
npm install
npm run dev
Tests
Unit tests:
npm run test:unit
test:unit forces mock API mode so local .env files do not accidentally switch the suite into live API mode.
Playwright smoke tests:
npm run test:e2e
Build
npm run build
npm run preview
Docker runtime (frontend)
Build and run from repository root:
docker compose up --build
App will be served at http://localhost:8080.