AdminandClaude Sonnet 5 10fb5b307d web-player: P1 — tokens base del sistema de diseño
Añade de forma aditiva (sin migrar componentes) los tokens de la
sección B.1 del plan de refactor: radios (tag/thumb), tamaños de
carátula e icono, anchos de contenedor, tracking/leading tipográfico,
colores de botón (--color-btn*), recetas @utility de tipografía
(text-display-*, text-eyebrow, text-body, text-count), trazo de icono
(stroke-thin/regular/bold), superficies/grids (glass-bar, grid-cards*,
theme-transition) y el stagger de .animate-enter vía --i. Añade
variables de layout (--mf-player-side-w, --mf-menu-w, --mf-submenu-w,
--mf-range-*) y z-index semántico en theme.css. Limpia utilidades de
color sin uso (--color-accent-dim/glow/hair/line/muted, --color-on-accent)
y borra --mf-sidebar-bg (sin importadores) de theme.css y tokens.ts.
Scrollbar pasa a tokens con variante de modo claro.

Verificado con npm run build (Tailwind compila los @utility con
variantes responsive dentro de @apply).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 22:21:04 +02:00

Musify

Music streaming platform: upload your own tracks, process them asynchronously (audio transcoded to .m4a, thumbnails generated) and stream them without the bytes ever going through the API.

backend/      .NET 10 — Domain / Application / Infrastructure / Api / Worker / StreamingGateway / Tests
web-player/   SvelteKit 2 + Svelte 5 + Tailwind 4 web client
deploy/       Docker Compose stacks — self-contained, no wrapper scripts
docs/         What each piece does and why (in Spanish)
dotnet test backend/Musify.slnx   # backend/Tests/ — Docker running (Testcontainers: Postgres, SeaweedFS)

Run it

Development (Docker Desktop):

docker compose -f deploy/compose.yml -f deploy/compose.dev.yml up -d

Infrastructure plus stream-ticket keys, database migrations and Zitadel OIDC provisioning — all as one-shot jobs baked into the compose file. Apps run from the IDE by default; add --profile apps up -d --build as a second command to run them in Docker instead.

Production, on a server with a domain:

cp deploy/.env.prod.example deploy/.env.prod   # fill in the domain and secrets
docker compose --env-file deploy/.env.prod -f deploy/compose.yml -f deploy/compose.prod.yml up -d
docker compose --env-file deploy/.env.prod -f deploy/compose.yml -f deploy/compose.prod.yml --profile apps up -d --build

Idempotent — run the same commands again to deploy an update. See deploy/README.md for the details, the port map and the production prerequisites.

Components

Service Port (dev) Role
Musify.Api 5111 REST API, issues presigned upload URLs and stream tickets
Musify.StreamingGateway 8081 YARP proxy that validates the stream ticket and serves the audio
Musify.Worker — MassTransit consumers: transcoding, thumbnails
web-player 5173 / 3000 Web client (SvelteKit, server-side OIDC session)
Zitadel 8080 Identity (OIDC/OAuth2)
PostgreSQL / RabbitMQ / SeaweedFS / Jaeger 59000 / 5672 / 8333 / 16686 Metadata, messaging, object storage, traces

More in docs/: architecture, authentication, storage, streaming, media processing, development.

S
Description
No description provided
Readme
5.1 MiB
Languages
C# 73.1%
Svelte 12.1%
TypeScript 9%
Kotlin 4.1%
CSS 1.1%
Other 0.6%