Document secure secrets and prune unused assets

This commit is contained in:
Simon
2025-12-13 01:35:56 +08:00
parent c4bb32b163
commit 1adf30d476
28 changed files with 157 additions and 1451 deletions

View File

@@ -1,5 +0,0 @@
@echo off
REM 激活虚拟环境的批处理脚本
cd /d "%~dp0..\backend"
call venv\Scripts\activate.bat
cmd /k

View File

@@ -1,89 +0,0 @@
@echo off
title QQuiz - System Status Check
cd /d "%~dp0.."
echo.
echo ========================================
echo QQuiz System Status Check
echo ========================================
echo.
echo [1] Checking Python...
python --version
if %errorlevel% neq 0 (
echo ERROR: Python not found!
) else (
echo OK
)
echo.
echo [2] Checking Node.js...
node --version
if %errorlevel% neq 0 (
echo ERROR: Node.js not found!
) else (
echo OK
)
echo.
echo [3] Checking PostgreSQL...
psql --version
if %errorlevel% neq 0 (
echo WARNING: PostgreSQL command not found in PATH
) else (
echo OK
)
echo.
echo [4] Checking if backend is running...
curl -s http://localhost:8000/health >nul 2>&1
if %errorlevel% neq 0 (
echo ERROR: Backend is NOT running on port 8000
echo.
echo Backend must be started first!
echo Run the backend window manually:
echo cd backend
echo venv\Scripts\activate.bat
echo uvicorn main:app --reload
) else (
echo OK - Backend is running
)
echo.
echo [5] Checking if frontend is running...
curl -s http://localhost:3000 >nul 2>&1
if %errorlevel% neq 0 (
echo WARNING: Frontend is NOT running on port 3000
) else (
echo OK - Frontend is running
)
echo.
echo [6] Checking ports...
echo Checking port 8000 (Backend):
netstat -ano | findstr :8000
echo.
echo Checking port 3000 (Frontend):
netstat -ano | findstr :3000
echo.
echo [7] Checking .env configuration...
if exist ".env" (
echo OK - .env file exists
findstr /C:"OPENAI_API_KEY=sk-" .env >nul
if %errorlevel% neq 0 (
echo WARNING: OPENAI_API_KEY may not be configured properly
) else (
echo OK - API Key appears to be configured
)
) else (
echo ERROR: .env file not found!
)
echo.
echo ========================================
echo Diagnosis Complete
echo ========================================
echo.
pause

View File

@@ -1,140 +0,0 @@
@echo off
title QQuiz - Fix and Start
color 0E
echo.
echo ========================================
echo QQuiz - Automatic Fix and Start
echo ========================================
echo.
cd /d "%~dp0.."
REM Check if .env exists
if not exist ".env" (
echo Creating .env file...
copy .env.example .env >nul
echo.
echo IMPORTANT: Edit .env and set your OPENAI_API_KEY
echo Opening .env file...
timeout /t 2 /nobreak >nul
notepad .env
echo.
echo Save and close .env, then press any key to continue...
pause >nul
)
echo.
echo Choose database option:
echo.
echo [1] Use Docker (Recommended - Easy)
echo [2] Use Local PostgreSQL (Advanced)
echo.
choice /C 12 /M "Select option"
if %errorlevel% equ 1 (
echo.
echo Using Docker PostgreSQL...
echo.
REM Check Docker
docker --version >nul 2>&1
if %errorlevel% neq 0 (
echo ERROR: Docker not found!
echo.
echo Please install Docker Desktop:
echo https://www.docker.com/products/docker-desktop/
echo.
echo After installing Docker, run this script again.
pause
exit /b 1
)
echo Starting MySQL in Docker...
docker-compose up -d mysql
if %errorlevel% neq 0 (
echo.
echo Docker failed to start. Trying to fix...
docker-compose down
docker-compose up -d mysql
)
echo Waiting for database...
timeout /t 10 /nobreak >nul
) else (
echo.
echo Using Local MySQL...
echo.
echo Make sure MySQL is running on port 3306
echo.
echo If you see connection errors, you need to:
echo 1. Start MySQL service
echo 2. Or install MySQL from https://dev.mysql.com/downloads/installer/
echo 3. Or choose option 1 to use Docker instead
echo.
pause
)
echo.
echo ========================================
echo Starting Backend...
echo ========================================
echo.
cd backend
if not exist "venv\Scripts\activate.bat" (
echo Creating virtual environment...
python -m venv venv
)
echo Installing dependencies...
call venv\Scripts\activate.bat
pip install -q -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
echo.
echo Running database migrations...
alembic upgrade head
if %errorlevel% neq 0 (
echo.
echo WARNING: Database migration failed
echo The app will try to create tables automatically
echo.
)
cd ..
echo.
echo Starting services...
echo.
start "QQuiz Backend" cmd /k "cd /d %~dp0..backend && call venv\Scripts\activate.bat && echo Backend: http://localhost:8000 && echo Docs: http://localhost:8000/docs && echo. && uvicorn main:app --reload"
timeout /t 8 /nobreak >nul
start "QQuiz Frontend" cmd /k "cd /d %~dp0..frontend && echo Frontend: 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.
echo Login: admin / admin123
echo.
echo ========================================
echo.
timeout /t 5 /nobreak >nul
start http://localhost:3000
echo.
echo System is running...
echo Close backend/frontend windows to stop
echo.
pause

