|
|
.PHONY: help install run test clean docker-build docker-run |
|
|
|
|
|
# Default target |
|
|
help: |
|
|
@echo "🚀 Crypto Dashboard - Available Commands:" |
|
|
@echo "" |
|
|
@echo " make install - نصب وابستگیها" |
|
|
@echo " make run - اجرای برنامه" |
|
|
@echo " make test - اجرای تستها" |
|
|
@echo " make dev - اجرا در حالت development با reload" |
|
|
@echo " make clean - پاکسازی فایلهای موقت" |
|
|
@echo " make docker-build - ساخت Docker image" |
|
|
@echo " make docker-run - اجرای Docker container" |
|
|
@echo " make lint - بررسی کد با flake8" |
|
|
@echo " make format - فرمت کردن کد با black" |
|
|
@echo "" |
|
|
|
|
|
# Install dependencies |
|
|
install: |
|
|
@echo "📦 Installing dependencies..." |
|
|
pip install -r requirements.txt |
|
|
@echo "✅ Installation complete!" |
|
|
|
|
|
# Run the application |
|
|
run: |
|
|
@echo "🚀 Starting Crypto Dashboard..." |
|
|
python app.py |
|
|
|
|
|
# Run in development mode with auto-reload |
|
|
dev: |
|
|
@echo "🔧 Starting in development mode..." |
|
|
uvicorn app:app --host 0.0.0.0 --port 7860 --reload |
|
|
|
|
|
# Run tests |
|
|
test: |
|
|
@echo "🧪 Running tests..." |
|
|
python test.py |
|
|
|
|
|
# Clean temporary files |
|
|
clean: |
|
|
@echo "🧹 Cleaning temporary files..." |
|
|
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true |
|
|
find . -type f -name "*.pyc" -delete 2>/dev/null || true |
|
|
find . -type f -name "*.pyo" -delete 2>/dev/null || true |
|
|
find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true |
|
|
@echo "✅ Cleanup complete!" |
|
|
|
|
|
# Docker build |
|
|
docker-build: |
|
|
@echo "🐳 Building Docker image..." |
|
|
docker build -t crypto-dashboard . |
|
|
@echo "✅ Docker image built successfully!" |
|
|
|
|
|
# Docker run |
|
|
docker-run: |
|
|
@echo "🐳 Running Docker container..." |
|
|
docker run -p 7860:7860 crypto-dashboard |
|
|
|
|
|
# Lint code |
|
|
lint: |
|
|
@echo "🔍 Linting code..." |
|
|
pip install flake8 2>/dev/null || true |
|
|
flake8 app.py --max-line-length=120 |
|
|
@echo "✅ Linting complete!" |
|
|
|
|
|
# Format code |
|
|
format: |
|
|
@echo "🎨 Formatting code..." |
|
|
pip install black 2>/dev/null || true |
|
|
black app.py |
|
|
@echo "✅ Formatting complete!" |
|
|
|
|
|
# Deploy to Railway |
|
|
deploy-railway: |
|
|
@echo "🚂 Deploying to Railway..." |
|
|
railway up |
|
|
@echo "✅ Deployment complete!" |
|
|
|
|
|
# Show project info |
|
|
info: |
|
|
@echo "📊 Project Information:" |
|
|
@echo "" |
|
|
@echo " Name: Crypto Dashboard" |
|
|
@echo " Version: 1.0.0" |
|
|
@echo " Python: `python --version`" |
|
|
@echo " Dependencies: `pip list | wc -l` packages" |
|
|
@echo "" |
|
|
|