2026-05-13 00:18:34 +02:00
|
|
|
.PHONY: help db dev css seed migrate test lint shell superuser collectstatic
|
2026-05-08 14:26:48 +02:00
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
.DEFAULT_GOAL := help
|
2026-05-08 14:26:48 +02:00
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
help: ## List available make targets
|
|
|
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
|
|
|
|
|
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
|
2026-05-08 14:26:48 +02:00
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
db: ## Start PostgreSQL via Docker (skips if already reachable on :5432)
|
|
|
|
|
@if nc -z localhost 5432 2>/dev/null; then \
|
|
|
|
|
echo "✓ DB bereits erreichbar auf :5432 — kein Docker-Start nötig"; \
|
|
|
|
|
else \
|
|
|
|
|
docker compose -f docker-compose.dev.yml up -d; \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dev: ## Start Django dev server on :9000
|
|
|
|
|
uv run manage.py runserver 0.0.0.0:9000
|
|
|
|
|
|
|
|
|
|
css: ## Start Tailwind CSS watcher (Vite, rebuild on change)
|
2026-05-08 14:26:48 +02:00
|
|
|
npm run dev
|
|
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
seed: ## Load dev seed data — users, one Ausschreibung, Lose, etc. (idempotent)
|
|
|
|
|
uv run manage.py seed_dev
|
|
|
|
|
|
|
|
|
|
superuser: ## Create a Django superuser for /admin/ access
|
|
|
|
|
uv run manage.py createsuperuser
|
|
|
|
|
|
|
|
|
|
migrate: ## Generate and apply all pending migrations
|
2026-05-08 14:26:48 +02:00
|
|
|
uv run manage.py makemigrations
|
|
|
|
|
uv run manage.py migrate
|
|
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
test: ## Run the full pytest test suite
|
2026-05-08 14:26:48 +02:00
|
|
|
uv run pytest
|
|
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
lint: ## Run ruff (style) and mypy (types)
|
2026-05-08 14:26:48 +02:00
|
|
|
uv run ruff check .
|
|
|
|
|
uv run mypy vergabe_teilnahme/
|
|
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
shell: ## Open a Django shell (shell_plus if available)
|
|
|
|
|
uv run manage.py shell_plus 2>/dev/null || uv run manage.py shell
|
2026-05-08 14:26:48 +02:00
|
|
|
|
2026-05-13 00:18:34 +02:00
|
|
|
collectstatic: ## Collect static files into staticfiles/ (production step)
|
2026-05-08 14:26:48 +02:00
|
|
|
uv run manage.py collectstatic --noinput
|