Spaces:
Running
Running
Yuvraj Sarathe commited on
Commit ·
fa8f11a
1
Parent(s): c052a5d
Makefile created
Browse files
Makefile
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.PHONY: dev-backend dev-frontend dev test lint format install install-backend install-frontend build clean docker-up docker-down docker-logs help
|
| 2 |
+
|
| 3 |
+
BACKEND_DIR = backend
|
| 4 |
+
FRONTEND_DIR = frontend
|
| 5 |
+
BACKEND_PORT ?= 7860
|
| 6 |
+
|
| 7 |
+
help:
|
| 8 |
+
@echo "Usage:"
|
| 9 |
+
@echo " make dev-backend Start FastAPI (uvicorn) on port $(BACKEND_PORT)"
|
| 10 |
+
@echo " make dev-frontend Start Next.js dev server on port 3000"
|
| 11 |
+
@echo " make dev Start both backend and frontend concurrently"
|
| 12 |
+
@echo " make test Run pytest"
|
| 13 |
+
@echo " make lint Run flake8 (backend) + eslint (frontend)"
|
| 14 |
+
@echo " make format Auto-format Python with black (backend)"
|
| 15 |
+
@echo " make install Install all dependencies (backend + frontend)"
|
| 16 |
+
@echo " make install-backend Install Python dependencies"
|
| 17 |
+
@echo " make install-frontend Install Node.js dependencies"
|
| 18 |
+
@echo " make build Build frontend for production"
|
| 19 |
+
@echo " make clean Remove __pycache__, .next, build artifacts"
|
| 20 |
+
@echo " make docker-up Start all Docker services"
|
| 21 |
+
@echo " make docker-down Stop all Docker services"
|
| 22 |
+
@echo " make docker-logs Tail Docker logs"
|
| 23 |
+
|
| 24 |
+
dev-backend:
|
| 25 |
+
cd $(BACKEND_DIR) && uvicorn app.main:app --host 0.0.0.0 --port $(BACKEND_PORT) --reload
|
| 26 |
+
|
| 27 |
+
dev-frontend:
|
| 28 |
+
cd $(FRONTEND_DIR) && npm run dev
|
| 29 |
+
|
| 30 |
+
dev:
|
| 31 |
+
@echo "Starting backend (port $(BACKEND_PORT)) and frontend (port 3000)..."
|
| 32 |
+
$(MAKE) dev-backend & $(MAKE) dev-frontend & wait
|
| 33 |
+
|
| 34 |
+
test:
|
| 35 |
+
cd $(BACKEND_DIR) && python -m pytest -v
|
| 36 |
+
|
| 37 |
+
lint:
|
| 38 |
+
cd $(BACKEND_DIR) && flake8 .
|
| 39 |
+
cd $(FRONTEND_DIR) && npm run lint
|
| 40 |
+
|
| 41 |
+
format:
|
| 42 |
+
cd $(BACKEND_DIR) && black .
|
| 43 |
+
|
| 44 |
+
install: install-backend install-frontend
|
| 45 |
+
|
| 46 |
+
install-backend:
|
| 47 |
+
pip install -r $(BACKEND_DIR)/requirements.txt
|
| 48 |
+
|
| 49 |
+
install-frontend:
|
| 50 |
+
cd $(FRONTEND_DIR) && npm install
|
| 51 |
+
|
| 52 |
+
build:
|
| 53 |
+
cd $(FRONTEND_DIR) && npm run build
|
| 54 |
+
|
| 55 |
+
clean:
|
| 56 |
+
rm -rf .venv
|
| 57 |
+
rm -rf $(BACKEND_DIR)/__pycache__
|
| 58 |
+
rm -rf $(BACKEND_DIR)/**/__pycache__
|
| 59 |
+
rm -rf $(FRONTEND_DIR)/.next
|
| 60 |
+
rm -rf $(FRONTEND_DIR)/out
|
| 61 |
+
rm -rf $(FRONTEND_DIR)/build
|
| 62 |
+
rm -rf .pytest_cache
|
| 63 |
+
|
| 64 |
+
docker-up:
|
| 65 |
+
docker compose up -d
|
| 66 |
+
|
| 67 |
+
docker-down:
|
| 68 |
+
docker compose down
|
| 69 |
+
|
| 70 |
+
docker-logs:
|
| 71 |
+
docker compose logs -f
|