Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
68 lines (51 loc) · 2.51 KB
/
Copy pathMakefile
File metadata and controls
68 lines (51 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
.PHONY: help check check-backend check-frontend docker-build docker-migrate docker-up docker-down \
backend-dev frontend-dev backend-setup frontend-setup
# Default target
help:
@echo "QueryGateway — available targets:"
@echo ""
@echo " make setup Install all dependencies (backend + frontend)"
@echo " make check Run all linting, type-checks, and tests"
@echo " make check-backend Run backend checks (ruff, mypy, pytest)"
@echo " make check-frontend Run frontend checks (eslint, prettier, vitest)"
@echo " make docker-build Build all Docker images"
@echo " make docker-migrate Run the one-shot Docker migration service"
@echo " make docker-up Run migrations and start all services via docker compose"
@echo " make docker-down Stop all services"
@echo " make backend-dev Start backend dev server"
@echo " make frontend-dev Start frontend dev server"
# ─── Setup ───────────────────────────────────────────────────────────────────
setup: backend-setup frontend-setup
backend-setup:
cd backend && python -m venv .venv && \
. .venv/bin/activate && \
pip install --upgrade pip && \
pip install -r requirements.txt
frontend-setup:
cd frontend && npm install
# ─── Checks ──────────────────────────────────────────────────────────────────
check: check-backend check-frontend docker-build
check-backend:
cd backend && . .venv/bin/activate && \
ruff check . && \
mypy . && \
pytest
check-frontend:
cd frontend && \
npm run eslint && \
npm run prettier:check && \
npm run test
# ─── Docker ──────────────────────────────────────────────────────────────────
docker-build:
docker compose build
docker-migrate:
docker compose up --build --force-recreate migrate
docker-up:
docker compose up -d
docker-down:
docker compose down
# ─── Dev servers ─────────────────────────────────────────────────────────────
backend-dev:
cd backend && . .venv/bin/activate && uvicorn app.main:app --reload
frontend-dev:
cd frontend && npm run dev