Skip to content

Commit 33287cf

Browse files
chore(dev): create Makefile for modular application
1 parent 942eb3d commit 33287cf

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

Makefile

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
.PHONY: help install test lint format clean run run-monolithic build docker-build docker-run
2+
3+
# Help command
4+
help:
5+
@echo "BINGO Application Makefile Commands"
6+
@echo ""
7+
@echo "Usage:"
8+
@echo " make install - Install dependencies"
9+
@echo " make run - Run the modular application"
10+
@echo " make run-monolithic - Run the original monolithic application"
11+
@echo " make test - Run tests"
12+
@echo " make lint - Run linters"
13+
@echo " make format - Format code"
14+
@echo " make clean - Clean build artifacts and cache"
15+
@echo " make build - Build the package"
16+
@echo " make docker-build - Build Docker image"
17+
@echo " make docker-run - Run Docker container"
18+
19+
# Install dependencies
20+
install:
21+
poetry install
22+
23+
# Run application (modular version)
24+
run:
25+
poetry run python app.py
26+
27+
# Run original monolithic application
28+
run-monolithic:
29+
poetry run python main.py
30+
31+
# Run tests
32+
test:
33+
poetry run pytest --cov=src
34+
35+
# Run lints
36+
lint:
37+
poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
38+
poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics
39+
poetry run black --check .
40+
poetry run isort --check .
41+
42+
# Format code
43+
format:
44+
poetry run black .
45+
poetry run isort .
46+
47+
# Clean build artifacts and cache
48+
clean:
49+
rm -rf dist
50+
rm -rf .pytest_cache
51+
rm -rf .coverage
52+
find . -type d -name "__pycache__" -exec rm -rf {} +
53+
54+
# Build package
55+
build:
56+
poetry build
57+
58+
# Docker commands
59+
docker-build:
60+
docker build -t bingo .
61+
62+
docker-run:
63+
docker run -p 8080:8080 bingo

0 commit comments

Comments
 (0)