.PHONY: install dev dev-backend dev-frontend test seed docker-up docker-down docker-dev docker-fabio docker-fabio-down consul-services fabio-routes

# ── Development (local) ──

install:
	cd backend && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt
	cd frontend && npm install

dev: dev-backend dev-frontend

dev-backend:
	cd backend && . venv/bin/activate && uvicorn app.main:app --reload --port 8000

dev-frontend:
	cd frontend && npm run dev

test:
	cd backend && . venv/bin/activate && python -m pytest tests/ -v

seed:
	cd backend && . venv/bin/activate && python seed.py

# ── Docker (production) ──

docker-up:
	docker compose -f docker/docker-compose.yml up --build -d

docker-down:
	docker compose -f docker/docker-compose.yml down

# ── Docker (dev) ──

docker-dev:
	docker compose -f docker/docker-compose.yml -f docker/docker-compose.dev.yml up --build

# ── Docker (Fabio/Consul) ──

docker-fabio:
	docker compose -f docker/docker-compose.yml -f docker/docker-compose.fabio.yml up --build -d

docker-fabio-down:
	docker compose -f docker/docker-compose.yml -f docker/docker-compose.fabio.yml down

consul-services:
	@curl -s http://localhost:8500/v1/catalog/services | python3 -m json.tool

fabio-routes:
	@curl -s http://localhost:9998/routes