View File

@@ -1,48 +0,0 @@
@echo off
chcp 65001 >nul
echo ========================================
echo 重新构建并启动后端服务
echo ========================================
echo.
cd /d "%~dp0.."
echo [1/3] 停止后端容器...
docker-compose stop backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 停止后端失败
pause
exit /b 1
)
echo ✅ 后端已停止
echo.
echo [2/3] 重新构建后端镜像(这可能需要几分钟)...
docker-compose build backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 构建失败
pause
exit /b 1
)
echo ✅ 构建完成
echo.
echo [3/3] 启动后端容器...
docker-compose up -d backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 启动失败
pause
exit /b 1
)
echo ✅ 后端已启动
echo.
echo ========================================
echo 重新构建完成!
echo ========================================
echo.
echo 现在可以查看后端日志:
echo docker-compose logs -f backend
echo.
echo 或者按任意键退出...
pause >nul

View File

@@ -1,31 +0,0 @@
@echo off
title QQuiz - Restart Backend
color 0B
cd /d "%~dp0.."
echo.
echo ========================================
echo Restarting Backend Container
echo ========================================
echo.
echo Restarting backend...
docker-compose restart backend
echo.
echo Waiting for backend to start...
timeout /t 5 /nobreak >nul
echo.
echo ========================================
echo Backend Restarted!
echo ========================================
echo.
echo Backend URL: http://localhost:8000
echo API Docs: http://localhost:8000/docs
echo.
echo View logs: scripts\view_backend_logs.bat
echo.
pause

View File

@@ -1,60 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz Backend - 本地运行
echo.
echo ==========================================
echo QQuiz Backend - 本地启动
echo ==========================================
echo.
cd /d "%~dp0..\backend"
REM 检查虚拟环境是否存在
if not exist "venv\Scripts\activate.bat" (
echo [1/5] 创建虚拟环境...
python -m venv venv
echo [完成]
echo.
) else (
echo [1/5] 虚拟环境已存在
echo.
)
echo [2/5] 激活虚拟环境...
call venv\Scripts\activate.bat
echo [完成]
echo.
echo [3/5] 安装依赖...
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
if %errorlevel% neq 0 (
echo [错误] 依赖安装失败
pause
exit /b 1
)
echo [完成]
echo.
echo [4/5] 运行数据库迁移...
alembic upgrade head
if %errorlevel% neq 0 (
echo [警告] 数据库迁移失败,请检查 PostgreSQL 是否运行
echo.
)
echo.
echo [5/5] 启动后端服务...
echo.
echo ==========================================
echo 后端服务启动中...
echo ==========================================
echo.
echo API 地址: http://localhost:8000
echo API 文档: http://localhost:8000/docs
echo.
echo 按 Ctrl+C 停止服务
echo ==========================================
echo.
uvicorn main:app --reload

View File

