功能特性: - ✅ 完整的后端API (FastAPI) - ✅ 图片处理管线 (PaddleOCR + OpenCV) - ✅ 手写去除功能 - ✅ Elasticsearch全文搜索 - ✅ MinIO对象存储集成 - ✅ Flutter跨平台前端架构 - ✅ Riverpod状态管理 - ✅ Docker容器化部署 技术栈: - 后端: Python 3.9+, FastAPI, PostgreSQL, Elasticsearch, Redis - 前端: Flutter 3.0+, Dart, Riverpod - 图像处理: PaddleOCR, OpenCV - 基础设施: Docker, MinIO 完成度: - 后端核心功能: 85% - 图片处理: 100% - 前端数据层: 100% - 前端UI: 20% 文档: - 需求规格说明书 - 技术设计文档 - API接口文档 - 实施进度文档 - 快速启动脚本 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
102 lines
2.5 KiB
Bash
Executable File
102 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 错题集应用 - 开发环境启动脚本
|
|
|
|
echo "🚀 启动错题集应用开发环境..."
|
|
echo ""
|
|
|
|
# 检查Docker是否运行
|
|
if ! docker info > /dev/null 2>&1; then
|
|
echo "❌ Docker未运行,请先启动Docker"
|
|
exit 1
|
|
fi
|
|
|
|
# 启动Docker服务
|
|
echo "📦 启动Docker服务 (PostgreSQL, Elasticsearch, MinIO, Redis)..."
|
|
docker-compose up -d
|
|
|
|
# 等待服务就绪
|
|
echo "⏳ 等待服务启动..."
|
|
sleep 10
|
|
|
|
# 检查PostgreSQL
|
|
echo "🔍 检查PostgreSQL..."
|
|
until docker-compose exec -T postgres pg_isready > /dev/null 2>&1; do
|
|
echo " 等待PostgreSQL..."
|
|
sleep 2
|
|
done
|
|
echo "✅ PostgreSQL已就绪"
|
|
|
|
# 检查Elasticsearch
|
|
echo "🔍 检查Elasticsearch..."
|
|
until curl -s http://localhost:9200 > /dev/null 2>&1; do
|
|
echo " 等待Elasticsearch..."
|
|
sleep 2
|
|
done
|
|
echo "✅ Elasticsearch已就绪"
|
|
|
|
# 检查MinIO
|
|
echo "🔍 检查MinIO..."
|
|
until curl -s http://localhost:9000/minio/health/live > /dev/null 2>&1; do
|
|
echo " 等待MinIO..."
|
|
sleep 2
|
|
done
|
|
echo "✅ MinIO已就绪"
|
|
|
|
echo ""
|
|
echo "✅ 所有服务已启动!"
|
|
echo ""
|
|
echo "📝 服务地址:"
|
|
echo " - 后端API: http://localhost:8000"
|
|
echo " - API文档: http://localhost:8000/docs"
|
|
echo " - PostgreSQL: localhost:5432"
|
|
echo " - Elasticsearch: http://localhost:9200"
|
|
echo " - MinIO控制台: http://localhost:9001 (minioadmin/minioadmin)"
|
|
echo " - Redis: localhost:6379"
|
|
echo ""
|
|
|
|
# 询问是否启动后端
|
|
read -p "🤔 是否启动后端API服务? (y/n): " start_backend
|
|
|
|
if [ "$start_backend" = "y" ] || [ "$start_backend" = "Y" ]; then
|
|
echo ""
|
|
echo "🐍 启动后端API服务..."
|
|
echo " (使用 Ctrl+C 停止)"
|
|
echo ""
|
|
|
|
cd backend
|
|
|
|
# 检查虚拟环境
|
|
if [ ! -d "venv" ]; then
|
|
echo "📦 创建Python虚拟环境..."
|
|
python3 -m venv venv
|
|
fi
|
|
|
|
# 激活虚拟环境
|
|
source venv/bin/activate
|
|
|
|
# 安装依赖
|
|
echo "📦 安装Python依赖..."
|
|
pip install -q -r requirements.txt
|
|
|
|
# 启动服务
|
|
echo ""
|
|
echo "✅ 后端服务启动中..."
|
|
echo ""
|
|
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
|
else
|
|
echo ""
|
|
echo "💡 要启动后端服务,请运行:"
|
|
echo " cd backend"
|
|
echo " pip install -r requirements.txt"
|
|
echo " uvicorn app.main:app --reload"
|
|
echo ""
|
|
echo "💡 要启动前端应用,请运行:"
|
|
echo " cd frontend"
|
|
echo " flutter pub get"
|
|
echo " flutter pub run build_runner build --delete-conflicting-outputs"
|
|
echo " flutter run"
|
|
echo ""
|
|
echo "📖 查看完整文档: IMPLEMENTATION_STATUS.md"
|
|
fi
|