This commit is contained in:
Iliyan Angelov
2025-11-24 16:51:38 +02:00
parent 0b1cabcfaf
commit 2f6dca736a
16935 changed files with 249 additions and 1968289 deletions

249
clean-for-deploy.sh Executable file
View File

@@ -0,0 +1,249 @@
#!/bin/bash
# Clean script for GNX Web Application - Prepares project for deployment
# This script removes all cache files, build artifacts, and temporary files
set -e
echo "🧹 Cleaning GNX Web Application for deployment..."
echo ""
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Function to safely remove directories
remove_dir() {
if [ -d "$1" ]; then
echo -e "${YELLOW}Removing: $1${NC}"
rm -rf "$1"
echo -e "${GREEN}✅ Removed: $1${NC}"
fi
}
# Function to safely remove files
remove_file() {
if [ -f "$1" ]; then
echo -e "${YELLOW}Removing: $1${NC}"
rm -f "$1"
echo -e "${GREEN}✅ Removed: $1${NC}"
fi
}
# Function to find and remove files by pattern
remove_pattern() {
find . -name "$1" -type f -not -path "./.git/*" -not -path "./node_modules/*" 2>/dev/null | while read -r file; do
echo -e "${YELLOW}Removing: $file${NC}"
rm -f "$file"
done
echo -e "${GREEN}✅ Cleaned: $1${NC}"
}
# Function to find and remove directories by pattern
remove_dir_pattern() {
find . -name "$1" -type d -not -path "./.git/*" -not -path "./node_modules/*" 2>/dev/null | while read -r dir; do
echo -e "${YELLOW}Removing: $dir${NC}"
rm -rf "$dir"
done
echo -e "${GREEN}✅ Cleaned: $1${NC}"
}
echo "📦 Step 1: Stopping Docker containers (if running)..."
docker-compose down 2>/dev/null || true
echo ""
echo "📦 Step 2: Removing Docker volumes (optional - uncomment if needed)..."
# Uncomment the next line if you want to remove Docker volumes (WARNING: This deletes database data!)
# docker-compose down -v 2>/dev/null || true
echo ""
echo "📦 Step 3: Removing Docker build cache..."
docker system prune -f --volumes 2>/dev/null || true
echo ""
echo "🐍 Step 4: Cleaning Python artifacts..."
# Remove Python cache directories
remove_dir_pattern "__pycache__"
# Remove Python compiled files
remove_pattern "*.pyc"
remove_pattern "*.pyo"
remove_pattern "*.pyd"
# Remove Python egg files
remove_pattern "*.egg"
remove_dir_pattern "*.egg-info"
# Remove Python virtual environments
remove_dir "backEnd/venv"
remove_dir "frontEnd/venv"
remove_dir ".venv"
remove_dir "venv"
remove_dir "env"
remove_dir "ENV"
# Remove Python build directories
remove_dir "backEnd/build"
remove_dir "backEnd/dist"
remove_dir "frontEnd/build"
remove_dir "frontEnd/dist"
# Remove Python test artifacts
remove_dir ".pytest_cache"
remove_dir ".coverage"
remove_dir "htmlcov"
remove_dir ".tox"
remove_dir ".mypy_cache"
remove_file ".dmypy.json"
remove_file "dmypy.json"
echo ""
echo "📦 Step 5: Cleaning Node.js artifacts..."
# Remove node_modules
remove_dir "frontEnd/node_modules"
# Remove Next.js build artifacts
remove_dir "frontEnd/.next"
remove_dir "frontEnd/out"
remove_dir "frontEnd/build"
remove_dir "frontEnd/.pnp"
remove_file "frontEnd/.pnp.js"
# Remove TypeScript build info
remove_pattern "*.tsbuildinfo"
remove_file "frontEnd/next-env.d.ts"
# Remove package manager files
remove_file "frontEnd/.yarn/install-state.gz"
echo ""
echo "📝 Step 6: Cleaning log files..."
# Remove log files
remove_pattern "*.log"
remove_dir "backEnd/logs"
remove_file "frontEnd/dev.log"
remove_file "frontEnd/npm-debug.log*"
remove_file "frontEnd/yarn-debug.log*"
remove_file "frontEnd/yarn-error.log*"
echo ""
echo "🗄️ Step 7: Cleaning database files..."
# Remove SQLite databases (keep if you need them, but typically not for deployment)
# Uncomment if you want to remove SQLite files
# remove_file "backEnd/db.sqlite3"
# remove_pattern "*.db"
# remove_pattern "*.sqlite"
# remove_pattern "*.sqlite3"
# Remove migration marker files
remove_file ".migrated_to_postgres"
echo ""
echo "📁 Step 8: Cleaning static files (will be regenerated on build)..."
# Remove collected static files (they'll be regenerated)
remove_dir "backEnd/staticfiles"
echo ""
echo "💾 Step 9: Cleaning backup files..."
# Remove backup files
remove_pattern "*.backup"
remove_pattern "*.bak"
remove_pattern "*~"
remove_pattern "*.swp"
remove_pattern "*.swo"
remove_dir "backups"
echo ""
echo "🖥️ Step 10: Cleaning IDE and OS files..."
# Remove IDE directories
remove_dir ".vscode"
remove_dir ".idea"
remove_dir "backEnd/.vscode"
remove_dir "backEnd/.idea"
remove_dir "frontEnd/.vscode"
remove_dir "frontEnd/.idea"
# Remove OS files
remove_pattern ".DS_Store"
remove_pattern "Thumbs.db"
remove_pattern ".DS_Store?"
echo ""
echo "🔐 Step 11: Cleaning environment files (keeping examples)..."
# Remove local env files (keep examples)
remove_file ".env.local"
remove_file ".env.development.local"
remove_file ".env.test.local"
remove_file ".env.production.local"
remove_file "frontEnd/.env.local"
remove_file "frontEnd/.env.development.local"
remove_file "frontEnd/.env.test.local"
remove_file "frontEnd/.env.production.local"
# Note: We keep .env.production as it's needed for deployment
echo -e "${YELLOW}⚠️ Note: .env.production is kept (needed for deployment)${NC}"
echo ""
echo "📦 Step 12: Cleaning other artifacts..."
# Remove coverage directories
remove_dir "coverage"
remove_dir ".nyc_output"
remove_dir "frontEnd/coverage"
# Remove vercel directory
remove_dir "frontEnd/.vercel"
# Remove certificate files (if any)
remove_pattern "*.pem"
echo ""
echo "🧹 Step 13: Final cleanup..."
# Remove any remaining temporary files
find . -name "*.tmp" -type f -not -path "./.git/*" 2>/dev/null | while read -r file; do
remove_file "$file"
done
# Remove empty directories (optional - be careful with this)
# find . -type d -empty -not -path "./.git/*" -not -path "./node_modules/*" -delete 2>/dev/null || true
echo ""
echo "✅ Cleanup complete!"
echo ""
echo "📋 Summary:"
echo " - Python cache files removed"
echo " - Virtual environments removed"
echo " - Node.js artifacts removed"
echo " - Build artifacts removed"
echo " - Log files removed"
echo " - IDE/OS files removed"
echo ""
echo "⚠️ Important notes:"
echo " - .env.production is kept (needed for deployment)"
echo " - Media files are kept (user uploads)"
echo " - Docker volumes were NOT removed (database data preserved)"
echo " - If you need a complete clean, uncomment Docker volume removal in the script"
echo ""
echo "🚀 Project is now ready for deployment!"
echo " Run: ./docker-start.sh to start the stack"