# ldesign-course **Repository Path**: ldesign-v1/ldesign-course ## Basic Information - **Project Name**: ldesign-course - **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-03-18 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LDesign Course Platform 在线课程制作与学习平台 ## 🚀 快速开始 ### 一键启动(推荐) **所有平台统一命令:** ```bash npm start ``` 或 ```bash node scripts/start.js ``` **平台特定脚本:** **Windows用户:** ```bash scripts\start.bat ``` **Linux/Mac用户:** ```bash chmod +x scripts/start.sh ./scripts/start.sh ``` 这将自动: - ✅ 检查环境依赖(Node.js、npm、Docker) - ✅ 安装项目依赖 - ✅ 启动数据库容器(PostgreSQL + Redis) - ✅ 运行数据库迁移 - ✅ 同时启动前端和后端服务 - ✅ 显示友好的启动进度和访问地址 ### 手动启动 ```bash # 1. 安装所有依赖 npm run install:all # 2. 启动数据库 npm run docker:up # 3. 运行数据库迁移 npm run db:migrate # 4. 启动前后端服务 npm run dev ``` ## 📋 功能特性 ### 课程编辑器 - ✨ 多媒体元素支持(文本、图片、视频、音频) - 🎨 丰富的动画效果配置(12种动画效果) - 🖱️ 交互事件配置(点击、悬停、滑动等) - 📚 图层管理(可见性、锁定、排序) - ❓ 题目配置(选择题、填空题) - 👁️ 多设备预览(手机、平板、桌面) ### 播放器 - 📱 多设备适配支持 - 👆 触摸滑动交互 - ✅ 完整答题系统 - 📊 学习进度跟踪 - 🏆 奖励系统(星星、金币、徽章) - 📈 学习统计分析 ### 后台管理 - 👥 用户管理 - 📖 课程管理 - 📁 资产管理 - 📊 学习统计 - 🏅 排行榜功能 ## 🛠️ 技术栈 - **前端**: Vue 3 + TypeScript + Tailwind CSS + Vite - **后端**: NestJS + TypeScript + TypeORM - **数据库**: PostgreSQL + Redis - **部署**: Docker + Docker Compose - **动画**: GSAP - **UI组件**: Lucide Icons ## 📁 项目结构 ``` ldesign-course/ ├── client/ # 前端Vue项目 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── engine/ # 播放引擎 │ │ ├── api/ # API接口 │ │ └── stores/ # 状态管理 │ └── Dockerfile ├── server/ # 后端NestJS项目 │ ├── src/ │ │ ├── modules/ # 业务模块 │ │ ├── entities/ # 数据实体 │ │ └── common/ # 公共模块 │ └── Dockerfile ├── scripts/ # 启动脚本 │ ├── start.sh # Linux/Mac启动脚本 │ └── start.bat # Windows启动脚本 ├── docker-compose.yml # Docker编排配置 └── package.json # 根项目配置 ``` ## 🔧 开发命令 ```bash # 开发模式(同时启动前后端) npm run dev # 仅启动前端 npm run dev:client # 仅启动后端 npm run dev:server # 构建项目 npm run build # 代码检查 npm run lint # 运行测试 npm run test # 数据库操作 npm run db:migrate # 运行迁移 npm run docker:up # 启动数据库 npm run docker:down # 停止数据库 npm run docker:logs # 查看数据库日志 ``` ## 🌐 访问地址 启动成功后,可以访问: - **前端应用**: http://localhost:5173 - **后端API**: http://localhost:3000 - **API文档**: http://localhost:3000/api - **数据库**: localhost:5432 - **Redis**: localhost:6379 ## 📚 API说明 ### 主要API模块 - `/api/auth` - 认证相关 - `/api/users` - 用户管理 - `/api/courses` - 课程管理 - `/api/courses/:id/slides` - 幻灯片管理 - `/api/assets` - 资产管理 - `/api/learning-progress` - 学习进度(已优化命名) - `/api/organizations` - 组织管理 ### 学习进度API(已优化) ```bash # 获取学习统计 GET /api/learning-progress/stats # 获取课程统计 GET /api/learning-progress/:courseId/stats # 获取每日进度 GET /api/learning-progress/daily?days=7 # 获取排行榜 GET /api/learning-progress/leaderboard?courseId=xxx&limit=10 # 提交测验 POST /api/learning-progress/quiz # 获取测验记录 GET /api/learning-progress/quiz/records?courseId=xxx ``` ## 🐳 Docker部署 ### 开发环境 ```bash # 启动所有服务 docker-compose up -d # 查看日志 docker-compose logs -f # 停止服务 docker-compose down ``` ### 生产环境 ```bash # 构建并启动 docker-compose -f docker-compose.yml up -d --build # 或使用启动脚本 npm run start:prod ``` ## 🔐 环境变量 复制 `.env.example` 为 `.env` 并配置: ```bash cp .env.example .env ``` 主要配置项: - `DB_*` - 数据库配置 - `JWT_SECRET` - JWT密钥 - `REDIS_*` - Redis配置 ## 📖 开发文档 详细的开发文档请参考: - [开发指南](./DEVELOPMENT.md) - [API文档](http://localhost:3000/api)(启动后访问) - [组件文档](./client/src/components/README.md) ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情