Files
enigFM/Makefile
mamonov.ep 8a2ea5b4af Add multiple features: auth, uploads, queue management, and filters
- 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>
2025-12-19 19:22:35 +03:00

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