# superpower-test **Repository Path**: cj6209577/superpower-test ## Basic Information - **Project Name**: superpower-test - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-12 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中英翻译练习应用 一个基于闪卡模式的日常英语口语练习 Web 应用,支持多用户和云端同步。 ## 技术栈 - **前端**: Vue 3 + TypeScript + Tailwind CSS + Vite + Pinia - **后端**: Node.js + Fastify + TypeScript - **数据库**: SQLite (开发环境) / PostgreSQL (生产环境) - **ORM**: Prisma - **认证**: JWT - **包管理**: pnpm workspaces ## 项目结构 ``` translation-practice-app/ ├── packages/ │ ├── frontend/ # Vue 3 前端应用 │ ├── backend/ # Fastify 后端 API │ └── shared/ # 共享类型定义和工具函数 ├── package.json # 根配置 ├── pnpm-workspace.yaml # pnpm workspaces 配置 └── tsconfig.base.json # 共享 TypeScript 配置 ``` ## 快速开始 ### 前置要求 - Node.js >= 18.0.0 - pnpm >= 8.0.0 ### 安装依赖 ```bash pnpm install ``` ### 构建共享包 ```bash cd packages/shared pnpm build ``` ### 设置后端 1. 创建环境变量文件: ```bash cd packages/backend cp .env.example .env ``` 2. 生成 Prisma 客户端并初始化数据库: ```bash npx prisma generate npx prisma migrate dev ``` 3. 填充示例数据: ```bash npx tsx src/seed.ts ``` 4. 启动后端服务器: ```bash pnpm dev ``` 后端将在 http://localhost:3000 运行 ### 设置前端 1. 创建环境变量文件: ```bash cd packages/frontend cp .env.example .env ``` 2. 启动前端开发服务器: ```bash pnpm dev ``` 前端将在 http://localhost:5173 运行 ## 功能特性 - ✅ 用户注册和登录 - ✅ JWT 身份验证 - ✅ 主题浏览(餐厅、购物、旅行等) - ✅ 闪卡练习模式 - ✅ 学习进度跟踪 - ✅ 响应式设计 ## API 端点 ### 认证 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 ### 主题 - `GET /api/topics` - 获取所有主题 - `GET /api/topics/:id` - 获取主题详情(包含句子) ### 进度 - `GET /api/progress` - 获取用户进度 - `POST /api/progress` - 更新句子进度 ## 开发 ### 运行所有包的开发服务器 ```bash pnpm dev ``` ### 构建所有包 ```bash pnpm build ``` ### 运行测试 ```bash pnpm test ``` ### 代码检查 ```bash pnpm lint ``` ## 生产部署 ### 数据库 将 `packages/backend/prisma/schema.prisma` 中的数据源改为 PostgreSQL: ```prisma datasource db { provider = "postgresql" url = env("DATABASE_URL") } ``` ### 环境变量 后端 `.env`: ``` DATABASE_URL="postgresql://user:password@host:5432/dbname" JWT_SECRET="your-production-secret" PORT=3000 NODE_ENV=production ``` 前端 `.env`: ``` VITE_API_URL=https://your-api-domain.com ``` ### 构建和部署 1. 构建所有包: ```bash pnpm build ``` 2. 部署后端到 Railway/Render 3. 部署前端到 Vercel/Netlify ## 许可证 MIT