Yuvraj Sarathe commited on
Commit
fa8f11a
·
1 Parent(s): c052a5d

Makefile created

Browse files
Files changed (1) hide show
  1. Makefile +71 -0
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