codecanyon-38335673-eschool-virtual-school-management-system-flutter-app-with-laravel-admin-panel
# eSchool - 虚拟学校管理系统
## 项目概述
- **项目类型**:全栈应用(Flutter移动应用 + Laravel管理后台)
- **主要功能**:
- 学生管理:注册、档案、成绩追踪
- 教师管理:课程分配、考勤记录
- 课程管理:课程安排、作业发布
- 考试管理:考试安排、成绩录入
- 考勤系统:学生/教师考勤记录
- 费用管理:学费缴纳、收据生成
- 作业管理:作业发布、提交、评分
- 通知公告:学校公告、推送通知
- 实时聊天:师生沟通
- 时间表管理:课程表、考试时间表
- 假期管理:学校假期安排
- 文档生成:证书、报告卡生成
- **技术栈**:
- 后端:Laravel (PHP 8.3+)
- 前端管理面板:Laravel Blade / Vue.js
- 移动应用:Flutter
- 数据库:MySQL 8.0+
- 实时通信:Firebase
- 推送通知:Firebase Cloud Messaging
## 模块结构
### 管理后台 (Laravel)
```
ESCHOOL Admin Panel/
├── app/ # 应用核心代码
├── bootstrap/ # 启动文件
├── config/ # 配置文件
├── database/ # 数据库迁移和种子
├── public/ # 公共资源
├── resources/ # 视图和语言文件
├── routes/ # 路由定义
├── storage/ # 存储文件
├── tests/ # 测试代码
├── composer.json # PHP依赖
└── .env # 环境配置
```
### 移动应用 (Flutter)
```
Flutter App/
├── android/ # Android配置
├── ios/ # iOS配置
├── lib/ # Dart源代码
├── test/ # 测试代码
├── pubspec.yaml # Flutter依赖
└── README.md # 说明文档
```
## 核心业务逻辑
### 1. 用户角色体系
- **超级管理员**:系统最高权限
- **管理员**:学校管理层
- **教师**:教学相关权限
- **学生**:学习相关权限
- **家长**:查看子女信息
### 2. 学术管理流程
#### 2.1 学期管理
```
创建学期 → 设置学期时间 → 分配课程 → 安排教师
```
#### 2.2 课程管理
- 课程创建和分类
- 课程与教师关联
- 课程时间表生成
- 课程资料上传
#### 2.3 考试管理
```
创建考试 → 设置考试科目 → 安排考场 → 录入成绩 → 生成报告
```
#### 2.4 作业管理
```
教师发布作业 → 学生提交 → 教师评分 → 成绩反馈
```
### 3. 考勤系统
- 学生每日考勤记录
- 教师考勤管理
- 请假申请和审批
- 考勤统计报表
### 4. 费用管理
- 学费标准设置
- 在线缴费
- 收据自动生成
- 欠费提醒
- 财务报表
### 5. 通知系统
- 学校公告发布
- 班级通知
- 个人消息
- 推送通知(Firebase)
- 邮件通知
### 6. 实时聊天
- 师生一对一聊天
- 群聊功能
- 文件分享
- 消息已读状态
## 核心代码分析
### 1. 后端架构 (Laravel)
#### 1.1 路由配置
```php
// API路由
Route::apiResource('students', StudentController::class);
Route::apiResource('teachers', TeacherController::class);
Route::apiResource('exams', ExamController::class);
```
#### 1.2 控制器示例
```php
class StudentController extends Controller
{
public function index()
{
return Student::with('class', 'section')->paginate();
}
public function store(StudentRequest $request)
{
$student = Student::create($request->validated());
return response()->json($student, 201);
}
}
```
#### 1.3 模型关系
```php
class Student extends Model
{
public function class()
{
return $this->belongsTo(Classes::class);
}
public function attendances()
{
return $this->hasMany(Attendance::class);
}
public function examResults()
{
return $this->hasMany(ExamResult::class);
}
}
```
### 2. 移动应用 (Flutter)
#### 2.1 状态管理
- 使用Provider或GetX进行状态管理
- 本地存储使用Shared Preferences
#### 2.2 API集成
```dart
class ApiService {
static const String baseUrl = 'https://api.eschool.com';
Future getStudent(int id) async {
final response = await http.get(Uri.parse('$baseUrl/students/$id'));
return Student.fromJson(jsonDecode(response.body));
}
}
```
#### 2.3 推送通知
```dart
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
// 处理前台消息
});
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
```
### 3. 数据库设计
#### 3.1 核心表结构
- `users` - 用户表
- `students` - 学生表
- `teachers` - 教师表
- `classes` - 班级表
- `subjects` - 科目表
- `exams` - 考试表
- `exam_results` - 考试成绩表
... (content truncated)
资源在线 » codecanyon-38335673-eschool-virtual-school-management-system-flutter-app-with-laravel-admin-panel