Files
QQuiz/scripts/start_with_docker_db.bat
handsomezhuzhu a01f3540c5 feat: 实现数据库驱动的API配置管理和项目结构重组
## 新功能
- 实现管理后台API配置管理(OpenAI/Anthropic/Qwen)
- API配置保存到数据库,实时生效无需重启
- API密钥遮罩显示(前10位+后4位)
- 完整endpoint URL自动显示

## 后端改进
- 新增 config_service.py 用于加载数据库配置
- LLMService 支持动态配置注入,回退到环境变量
- 更新 exam.py 和 question.py 使用数据库配置
- 扩展 schemas.py 支持所有API配置字段

## 前端改进
- 重写 AdminSettings.jsx 增强UI体验
- API密钥显示/隐藏切换
- 当前使用的提供商可视化标识
- 移除"需要重启"的误导性提示

## 项目结构重组
- 移动所有脚本到 scripts/ 目录
- 移动所有文档到 docs/ 目录
- 清理 Python 缓存文件

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 19:24:12 +08:00

75 lines
2.1 KiB
Batchfile

@echo off
title QQuiz - Start with Docker Database
color 0B
echo.
echo ========================================
echo QQuiz - Starting with Docker DB
echo ========================================
echo.
cd /d "%~dp0.."
echo [1/4] Checking Docker...
docker --version >nul 2>&1
if %errorlevel% neq 0 (
echo ERROR: Docker not found!
echo Please install Docker Desktop from https://www.docker.com/
pause
exit /b 1
)
echo OK - Docker installed
echo.
echo [2/4] Starting MySQL in Docker...
docker-compose up -d mysql
if %errorlevel% neq 0 (
echo ERROR: Failed to start MySQL
echo Try: docker-compose down
echo Then run this script again
pause
exit /b 1
)
echo OK - MySQL started
echo Waiting for database to be ready...
echo.
timeout /t 10 /nobreak >nul
echo.
echo [3/4] Starting Backend...
start "QQuiz Backend" cmd /k "cd /d %~dp0..backend && call venv\Scripts\activate.bat && echo ======================================== && echo QQuiz Backend Server && echo ======================================== && echo. && echo API: http://localhost:8000 && echo Docs: http://localhost:8000/docs && echo. && alembic upgrade head && echo. && uvicorn main:app --reload"
echo Waiting for backend to start...
timeout /t 8 /nobreak >nul
echo.
echo [4/4] Starting Frontend...
start "QQuiz Frontend" cmd /k "cd /d %~dp0..frontend && echo ======================================== && echo QQuiz Frontend Server && echo ======================================== && echo. && echo URL: http://localhost:3000 && echo. && npm start"
echo.
echo ========================================
echo SUCCESS! QQuiz is starting...
echo ========================================
echo.
echo Frontend: http://localhost:3000
echo Backend: http://localhost:8000
echo Database: Running in Docker
echo.
echo Login:
echo Username: admin
echo Password: admin123
echo.
echo ========================================
echo.
timeout /t 5 /nobreak >nul
start http://localhost:3000
echo System running...
echo To stop: Close the backend/frontend windows
echo To stop database: docker-compose down
echo.
pause