@echo off setlocal set "ROOT=%~dp0" cd /d "%ROOT%" echo [1/6] Checking Docker... where docker >nul 2>nul if errorlevel 1 ( echo Docker Desktop was not found in PATH. pause exit /b 1 ) echo [2/6] Starting mysql, redis and minio... docker compose up -d mysql redis minio if errorlevel 1 ( echo Failed to start docker services. pause exit /b 1 ) if not exist "%ROOT%backend\.env" ( echo Missing backend\.env pause exit /b 1 ) set "PYTHON_CMD=" where py >nul 2>nul if not errorlevel 1 set "PYTHON_CMD=py -3" if not defined PYTHON_CMD ( where python >nul 2>nul if not errorlevel 1 set "PYTHON_CMD=python" ) if not defined PYTHON_CMD ( echo Python was not found in PATH. pause exit /b 1 ) if not exist "%ROOT%backend\.venv\Scripts\python.exe" ( echo [3/6] Creating backend virtual environment... call %PYTHON_CMD% -m venv "%ROOT%backend\.venv" if errorlevel 1 ( echo Failed to create backend virtual environment. pause exit /b 1 ) echo [4/6] Installing backend dependencies... call "%ROOT%backend\.venv\Scripts\python.exe" -m pip install --disable-pip-version-check -r "%ROOT%backend\requirements.txt" if errorlevel 1 ( echo Failed to install backend dependencies. pause exit /b 1 ) ) else ( echo [3/6] Backend virtual environment already exists. ) if not exist "%ROOT%node_modules" ( echo [5/6] Installing frontend dependencies... call npm install if errorlevel 1 ( echo Failed to install frontend dependencies. pause exit /b 1 ) ) else ( echo [5/6] Frontend dependencies already exist. ) echo [6/6] Starting backend and unified frontend... start "AIVideo Backend" cmd /k "cd /d ""%ROOT%backend"" && ""%ROOT%backend\.venv\Scripts\python.exe"" -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000" start "AIVideo Frontend" cmd /k "cd /d ""%ROOT%"" && npm run dev" echo. echo User UI: http://localhost:3000 echo Admin UI: http://localhost:3000/admin/login echo API: http://localhost:8000 echo. echo Two windows have been opened for backend and frontend. pause