# ---- Variablen ----
BACKEND_DIR=apps/backend
FRONTEND_DIR=apps/frontend
VENV=$(BACKEND_DIR)/.venv

PYTHON=$(VENV)/Scripts/python.exe
PIP=$(VENV)/Scripts/pip.exe

# ---- Setup ----
.PHONY: venv install

venv:
	python -m venv $(VENV)

install:
	$(PIP) install -r $(BACKEND_DIR)/requirements.txt

# ---- Datenbank ----
.PHONY: migrate upgrade

migrate:
	cd $(BACKEND_DIR) && $(PYTHON) -m alembic revision -m "manual migration"

upgrade:
	cd $(BACKEND_DIR) && $(PYTHON) -m alembic upgrade head

# ---- Server ----
.PHONY: backend frontend run

backend:
	cd $(BACKEND_DIR) && $(PYTHON) -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

frontend:
	cd $(FRONTEND_DIR) && npm run dev

# ---- Komfort ----
run:
	@echo "Starte Backend und Frontend (in separaten Prozessen)..."
	@start cmd /k "cd $(BACKEND_DIR) && $(PYTHON) -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000"
	@start cmd /k "cd $(FRONTEND_DIR) && npm run dev"
