.PHONY: help run stop up down db migrate api front logs MIGRATE=$(HOME)/go/bin/migrate # ─── Defaults ─────────────────────────────────────────────────────────────── help: @echo "" @echo " Licitatche — comandos disponíveis" @echo "" @echo " make up Sobe tudo: DB + API + Front" @echo " make down Para tudo e remove containers" @echo " make db Sobe apenas o PostgreSQL" @echo " make migrate Roda as migrations" @echo " make api Sobe apenas a API Go" @echo " make front Sobe apenas o front Nuxt" @echo " make logs Tail dos logs da API" @echo "" # ─── Infra ─────────────────────────────────────────────────────────────────── db: cd back-end && docker compose up -d @echo "⏳ Aguardando PostgreSQL ficar pronto..." @until docker exec $$(cd back-end && docker compose ps -q postgres) pg_isready -U licitatche > /dev/null 2>&1; do sleep 1; done @echo "✅ PostgreSQL pronto" migrate: db cd back-end && $(MIGRATE) -path migrations -database "postgres://licitatche:licitatche@localhost:5432/licitatche?sslmode=disable" up down: cd back-end && docker compose down # ─── Serviços ──────────────────────────────────────────────────────────────── api: cd back-end && go run ./cmd/api/... front: cd front-end/app && npm run dev # ─── Tudo junto (processos paralelos) ──────────────────────────────────────── up: migrate @echo "🚀 Iniciando API e Front em paralelo..." @trap 'kill 0' SIGINT SIGTERM; \ (cd back-end && go run ./cmd/api/... 2>&1 | sed 's/^/[api] /') & \ (cd front-end/app && npm run dev 2>&1 | sed 's/^/[front] /') & \ wait logs: cd back-end && docker compose logs -f # ─── Aliases ───────────────────────────────────────────────────────────────── run: up stop: down