64 lines
2.1 KiB
Markdown
64 lines
2.1 KiB
Markdown
# Music Platform
|
||
|
||
Музыкальная платформа с функционалом, похожим на Яндекс.Музыку/Spotify.
|
||
|
||
## Возможности
|
||
|
||
- Регистрация и авторизация пользователей
|
||
- Загрузка своих песен с обложками
|
||
- Скачивание песен
|
||
- Создание и управление плейлистами
|
||
- Публичные и приватные плейлисты
|
||
- Комнаты для совместного прослушивания с чатом
|
||
- Dynamic Island плеер (как на iPhone)
|
||
|
||
## Технологии
|
||
|
||
- Frontend: React + Vite
|
||
- Backend: Python FastAPI
|
||
- База данных: SQLite
|
||
- WebSocket для real-time функций
|
||
|
||
## Установка и запуск
|
||
|
||
### Backend
|
||
|
||
```bash
|
||
cd backend
|
||
pip install -r requirements.txt
|
||
python init_db.py
|
||
uvicorn app.main:app --reload
|
||
```
|
||
|
||
Backend будет доступен на http://localhost:8000
|
||
|
||
### Frontend
|
||
|
||
```bash
|
||
cd frontend
|
||
npm install
|
||
npm run dev
|
||
```
|
||
|
||
Frontend будет доступен на http://localhost:5173
|
||
|
||
## Использование
|
||
|
||
1. Зарегистрируйтесь на сайте
|
||
2. Загрузите свои песни через раздел "Загрузить"
|
||
3. Создавайте плейлисты и добавляйте в них песни
|
||
4. Создавайте комнаты для совместного прослушивания с друзьями
|
||
5. Используйте Dynamic Island плеер для управления воспроизведением
|
||
|
||
## API Endpoints
|
||
|
||
- `POST /api/auth/register` - Регистрация
|
||
- `POST /api/auth/login` - Вход
|
||
- `POST /api/music/upload` - Загрузка песни
|
||
- `GET /api/music/songs` - Получить все песни
|
||
- `GET /api/music/download/{song_id}` - Скачать песню
|
||
- `POST /api/playlists/create` - Создать плейлист
|
||
- `GET /api/playlists/my-playlists` - Мои плейлисты
|
||
- `POST /api/rooms/create` - Создать комнату
|
||
- `WS /api/rooms/ws/{room_code}` - WebSocket для комнаты
|