# Math Platform - Makefile # Quick commands for development and deployment .PHONY: help start stop restart build test logs health backup restore monitor validate clean # Default target help: @echo "Math Platform - Available Commands:" @echo "" @echo "Development:" @echo " make start - Start all services" @echo " make stop - Stop all services" @echo " make restart - Restart all services" @echo " make build - Build Docker images" @echo " make rebuild - Rebuild images without cache" @echo "" @echo "Testing & Validation:" @echo " make test - Run E2E tests" @echo " make health - Run health check" @echo " make validate - Validate deployment readiness" @echo " make monitor - Real-time monitoring" @echo "" @echo "Database:" @echo " make migrate - Run database migrations" @echo " make seed - Seed database" @echo " make studio - Open Prisma Studio" @echo " make backup - Create database backup" @echo " make restore - Restore from backup" @echo "" @echo "Logs & Debugging:" @echo " make logs - View all logs" @echo " make logs-be - View backend logs" @echo " make logs-fe - View frontend logs" @echo " make ps - Show running containers" @echo "" @echo "Maintenance:" @echo " make clean - Clean Docker resources" @echo " make prune - Remove unused Docker resources" # Start services start: @echo "Starting Math Platform services..." @./docker/start.sh # Stop services stop: @echo "Stopping Math Platform services..." @./docker/stop.sh # Restart services restart: @echo "Restarting Math Platform services..." @./docker/stop.sh @./docker/start.sh # Build Docker images build: @echo "Building Docker images..." @docker-compose build # Rebuild without cache rebuild: @echo "Rebuilding Docker images (no cache)..." @docker-compose build --no-cache # Run E2E tests test: @echo "Running E2E tests..." @./scripts/test-e2e.sh # Health check health: @echo "Checking system health..." @./scripts/health-check.sh # Validate deployment validate: @echo "Validating deployment readiness..." @./scripts/validate-deployment.sh # Monitor services monitor: @echo "Starting real-time monitor..." @./scripts/monitor.sh # Database migrations migrate: @echo "Running database migrations..." @docker-compose exec backend npx prisma migrate deploy # Seed database seed: @echo "Seeding database..." @docker-compose exec backend npm run prisma:seed # Prisma Studio studio: @echo "Opening Prisma Studio..." @docker-compose exec backend npx prisma studio # Database backup backup: @echo "Creating database backup..." @./docker/backup.sh # Restore from backup restore: @echo "Available backups:" @./docker/backup.sh --list @echo "\nUsage: make restore FILE=path/to/backup.sql.gz" # View logs logs: @docker-compose logs -f # Backend logs logs-be: @docker-compose logs -f backend # Frontend logs logs-fe: @docker-compose logs -f frontend # Show running containers ps: @docker-compose ps # Clean Docker resources clean: @echo "Stopping and removing containers..." @docker-compose down @echo "Removing orphaned containers..." @docker-compose down --remove-orphans # Prune unused Docker resources prune: @echo "Pruning unused Docker resources..." @docker system prune -f @echo "Pruning unused images..." @docker image prune -a -f