backend-service/Makefile

115 lines
2.0 KiB
Makefile
Raw Normal View History

.PHONY: build run test clean deps server cli
# Build the server binary
build:
go build -o bin/server cmd/server/main.go
# Build the CLI binary
build-cli:
go build -o bin/cli cmd/cli/main.go
# Run the server
run:
go run cmd/server/main.go
# Run the CLI
cli:
go run cmd/cli/main.go
# Install dependencies
deps:
go mod tidy
go mod download
# Run tests
test:
go test ./...
# Clean build artifacts
clean:
rm -rf bin/
# Format code
fmt:
go fmt ./...
# Vet code
vet:
go vet ./...
# Run linter (requires golangci-lint)
lint:
golangci-lint run
# Database operations
db-migrate: build-cli
./bin/cli migrate
db-health: build-cli
./bin/cli db health
db-seed: build-cli
./bin/cli db seed
# Development setup
dev-setup: deps
cp .env.example .env
@echo "Please update .env file with your configuration"
# Docker commands
docker-build:
docker-compose build
docker-up:
docker-compose up -d
docker-down:
docker-compose down
docker-logs:
docker-compose logs -f
docker-ps:
docker-compose ps
docker-restart:
docker-compose restart api
docker-clean:
docker-compose down -v
# Docker development
docker-dev:
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
docker-dev-build:
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build
# Docker database
docker-db-shell:
docker-compose exec postgres psql -U postgres -d booking_system
docker-db-backup:
docker-compose exec postgres pg_dump -U postgres booking_system > backup_$$(date +%Y%m%d_%H%M%S).sql
docker-db-restore:
@read -p "Enter backup file path: " file; \
docker-compose exec -T postgres psql -U postgres booking_system < $$file
# Docker testing
docker-test:
docker-compose exec api go test ./...
docker-test-coverage:
docker-compose exec api go test -cover ./...
# Docker utilities
docker-shell:
docker-compose exec api /bin/sh
docker-rebuild:
docker-compose up -d --build api
docker-health:
@echo "API Health:"; curl -s http://localhost:8080/health | jq .
@echo "\nDatabase Health:"; docker-compose exec postgres pg_isready -U postgres