# family_education_platform **Repository Path**: Marsfactory/family_education_platform ## Basic Information - **Project Name**: family_education_platform - **Description**: 家教平台springboot - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 4 - **Created**: 2025-09-28 - **Last Updated**: 2025-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大学生家教平台 - 技术架构文档 ## 项目概述 基于 Spring Boot 3 + MyBatis-Plus + Vue3 + uni-app 的大学生家教服务平台,提供教员-家长匹配、在线支付、课程管理、AI智能推荐等完整功能。 ## 技术栈 ### 后端技术栈 - **框架**: Spring Boot 3.2.0 - **数据库**: MySQL 8.0 + MyBatis-Plus 3.5.4 - **缓存**: Redis 7.0 - **权限**: Sa-Token 1.37.0 - **对象存储**: MinIO - **消息队列**: RabbitMQ (可选) - **API文档**: SpringDoc OpenAPI 3.0 - **工具库**: Hutool 5.8.22 ### 前端技术栈 - **Web管理端**: Vue3 + Vite + Ant Design - **小程序端**: uni-app + uView2 - **状态管理**: Pinia - **HTTP客户端**: Axios ## 系统架构 ### 核心模块设计 1. **用户信息管理模块** - 多角色用户注册登录、资料管理、身份认证 2. **管理员专属管理模块** - 平台数据总览、教员审核、内容管理 3. **教员服务模块** - 教员申请、接单管理、收入结算 4. **家长服务模块** - 需求发布、教员预约、订单跟踪 5. **支付与结算模块** - 多渠道支付、资金托管、自动结算 6. **评价与反馈模块** - 双向评价、举报处理、信誉体系 7. **消息通讯模块** - 即时聊天、系统通知、消息推送 8. **AI智能赋能模块** - 智能匹配、需求分析、个性推荐 ### 扩展功能模块 9. **搜索与发现模块** - 全站搜索、智能筛选、热门推荐 10. **排班与日历调度模块** - 时间管理、冲突检测、课程提醒 11. **争议仲裁与客服工单模块** - 纠纷处理、客服支持、问题跟踪 ## 数据库设计 ### 核心表结构 - `user` - 用户基础信息 - `user_profile` - 用户详细资料 - `user_identity` - 身份认证信息 - `order` - 订单主表 - `lesson_record` - 课程记录 - `payment` - 支付记录 - `rating` - 评价表 - `message` - 消息表 ### 索引策略 - 主键索引:所有表使用 BIGINT 自增主键 - 外键索引:关联字段建立外键索引 - 复合索引:多条件查询字段建立复合索引 - 时间索引:时间范围查询字段建立索引 ## Sa-Token 权限模型 ### 角色设计 ```java // 角色定义 public enum UserRole { ADMIN("ADMIN", "管理员"), TEACHER("TEACHER", "教员"), PARENT("PARENT", "家长"); } // 权限注解使用 @SaCheckRole("ADMIN") // 管理员专用 @SaCheckRole("TEACHER") // 教员专用 @SaCheckRole("PARENT") // 家长专用 @SaCheckLogin // 需要登录 ``` ### Token配置 ```yaml sa-token: token-name: Authorization token-prefix: Bearer timeout: 2592000 # 30天 is-concurrent: true # 允许并发登录 is-share: true # 共享token ``` ## MinIO 对象存储规范 ### 桶与路径约定 ``` edu-platform/ ├── avatar/ # 用户头像 │ ├── {userId}/ │ └── default/ ├── identity/ # 身份认证文件 │ ├── {userId}/ │ │ ├── id_front.jpg │ │ ├── id_back.jpg │ │ └── selfie.jpg ├── certificates/ # 教员证书 │ └── {teacherId}/ ├── course/ # 课程相关 │ ├── materials/ # 课程资料 │ └── homework/ # 作业文件 └── feedback/ # 反馈附件 └── {feedbackId}/ ``` ### 文件上传策略 - 头像文件:最大2MB,支持jpg/png格式 - 身份证件:最大5MB,支持jpg/png/pdf格式 - 证书文件:最大10MB,支持jpg/png/pdf格式 - 课程资料:最大50MB,支持常见文档格式 ## 常用 Redis Key 设计 ### 缓存Key规范 ``` # 用户相关 user:info:{userId} # 用户基本信息 user:profile:{userId} # 用户详细资料 user:balance:{userId}:available # 可用余额 user:balance:{userId}:frozen # 冻结余额 # 认证相关 login_fail:{mobile} # 登录失败次数 sms_code:{mobile}:{type} # 短信验证码 captcha:{sessionId} # 图形验证码 # 业务相关 order:lock:{orderId} # 订单操作锁 teacher:available:{date} # 教员可用时间 demand:hot:list # 热门需求列表 teacher:ranking:score # 教员评分排行 # 统计缓存 stats:dashboard:{date} # 仪表盘数据 stats:teacher:{teacherId}:monthly # 教员月度统计 stats:platform:realtime # 平台实时数据 # AI相关 ai:nlp:cache:{textHash} # NLP解析缓存 ai:recommend:{userId}:{type} # 个性推荐缓存 ai:match:result:{demandId} # 匹配结果缓存 ``` ### 缓存过期策略 - 用户信息:30分钟 - 验证码:5分钟 - 业务锁:30秒 - 统计数据:5分钟 - AI缓存:1小时 ## 开发迭代里程碑 ### 第1阶段:基础框架搭建 (2周) - [x] 项目初始化和环境配置 - [x] 数据库设计和基础表创建 - [x] 用户认证和权限体系 - [x] 基础CRUD接口开发 - [x] 接口文档和单元测试 ### 第2阶段:核心业务开发 (3周) - [ ] 教员申请和审核流程 - [ ] 家长需求发布和匹配 - [ ] 订单创建和状态流转 - [ ] 支付集成和资金托管 - [ ] 课程管理和签到系统 ### 第3阶段:高级功能开发 (3周) - [ ] 评价和反馈系统 - [ ] 即时聊天和消息推送 - [ ] 文件上传和存储管理 - [ ] 数据统计和报表展示 - [ ] 系统配置和运维工具 ### 第4阶段:AI智能化 (2周) - [ ] 需求智能解析 - [ ] 教员智能匹配 - [ ] 个性化推荐系统 - [ ] 用户行为分析 - [ ] 智能客服助手 ### 第5阶段:前端开发 (3周) - [ ] Web管理后台开发 - [ ] uni-app小程序开发 - [ ] 响应式UI适配 - [ ] 前后端联调测试 - [ ] 用户体验优化 ### 第6阶段:系统优化 (2周) - [ ] 性能压测和优化 - [ ] 安全加固和漏洞修复 - [ ] 监控告警和日志收集 - [ ] 缓存策略优化 - [ ] 数据库读写分离 ### 第7阶段:测试部署 (2周) - [ ] 集成测试和回归测试 - [ ] 生产环境部署配置 - [ ] 数据迁移和备份策略 - [ ] 灰度发布和回滚方案 - [ ] 运维文档编写 ### 第8阶段:上线运营 (1周) - [ ] 生产环境上线 - [ ] 用户培训和推广 - [ ] 运营数据监控 - [ ] 问题反馈收集 - [ ] 后续迭代规划 ## 安全性保障 ### 数据安全 - 密码BCrypt加密存储 - 敏感信息AES加密 - SQL注入防护 - XSS攻击防护 - CSRF令牌验证 ### 接口安全 - 请求频率限制 - IP白名单机制 - 接口权限校验 - 参数合法性验证 - 异常统一处理 ### 运维安全 - 日志审计记录 - 敏感操作监控 - 数据备份策略 - 灾难恢复预案 - 安全漏洞扫描 ## 性能优化 ### 数据库优化 - 合理索引设计 - 分页查询优化 - 慢查询监控 - 读写分离配置 - 连接池调优 ### 缓存策略 - 热点数据缓存 - 查询结果缓存 - 分布式锁机制 - 缓存雪崩预防 - 缓存穿透防护 ### 系统调优 - JVM参数优化 - 线程池配置 - 异步任务处理 - 静态资源CDN - 接口响应压缩 ## 监控运维 ### 系统监控 - 应用性能监控(APM) - 数据库性能监控 - Redis集群监控 - 服务器资源监控 - 业务指标监控 ### 日志管理 - 结构化日志记录 - 日志等级控制 - 日志文件轮转 - 集中日志收集 - 异常告警通知 ### 部署运维 - Docker容器化部署 - Kubernetes集群管理 - 蓝绿部署策略 - 自动扩缩容配置 - 健康检查机制 ## 联系方式 - 项目地址:https://github.com/your-org/family-education-platform - 技术文档:https://docs.edu-platform.com - 问题反馈:issues@edu-platform.com - 技术支持:support@edu-platform.com