#!/bin/bash # Visual Workflow Builder - Setup Verification Script echo "🔍 Verifying Visual Workflow Builder Setup..." echo "" ERRORS=0 # Check if we're in the right directory if [ ! -d "frontend" ] || [ ! -d "backend" ]; then echo "❌ Error: Please run this script from the visual_workflow_builder directory" exit 1 fi echo "📁 Checking directory structure..." # Frontend directories FRONTEND_DIRS=( "frontend/src" "frontend/src/components/Canvas" "frontend/src/components/Palette" "frontend/src/components/PropertiesPanel" "frontend/src/components/TargetSelector" "frontend/src/models" "frontend/src/services" "frontend/src/store" "frontend/src/utils" "frontend/public" "frontend/tests" ) for dir in "${FRONTEND_DIRS[@]}"; do if [ -d "$dir" ]; then echo " ✅ $dir" else echo " ❌ Missing: $dir" ERRORS=$((ERRORS + 1)) fi done # Backend directories BACKEND_DIRS=( "backend/api" "backend/models" "backend/services" "backend/utils" "backend/tests" ) for dir in "${BACKEND_DIRS[@]}"; do if [ -d "$dir" ]; then echo " ✅ $dir" else echo " ❌ Missing: $dir" ERRORS=$((ERRORS + 1)) fi done echo "" echo "📄 Checking configuration files..." # Frontend config files FRONTEND_FILES=( "frontend/package.json" "frontend/tsconfig.json" "frontend/webpack.config.js" "frontend/.eslintrc.json" "frontend/jest.config.js" "frontend/src/index.tsx" "frontend/src/App.tsx" "frontend/public/index.html" ) for file in "${FRONTEND_FILES[@]}"; do if [ -f "$file" ]; then echo " ✅ $file" else echo " ❌ Missing: $file" ERRORS=$((ERRORS + 1)) fi done # Backend config files BACKEND_FILES=( "backend/app.py" "backend/requirements.txt" "backend/.env.example" "backend/pytest.ini" "backend/api/workflows.py" "backend/api/templates.py" "backend/api/node_types.py" "backend/api/executions.py" "backend/api/websocket_handlers.py" ) for file in "${BACKEND_FILES[@]}"; do if [ -f "$file" ]; then echo " ✅ $file" else echo " ❌ Missing: $file" ERRORS=$((ERRORS + 1)) fi done echo "" echo "🔧 Checking system dependencies..." # Check Node.js if command -v node &> /dev/null; then NODE_VERSION=$(node --version) echo " ✅ Node.js: $NODE_VERSION" else echo " ❌ Node.js not found" ERRORS=$((ERRORS + 1)) fi # Check npm if command -v npm &> /dev/null; then NPM_VERSION=$(npm --version) echo " ✅ npm: $NPM_VERSION" else echo " ❌ npm not found" ERRORS=$((ERRORS + 1)) fi # Check Python if command -v python3 &> /dev/null; then PYTHON_VERSION=$(python3 --version) echo " ✅ Python: $PYTHON_VERSION" else echo " ❌ Python 3 not found" ERRORS=$((ERRORS + 1)) fi # Check pip if command -v pip3 &> /dev/null; then PIP_VERSION=$(pip3 --version | cut -d' ' -f2) echo " ✅ pip: $PIP_VERSION" else echo " ❌ pip3 not found" ERRORS=$((ERRORS + 1)) fi echo "" echo "📊 Summary:" echo " Total checks: $((${#FRONTEND_DIRS[@]} + ${#BACKEND_DIRS[@]} + ${#FRONTEND_FILES[@]} + ${#BACKEND_FILES[@]} + 4))" echo " Errors: $ERRORS" if [ $ERRORS -eq 0 ]; then echo "" echo "✅ Setup verification passed!" echo "" echo "Next steps:" echo " 1. Install dependencies:" echo " cd frontend && npm install" echo " cd backend && pip install -r requirements.txt" echo "" echo " 2. Start the application:" echo " ./start.sh" echo "" exit 0 else echo "" echo "❌ Setup verification failed with $ERRORS errors" echo "Please check the missing files/directories above" exit 1 fi