kindergarten_java/reading-platform/start.sh
2026-02-28 16:41:39 +08:00

112 lines
2.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 幼儿阅读教学服务平台 - 启动脚本
echo "🚀 启动幼儿阅读教学服务平台..."
echo ""
# 检查项目目录
BACKEND_DIR="/Users/retirado/ccProgram/reading-platform-backend"
FRONTEND_DIR="/Users/retirado/ccProgram/reading-platform-frontend"
# 检查Node.js
if ! command -v node &> /dev/null; then
echo "❌ Node.js 未安装,请先安装 Node.js >= 18.0.0"
exit 1
fi
echo "✅ Node.js 版本: $(node --version)"
echo "✅ npm 版本: $(npm --version)"
echo ""
# 选择数据库模式
echo "请选择数据库模式:"
echo "1) SQLite快速启动无需安装数据库"
echo "2) PostgreSQL完整功能需要先安装PostgreSQL"
read -p "请输入选择 (1/2): " db_choice
if [ "$db_choice" = "2" ]; then
# PostgreSQL 模式
if ! command -v psql &> /dev/null; then
echo "⚠️ PostgreSQL 未检测到"
echo "请先安装 PostgreSQL 或选择 SQLite 模式"
echo ""
echo "macOS 安装 PostgreSQL:"
echo " brew install postgresql@15"
echo " brew services start postgresql@15"
exit 1
fi
# 使用PostgreSQL
echo "DATABASE_URL=\"postgresql://admin:password@localhost:5432/reading_platform\"" > $BACKEND_DIR/.env.development
else
# SQLite 模式
echo "DATABASE_URL=\"file:./dev.db\"" > $BACKEND_DIR/.env.development
fi
# 添加其他环境变量
cat >> $BACKEND_DIR/.env.development << 'EOF'
NODE_ENV=development
PORT=3000
JWT_SECRET="your-super-secret-jwt-key"
JWT_EXPIRES_IN="7d"
FRONTEND_URL="http://localhost:5173"
EOF
echo ""
echo "📦 安装后端依赖..."
cd $BACKEND_DIR
if [ ! -d "node_modules" ]; then
npm install
fi
echo ""
echo "🔧 配置数据库..."
npx prisma generate
if [ "$db_choice" = "2" ]; then
echo "⚠️ 请确保已创建PostgreSQL数据库 'reading_platform'"
echo " 创建命令:"
echo " createdb reading_platform -U admin"
read -p "按Enter继续..."
else
echo "📊 使用SQLite数据库"
fi
npx prisma migrate dev --name init
echo ""
echo "🚀 启动后端服务..."
npm run start:dev &
BACKEND_PID=$!
# 等待后端启动
sleep 5
echo ""
echo "📦 安装前端依赖..."
cd $FRONTEND_DIR
if [ ! -d "node_modules" ]; then
npm install
fi
echo ""
echo "🚀 启动前端服务..."
npm run dev &
FRONTEND_PID=$!
echo ""
echo "✅ 服务启动完成!"
echo ""
echo "📍 访问地址:"
echo " 前端http://localhost:5173"
echo " 后端http://localhost:3000/api/v1"
echo ""
echo "🔑 测试账号:"
echo " 超管端admin / 123456"
echo ""
echo "按 Ctrl+C 停止所有服务"
# 等待用户中断
wait