Все проекты

Проект

TeamPlayer — ВКР бакалавриата

iOS-приложение для совместного прослушивания музыки в сообществах — общий плеер, чат и плейлисты в реальном времени

  • Swift
  • UIKit
  • Vapor
  • Fluent
  • PostgreSQL
  • WebSocket
  • Python
  • FastAPI
  • Docker
Главная: публичные сообщества и новые треки
Главная: публичные сообщества и новые треки
Комната: общий плеер и чат сообщества
Комната: общий плеер и чат сообщества
Плейлист в медиатеке
Плейлист в медиатеке
Управление участниками сообщества
Управление участниками сообщества
3
сервиса — iOS-приложение, сервер на Vapor и сервис на FastAPI

Задача

Слушать музыку вместе с друзьями на расстоянии неудобно: каждый включает трек у себя, и воспроизведение расходится. Нужны общие комнаты-сообщества, где у всех участников играет одно и то же и музыку можно обсуждать в чате.

Решение

Проект из трёх частей. iOS-приложение на Swift и UIKit: главная с публичными сообществами, поиск, медиатека и плейлисты, комната с общим плеером и чатом. Сервер на Vapor с PostgreSQL (Fluent, миграции): пользователи и токены, комнаты — публичные и по коду, участники и роль DJ, рейтинг комнат, плейлисты. Через WebSocket сервер раздаёт аудио по чанкам всем участникам комнаты, синхронизирует команды play / pause / next / back и ведёт чат. Отдельный сервис на FastAPI работает с Яндекс Музыкой: поиск, треки, альбомы, избранное и плейлист дня.

Результаты

  • Синхронное воспроизведение у всех участников комнаты через WebSocket
  • Чат сообщества в реальном времени