StreamYam - это приложение позволяющие стримерам добавить на свою трансляцию виджет с музыкой, которая играет прямо сейчас в приложении "Яндекс Музыка"
- Python 3.11 - язык программирования для создания бэкенда
- FastAPI 0.115.6 - фреймворк для создания REST API
- SQLAlchemy 2.0.36 - ORM для работы с базой данных
- Alembic 1.14.0 - инструмент для управления миграциями базы данных
- PyJWT 2.10.1 - библиотека для работы с JWT токенами
- Pydantic 2.10.3 - валидация данных и настройки
- Uvicorn 0.32.1 - ASGI сервер для запуска FastAPI приложений
- WebSockets 14.1 - поддержка WebSocket соединений
- aiohttp 3.11.10 - асинхронный HTTP клиент/сервер
- psycopg2-binary 2.9.10 - PostgreSQL адаптер для Python
- Jinja2 3.1.4 - шаблонизатор для рендеринга HTML
- python-logging-loki 0.3.1 - интеграция с Grafana Loki для централизованного логирования
- PostgreSQL 14.8 - основная база данных
- pgAdmin - веб-интерфейс для управления PostgreSQL
- Grafana Loki - система централизованного сбора и хранения логов
- Docker & Docker Compose - контейнеризация и оркестрация сервисов
- Grafana Loki
pip install -r requirements.txtСоздайте файл .env в директории app/ со следующими переменными:
DB_USER=user
DB_PASS=your_password
DB_NAME=widgetdb
DB_HOST=localhost:5432
secret=your_jwt_secret
LOKI_URL=http://localhost:3100/loki/api/v1/pushdocker-compose up postgres -dcd app
alembic upgrade headcd app
uvicorn main:app --reload --host 0.0.0.0 --port 8000Проект использует Grafana Loki для централизованного сбора логов. Все логи приложения автоматически отправляются в Loki