# EduLab LMS - Laravel 学习管理系统
## 项目概述
**EduLab LMS** 是一个基于 Laravel 框架的在线课程学习管理系统。该平台允许网站管理员和课程讲师创建课程,并通过向学生销售课程来获得收入。学生可以通过购买课程来丰富知识。课程讲师可以添加视频、文本、图片和文档作为课程材料。
## 主要功能
### 核心功能
- **课程管理** - 创建、编辑、管理课程
- **课程分类** - 多级课程分类管理
- **课程筛选** - 高级课程搜索和筛选
- **课程预览** - 课程概览和详情展示
- **课程播放器** - 用户友好的课程播放器
- **课程大纲** - 课程章节和课时管理
- **多类型课时** - 支持视频、文本、图片、文档
- **购物车** - 课程购买购物车
- **优惠券** - 优惠券系统
- **结账** - 多支付网关结账
- **直播课程** - 实时在线课堂
- **测验系统** - 课程测验和考试
- **证书管理** - 课程完成证书
### 用户角色
- **学生** - 购买和学习课程
- **讲师** - 创建和销售课程
- **组织** - 管理讲师和课程
- **管理员** - 全面系统管理
### 管理功能
- **收入报告** - 管理员收入统计
- **主题管理** - 5 个独特主题 + 10+ 即将推出主题
- **课程分类管理** - 分类创建和管理
- **课程管理** - 课程审核和管理
- **课程大纲管理** - 课程内容管理
- **手动课程注册** - 手动为学生注册课程
- **支付设置** - 支付网关配置
- **SMTP 设置** - 邮件服务器配置
- **多语言管理** - 动态翻译功能
- **主题选项管理** - 主题设置
- **页面管理** - CMS 页面管理
- **博客管理** - 博客文章管理
- **邮件模板** - 邮件模板管理
- **员工管理** - 管理员账号管理
- **工单支持** - 客服工单系统
- **FAQ 管理** - 常见问题管理
### 学生功能
- **浏览课程** - 课程门户浏览
- **我的课程** - 已购课程管理
- **报名历史** - 课程购买记录
- **学生反馈** - 课程评价和反馈
- **多语言切换** - 前端后端动态翻译
### 前端特性
- **5 个独特主题** - 多种主题选择
- **组件化主题** - 易于定制的组件
- **SEO 友好** - 搜索引擎优化
- **响应式设计** - 适配所有设备
## 技术栈
### 后端
- **框架**: Laravel 11.x
- **PHP 版本**: ^8.2
- **数据库**: MySQL
- **模块系统**: nwidart/laravel-modules ^12.0
### 主要依赖包
- Laravel Framework ^11.0
- Laravel Tinker ^2.9
- Spatie Laravel Permission ^6.7 (权限管理)
- Stripe PHP ^16.5
- Razorpay ^2.9
- Laravel Paystack ^1.2
- Xendit PHP ^6.1
- Stevebauman Location ^7.4 (地理位置)
- Stevebauman Purify ^6.2 (HTML 净化)
- Drewm MailChimp API (邮件营销)
- Composer/Composer ^2.8
### 前端
- **CSS 框架**: Tailwind CSS
- **构建工具**: Vite
- **JavaScript**: 原生 JS + Alpine.js
### 模块
- **LMS** - 核心学习管理模块
- **ModuleManager** - 模块管理器
- **Roles** - 角色权限模块
## 文件结构
```
codecanyon-55973900-edulab-lms-laravel-learning-management-system-with-tailwind-css/
├── main-v21/
│ ├── Documentation/
│ │ ├── index.html
│ │ └── online-documentation.txt
│ ├── Licensing/
│ └── edulab-lms/ # Laravel 主项目
│ ├── app/
│ ├── assets/ # 前端资源
│ ├── bootstrap/
│ ├── config/
│ ├── database/
│ ├── lang/ # 语言文件
│ ├── Modules/ # 模块目录
│ │ ├── LMS/
│ │ ├── ModuleManager/
│ │ └── Roles/
│ ├── public/
│ ├── resources/
│ │ └── views/
│ ├── routes/
│ ├── storage/
│ ├── tests/
│ ├── vendor/
│ ├── composer.json
│ ├── package.json
│ ├── tailwind.config.js
│ ├── tailwind.config-backend.js
│ ├── vite.config.js
│ └── artisan
└── PROJECT_ANALYSIS.md
```
## 安装说明
### 系统要求
- PHP ^8.2
- Composer
- MySQL
- Node.js 和 npm
### 安装步骤
1. 解压文件到服务器
2. 进入 `edulab-lms` 目录
3. 运行 `composer install` 安装 PHP 依赖
4. 运行 `npm install` 安装 Node 依赖
5. 复制 `.env.example` 为 `.env` 并配置数据库
6. 运行 `php artisan key:generate` 生成应用密钥
7. 运行 `php artisan migrate` 迁移数据库
8. 运行 `npm run build` 构建前端资源
9. 配置虚拟主机指向 `public` 目录
### 默认登录信息
- **管理员**: admin@gmail.com / 123456
- **组织**: organization@gmail.com / 123456
- **讲师**: instructor@gmail.com / 123456
- **学生**: student@gmail.com / 123456
### 定时任务
设置 Cron Job 执行计划任务:
```bash
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
```
或使用提供的 `cron.sh` 脚本
## 亮点特色
1. **现代化技术栈** - Laravel 11 + Tailwind CSS + Vite
2. **模块化架构** - 使用 Laravel Modules 实现功能模块化
3. **多用户角色** - 学生、讲师、组织、管理员多角色支持
4. **多支付网关** - Stripe、Razorpay、Paystack、Xendit
5. **多主题支持** - 5 个独特主题 + 10+ 即将推出
6. **组件化设计** - 易于定制的组件系统
7. **SEO 优化** - 100% SEO 友好
8. **多语言支持** - 前后端动态翻译
9. **直播课程** - 支持实时在线课堂
10. **证书系统** - 课程完成证书生成
11. **测验系统** - 完整的课程测验功能
12. **响应式设计** - 适配所有设备
13. **易于安装** - 简单的文档和安装流程
14. **24/7 支持** - 专业技术支持