Foundation release

AUX Player

Telegram-first music library rewrite with a full web fallback.

The bootstrap layer is now centered on stable contracts for imports, library entities, playback state, and runtime boundaries.

Launch modeWeb fallbackBrowser session

Session

Restoring

Browser mode is active. Use Telegram login to establish the same server session model.

The API now issues cookie-backed sessions persisted in Postgres and exposes them via /api/auth/session.

Set NEXT_PUBLIC_TELEGRAM_BOT_USERNAME to render the browser login widget.

What is live now

  • Shared domain contracts for import, library, playback, and auth flows
  • Telegram-backed auth endpoints with persistent session records
  • Worker and web runtimes still aligned to the same shared foundation

Current auth scope

  • Telegram Mini App initData exchange to server session
  • Browser Telegram login widget fallback
  • Session restore and logout wired through /api/auth/*
web

Web App

Next.js shell for Telegram Mini App and standard browser sessions.

Default port: 3000
api

API

NestJS orchestration layer for app boundaries and future auth/import flows.

Default port: 4000
worker

Worker

Background runtime for imports, enrichment, and other job-driven workflows.

Default port: 4010

Bounded contexts

  • auth
  • telegram
  • imports
  • library
  • catalog
  • playlists
  • playback
  • backup-channels

First import adapters

  • Telegram export
  • Telegram bot upload
  • Local files
  • Public links

Architecture principles

Shared contracts define boundaries before runtime modules grow deeper.

External sources integrate through adapters with normalized DTOs.

Heavy import and enrichment work stays in jobs and workers.

Telegram is an integration channel, not the canonical storage model.