- Replace email with username for authentication - Update User model, schemas, and auth endpoints - Update frontend login and register views - Add migration to remove email column - Add multiple track upload support - New backend endpoint for bulk upload - Frontend multi-file selection with progress - Auto-extract metadata from ID3 tags - Visual upload progress for each file - Prevent duplicate tracks in room queue - Backend validation for duplicates - Visual indication of tracks already in queue - Error handling with user feedback - Add bulk track selection for rooms - Multi-select mode with checkboxes - Bulk add endpoint with duplicate filtering - Selection counter and controls - Add track filters in room modal - Search by title and artist - Filter by "My tracks" - Filter by "Not in queue" - Live filtering with result counter - Improve Makefile - Add build-backend and build-frontend commands - Add rebuild-backend and rebuild-frontend commands - Add rebuild-clean variants - Update migrations to run in Docker 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
127 lines
3.8 KiB
Makefile
127 lines
3.8 KiB
Makefile
.PHONY: help dev dev-backend dev-frontend install install-backend install-frontend build build-backend build-frontend rebuild rebuild-backend rebuild-frontend rebuild-clean rebuild-clean-backend rebuild-clean-frontend up down logs migrate
|
|
|
|
help:
|
|
@echo "EnigFM - Команды:"
|
|
@echo ""
|
|
@echo " make install - Установить зависимости (backend + frontend)"
|
|
@echo " make dev - Запустить dev режим (backend + frontend)"
|
|
@echo " make dev-backend - Запустить только backend"
|
|
@echo " make dev-frontend - Запустить только frontend"
|
|
@echo ""
|
|
@echo " make build - Собрать Docker образы (backend + frontend)"
|
|
@echo " make build-backend - Собрать только backend"
|
|
@echo " make build-frontend - Собрать только frontend"
|
|
@echo " make rebuild - Пересобрать и запустить всё"
|
|
@echo " make rebuild-backend - Пересобрать и перезапустить только backend"
|
|
@echo " make rebuild-frontend - Пересобрать и перезапустить только frontend"
|
|
@echo " make rebuild-clean - Пересобрать всё без кеша"
|
|
@echo " make rebuild-clean-backend - Пересобрать backend без кеша"
|
|
@echo " make rebuild-clean-frontend - Пересобрать frontend без кеша"
|
|
@echo " make up - Запустить через Docker"
|
|
@echo " make down - Остановить Docker"
|
|
@echo " make logs - Показать логи Docker"
|
|
@echo ""
|
|
@echo " make migrate - Создать миграцию БД"
|
|
@echo " make migrate-up - Применить миграции"
|
|
@echo " make migrate-down - Откатить миграцию"
|
|
@echo " make migrate-rebuild - Пересобрать контейнеры и применить миграции"
|
|
|
|
# Установка зависимостей
|
|
install: install-backend install-frontend
|
|
|
|
install-backend:
|
|
cd backend && pip install -r requirements.txt
|
|
|
|
install-frontend:
|
|
cd frontend && npm install
|
|
|
|
# Разработка
|
|
dev:
|
|
@echo "Запуск backend на :4001 и frontend на :4000"
|
|
@make -j2 dev-backend dev-frontend
|
|
|
|
dev-backend:
|
|
cd backend && uvicorn app.main:app --reload --port 4001
|
|
|
|
dev-frontend:
|
|
cd frontend && npm run dev
|
|
|
|
# Docker
|
|
build:
|
|
docker-compose build
|
|
|
|
build-backend:
|
|
docker-compose build backend
|
|
|
|
build-frontend:
|
|
docker-compose build frontend
|
|
|
|
up:
|
|
docker-compose up -d
|
|
|
|
down:
|
|
docker-compose down
|
|
|
|
rebuild:
|
|
docker-compose down
|
|
docker-compose up -d --build
|
|
|
|
rebuild-backend:
|
|
docker-compose stop backend
|
|
docker-compose rm -f backend
|
|
docker-compose build backend
|
|
docker-compose up -d backend
|
|
|
|
rebuild-frontend:
|
|
docker-compose stop frontend
|
|
docker-compose rm -f frontend
|
|
docker-compose build frontend
|
|
docker-compose up -d frontend
|
|
|
|
rebuild-clean:
|
|
docker-compose down
|
|
docker-compose build --no-cache
|
|
docker-compose up -d
|
|
|
|
rebuild-clean-backend:
|
|
docker-compose stop backend
|
|
docker-compose rm -f backend
|
|
docker-compose build --no-cache backend
|
|
docker-compose up -d backend
|
|
|
|
rebuild-clean-frontend:
|
|
docker-compose stop frontend
|
|
docker-compose rm -f frontend
|
|
docker-compose build --no-cache frontend
|
|
docker-compose up -d frontend
|
|
|
|
logs:
|
|
docker-compose logs -f
|
|
|
|
logs-backend:
|
|
docker-compose logs -f backend
|
|
|
|
logs-frontend:
|
|
docker-compose logs -f frontend
|
|
|
|
# Миграции
|
|
migrate:
|
|
docker-compose exec backend alembic revision --autogenerate -m "$(msg)"
|
|
|
|
migrate-up:
|
|
docker-compose exec backend alembic upgrade head
|
|
|
|
migrate-down:
|
|
docker-compose exec backend alembic downgrade -1
|
|
|
|
migrate-rebuild:
|
|
docker-compose down
|
|
docker-compose up -d --build
|
|
@echo "Waiting for containers to start..."
|
|
@sleep 5
|
|
docker-compose exec backend alembic upgrade head
|
|
|
|
# БД
|
|
db-shell:
|
|
docker-compose exec db psql -U postgres -d enigfm
|