@@ -1,44 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz Frontend - 本地运行
echo.
echo ==========================================
echo QQuiz Frontend - 本地启动
echo ==========================================
echo.
cd /d "%~dp0..\frontend"
REM 检查 node_modules 是否存在
if not exist "node_modules" (
echo [1/2] 安装前端依赖(首次运行需要几分钟)...
echo.
echo [提示] 使用淘宝镜像加速下载...
call npm config set registry https://registry.npmmirror.com
call npm install
if %errorlevel% neq 0 (
echo [错误] 依赖安装失败
pause
exit /b 1
)
echo [完成]
echo.
) else (
echo [1/2] 依赖已安装
echo.
)
echo [2/2] 启动前端服务...
echo.
echo ==========================================
echo 前端服务启动中...
echo ==========================================
echo.
echo 前端地址: http://localhost:3000
echo.
echo 按 Ctrl+C 停止服务
echo ==========================================
echo.
call npm start

View File

@@ -1,34 +0,0 @@
@echo off
cd /d "%~dp0.."
echo Creating .env configuration file...
echo.
(
echo DATABASE_URL=mysql+aiomysql://qquiz:qquiz_password@localhost:3306/qquiz_db
echo SECRET_KEY=qquiz-secret-key-for-development-change-in-production-32chars
echo AI_PROVIDER=openai
echo OPENAI_API_KEY=sk-your-openai-api-key-here
echo OPENAI_BASE_URL=https://api.openai.com/v1
echo OPENAI_MODEL=gpt-4o-mini
echo ALLOW_REGISTRATION=true
echo MAX_UPLOAD_SIZE_MB=10
echo MAX_DAILY_UPLOADS=20
echo CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
echo UPLOAD_DIR=./uploads
) > .env
echo Done! .env file created.
echo.
echo IMPORTANT: Please edit OPENAI_API_KEY in .env file
echo.
echo Opening .env file now...
timeout /t 2 /nobreak >nul
notepad .env
echo.
echo Configuration complete!
echo Now you can run: start_app.bat
echo.
pause

View File

@@ -1,44 +0,0 @@
@echo off
title QQuiz Backend Server
color 0B
echo.
echo ========================================
echo Starting QQuiz Backend Server
echo ========================================
echo.
cd /d "%~dp0..\backend"
if not exist "venv\Scripts\activate.bat" (
echo Creating virtual environment...
python -m venv venv
)
echo Activating virtual environment...
call venv\Scripts\activate.bat
echo.
echo Installing/updating dependencies...
pip install -q -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
echo.
echo Running database migrations...
alembic upgrade head
echo.
echo ========================================
echo Backend Server Starting...
echo ========================================
echo.
echo API URL: http://localhost:8000
echo API Docs: http://localhost:8000/docs
echo Health: http://localhost:8000/health
echo.
echo Press Ctrl+C to stop
echo ========================================
echo.
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
pause

View File

@@ -1,34 +0,0 @@
@echo off
title QQuiz Frontend Server
color 0B
echo.
echo ========================================
echo Starting QQuiz Frontend Server
echo ========================================
echo.
cd /d "%~dp0..\frontend"
if not exist "node_modules" (
echo Installing dependencies (first time only)...
call npm config set registry https://registry.npmmirror.com
call npm install
)
echo.
echo ========================================
echo Frontend Server Starting...
echo ========================================
echo.
echo Frontend URL: http://localhost:3000
echo.
echo Make sure backend is running on port 8000!
echo.
echo Press Ctrl+C to stop
echo ========================================
echo.
npm start
pause

View File

@@ -1,74 +0,0 @@
@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

View File

@@ -1,24 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 停止服务
cd /d "%~dp0.."
echo.
echo ==========================================
echo 停止 QQuiz 服务
echo ==========================================
echo.
docker-compose down
if %errorlevel% equ 0 (
echo.
echo [完成] 服务已停止
) else (
echo.
echo [错误] 停止服务失败
)
echo.
pause

View File

@@ -1,15 +0,0 @@
@echo off
title QQuiz - Backend Logs
color 0B
cd /d "%~dp0.."
echo.
echo ========================================
echo QQuiz Backend Logs (Real-time)
echo ========================================
echo.
echo Press Ctrl+C to stop viewing logs
echo.
docker-compose logs -f --tail=50 backend

View File

@@ -1,12 +0,0 @@
@echo off
chcp 65001 >nul
echo ========================================
echo 实时查看后端日志
echo ========================================
echo.
echo 按 Ctrl+C 可以停止查看日志
echo.
cd /d "%~dp0.."
docker-compose logs -f backend