Files
lic/Makefile
2026-04-21 18:05:15 -03:00

53 lines
2.3 KiB
Makefile

.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