#!/usr/bin/env python3 """ Verification script for VFX Project Management System setup """ import sys import subprocess import time from pathlib import Path def test_backend(): """Test backend setup""" print("Testing backend setup...") # Test imports try: sys.path.append('backend') from main import app from fastapi.testclient import TestClient client = TestClient(app) response = client.get('/health') if response.status_code == 200: print("✓ Backend API is working") print(f" Health check response: {response.json()}") return True else: print(f"✗ Backend health check failed: {response.status_code}") return False except Exception as e: print(f"✗ Backend test failed: {e}") return False def test_frontend(): """Test frontend setup""" print("Testing frontend setup...") try: # Check if node_modules exists frontend_dir = Path("frontend") node_modules = frontend_dir / "node_modules" if not node_modules.exists(): print("✗ Frontend dependencies not installed") return False # Test build result = subprocess.run( ["npm", "run", "build"], cwd=frontend_dir, capture_output=True, text=True, shell=True ) if result.returncode == 0: print("✓ Frontend builds successfully") return True else: print(f"✗ Frontend build failed: {result.stderr}") return False except Exception as e: print(f"✗ Frontend test failed: {e}") return False def main(): """Main verification function""" print("VFX Project Management System - Setup Verification") print("=" * 55) backend_ok = test_backend() frontend_ok = test_frontend() print("\n" + "=" * 55) if backend_ok and frontend_ok: print("✓ All tests passed! Setup is complete.") print("\nTo start development:") print("1. Backend: cd backend && uvicorn main:app --reload") print("2. Frontend: cd frontend && npm run dev") return 0 else: print("✗ Some tests failed. Please check the setup.") return 1 if __name__ == "__main__": sys.exit(main())