Repository navigation
Home
Ingwald edited this page Aug 15, 2026
·
5 revisions
Telegram bot that searches Deezer, enriches tracks with Spotify links, shows lyrics, recommendations, and similar artists. Built with aiogram 3, asyncpg, Redis, FastAPI monitoring, Prometheus metrics.
Version: v3.7.10 · Coverage: ~93% · Languages: 8
| Section | What's inside |
|---|---|
| Architecture | Layered diagram, data flow, module map |
| Bot Layer | Handlers, callbacks, keyboards, middleware, rate limiter |
| Services Layer | Deezer, recommendations, lyrics, track formatter |
| Platform Layer | Spotify auth, client, matcher, aggregator |
| Database Layer | asyncpg pool, repositories, maintenance, Alembic |
| Infrastructure | FastAPI /health /ready /metrics, Prometheus, Grafana, alerts |
| Configuration | Settings, .env variables, admin IDs |
| Localization | Translator, t(), 8 locales, coverage checker |
| Testing | Test structure, fixtures, PG integration tests, coverage gate |
| CI-CD | GitHub Actions, GHCR, automated SSH deploy, health check |
python -m ruff check .
python -m mypy
python -m pytest --cov=app --cov-report=term-missing
python scripts/check_release_clean.py
python scripts/check_version_sync.py
Health endpoints (port 9090): GET /health · GET /ready · GET /metrics
Bot mode: BOT_MODE=polling (default) or BOT_MODE=webhook