AUrooms — это веб-приложение для совместного прослушивания музыки в реальном времени. Пользователи могут создавать комнаты, приглашать друзей, добавлять треки в очередь и слушать музыку синхронно. Поддерживается интеграция с Telegram и Яндекс.Музыкой.
AUrooms/
│
├── backend/ # Серверная часть (Node.js, Express, WebSocket, PostgreSQL)
├── bot/ # Telegram-бот (Python)
├── frontend/ # Веб-клиент (Vue.js + Quasar)
├── docker-compose.yml
├── .env
└── README.md
git clone https://github.com/MaxMaximov123/AUrooms.git
cd AUroomsСоздайте файл .env в корне проекта и заполните его по примеру:
DATABASE_URL=postgres://postgres:postgres@db:5432/music_app
TELEGRAM_BOT_TOKEN=ваш_токен_бота
YANDEX_MUSIC_API_TOKEN=ваш_токен_яндекс_музыки
YANDEX_MUSIC_UID=ваш_uid
docker-compose up --buildЭто поднимет backend, frontend, базу данных и Telegram-бота.
- Node.js + Express
- WebSocket сервер для синхронизации музыки
- PostgreSQL (через Knex.js)
- REST API для управления комнатами и треками
cd backend
npm install
npm start # Запуск проекта- Vue.js + Quasar Framework
- Поддержка мобильных и десктопных браузеров
- Веб-клиент для управления комнатой и очередью треков
cd frontend
npm install
quasar dev # Запуск в режиме разработки
quasar build # Сборка для продакшена- Python 3
- aiogram для работы с Telegram API
- Позволяет управлять комнатами через Telegram
cd bot
pip install -r requirements.txt
python main.py- Создание и присоединение к комнатам по коду
- Добавление треков из Яндекс.Музыки и других источников
- Синхронное воспроизведение музыки для всех участников комнаты
- Отображение списка пользователей комнаты (веб и Telegram)
- Интеграция с Telegram-ботом
- Поддержка Docker для быстрого деплоя
POST /api/rooms— создать комнатуGET /api/rooms/:code— получить информацию о комнатеGET /api/tracks/:room_id— получить очередь трековPOST /api/tracks— добавить трек в комнату
- События для синхронизации воспроизведения, очереди, пользователей
Миграции находятся в backend/db/migrations/. Для применения используйте:
cd backend
knex migrate:latest- Для локальной разработки используйте отдельные терминалы для backend, frontend и bot.
- Для продакшена рекомендуется использовать Docker Compose.
MIT
- Telegram: @kotik594