.PHONY: help build up down restart logs shell test clean install db-migrate # Default target help: @echo "Available commands:" @echo " make install - Install Python dependencies" @echo " make build - Build Docker image" @echo " make up - Start Docker containers" @echo " make down - Stop Docker containers" @echo " make restart - Restart Docker containers" @echo " make logs - Show Docker logs" @echo " make shell - Open shell in container" @echo " make test - Run tests" @echo " make clean - Clean up containers and volumes" @echo " make db-migrate - Create database tables" # Install dependencies install: @echo "Installing dependencies..." pip3 install -r requirements.txt # Build Docker image build: @echo "Building Docker image..." docker-compose build # Start containers up: @echo "Starting containers..." docker-compose up -d @echo "✅ Application started at http://localhost:8000" @echo "📚 API Documentation: http://localhost:8000/api/v1/docs" # Stop containers down: @echo "Stopping containers..." docker-compose down # Restart containers restart: down up # Show logs logs: docker-compose logs -f app # Open shell in container shell: docker-compose exec app bash # Run tests test: @echo "Running tests..." python3 -m pytest tests/ -v # Clean up clean: @echo "Cleaning up..." docker-compose down -v rm -rf data/*.db rm -rf uploads/* # Create database tables db-migrate: @echo "Creating database tables..." python3 -c "from apiApp.database import Base, engine; Base.metadata.create_all(bind=engine); print('✅ Database tables created')" # Development run dev: @echo "Starting development server..." python3 run.py # Format code format: @echo "Formatting code..." black apiApp/ isort apiApp/ # Lint code lint: @echo "Linting code..." flake8 apiApp/ mypy apiApp/