53 lines
2.3 KiB
Makefile
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
|