2026-03-16 20:44:01 +02:00
|
|
|
.PHONY: help dev build-frontend install run serve test deploy
|
2026-03-16 17:35:25 +02:00
|
|
|
|
|
|
|
|
FRONTEND_DIR := web/frontend
|
|
|
|
|
|
|
|
|
|
help:
|
|
|
|
|
@echo "Доступные цели:"
|
|
|
|
|
@echo " make install — установить зависимости frontend (npm install)"
|
|
|
|
|
@echo " make dev — запустить frontend в dev-режиме (vite, hot-reload)"
|
|
|
|
|
@echo " make build-frontend — собрать production-билд frontend в $(FRONTEND_DIR)/dist/"
|
2026-03-16 20:44:01 +02:00
|
|
|
@echo " make run — запустить API-сервер в dev-режиме (uvicorn --reload)"
|
|
|
|
|
@echo " make serve — запустить API-сервер в prod-режиме (uvicorn, без --reload)"
|
2026-03-16 17:35:25 +02:00
|
|
|
@echo " make test — запустить все тесты (pytest + vitest)"
|
2026-03-16 20:44:01 +02:00
|
|
|
@echo " make deploy — установить python-зависимости, собрать frontend и запустить prod-сервер"
|
2026-03-16 17:35:25 +02:00
|
|
|
|
|
|
|
|
install:
|
|
|
|
|
cd $(FRONTEND_DIR) && npm install
|
|
|
|
|
|
|
|
|
|
dev:
|
|
|
|
|
cd $(FRONTEND_DIR) && npm run dev
|
|
|
|
|
|
|
|
|
|
build-frontend:
|
|
|
|
|
cd $(FRONTEND_DIR) && npm run build
|
|
|
|
|
|
|
|
|
|
run:
|
|
|
|
|
uvicorn web.api:app --reload --host 0.0.0.0 --port 8000
|
|
|
|
|
|
2026-03-16 20:44:01 +02:00
|
|
|
serve:
|
|
|
|
|
uvicorn web.api:app --host 0.0.0.0 --port 8000
|
|
|
|
|
|
2026-03-16 17:35:25 +02:00
|
|
|
test:
|
|
|
|
|
pytest tests/
|
|
|
|
|
cd $(FRONTEND_DIR) && npm run test
|
|
|
|
|
|
2026-03-16 20:44:01 +02:00
|
|
|
deploy: build-frontend
|
2026-03-16 20:58:44 +02:00
|
|
|
python3.11 -m pip install -r requirements.txt
|
2026-03-16 20:44:01 +02:00
|
|
|
$(MAKE) serve
|