Skip to content
This repository was archived by the owner on Aug 10, 2025. It is now read-only.

streamyam/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StreamYam Backend

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

Локальная разработка

1. Установка зависимостей

pip install -r requirements.txt

2. Настройка переменных окружения

Создайте файл .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/push

3. Запуск базы данных

docker-compose up postgres -d

4. Применение миграций

cd app
alembic upgrade head

5. Запуск приложения

cd app
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Мониторинг и логирование

Проект использует Grafana Loki для централизованного сбора логов. Все логи приложения автоматически отправляются в Loki

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published