# grain-tianji **Repository Path**: iMousse/grain-tianji ## Basic Information - **Project Name**: grain-tianji - **Description**: 天际学堂单体版 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-26 - **Last Updated**: 2025-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 天机学堂 --------- 完成比完美更重要!!! 解题思路比解决方案更重要!!! 在项目的开发过程中,好的思路是可以借鉴的,并且是不断迭代的,而不是一蹴而就的。 ### 总体计划 - 谷粒学堂单体版文档整理 - 天机学堂单体版 - 天机学堂微服务版 - 天机学堂多租户单体版:需要自己设计表结构和页面,难度较大 ### 问题记录 描述:renren-api中错误日志没有打印 原因:在 RenExceptionHandler 的 handleException 中没有打印错误日志的方法 !!! 描述:Springboot 后端跨域addCorsMappings与拦截器冲突导致跨域失效 原因:https://blog.csdn.net/weixin_41896463/article/details/109580144 描述:The dependencies of some of the beans in the application context form a cycle: 原因:Bean的注入方式均为**@AllArgsConstructor**使用了基于构造器依赖注入的方式,并且造成了循环依赖 解决:方式有三种 ### 开发计划 #### 后台功能 媒资管理: - 预览重新打开视频还是停留原先的视频 - 上传列表的分页有问题 - 保存视频 @Validated 没有生效 - 媒资引用次数,只有课程上架了才能计算媒资引用次数 课程分类:禁用和启用功能 - 全职业技能培训还是专注于计算机技能培训 题目管理: - 不定项选择题答题规则, - BOSS直聘上去看答题 - 题目是否要加入课程字段,是否有数据权限 - ✅设置题目弹框的参数校验不合法 教师管理 - ✅教师的新增和修改功能完善 - ✅系统用户和老师绑定,并设置默认密码 学员管理: - 学员查询和重置密码 课程管理: - ✅视频上传做校验,不能有相同视频播放 - ✅题目选择,答案展示错误 - ✅教师选择,展示头像和手机号 - 课程没有上架之前媒资引用不会统计,所以媒资可以删除。所以需要在上架对媒资进行验证 - 课程上架校验 个人界面: - 个人界面的设置 优惠券管理: 问答管理: 笔记管理: 订单管理: 退款管理: #### 前台功能 支付功能: 登陆注册: 课程搜索:课程的搜索,课程的广告推荐 首页推荐:精品好课,通过kafka steam流进行计算。 用户行为:点赞,评论,阅读, 前台分类:按照课程数量和热度进行排序来展示 轮播图:新增轮播图展示和设计 用户评价:实现用户评价功能 常见问题:在问答中将点赞数最多的问题展示到常见问题中 我的收藏:对课程进行收藏实现 猜你喜欢:推荐系统进行实现 我的考试:不定项选择题,主观题,后台阅卷和批试卷。 购买功能: 订单功能: 积分功能: ### 功能优化 api 模块新增 creator updater 字段填充 api 模块登陆 将 UserId 添加到 UserContext ThreadLocal中,通过注解的方式拦截和通过路径的方式拦截 oss 模块,新增一个vod模块,oss模块笔记记录 将系统中的 Date 改成 LocalDateTime 小节下的题目,可以优化成 mongodb 定时任务 job 模块研究并修改,新增 redis 模块 返回信息带上Result还是不带上Result 课程分类模块优化 购物车模块优化 兴趣分类缓存 项目结构划分: 搜索排序设计: 命名规则优化: - 前端:在api里的接口需要以api为后缀 - 后端:在controller层先创建基础的crud,其他方法在crud的后面 分类字段设计:采用三个字段记录数据还是采用一个字段记录数据 冗余字段设计: - 课程中的课程课时 - 冗余字段,发布修改。在设置课程或者最终完成的时候通过计算,将总共课时计算录入数据库中。 - 减少了在查询时所消耗的开销,但是增加了数据库的存储,并且课时数由于不是实时计算可能会产生脏数据 - 直接查询。通过查询课时来统计数据。 - 保证了数据的正确性,但是增加系统的复杂度和查询所消费的开销。 - 课程中的报名人数 - 冗余字段,购买后修改:因为报名人数是会实时变化,并且在产生报名人数不断增加的情况下,如果还是按照查询的方式来进行统计,则会造成数据库查询压力的增大。 - 优化方案:将数据进行冷热分离,冷数据还是在购买后修改报名人数,热数据将大量购买的记录修改缓存起来,然后进行批量之行 - 直接查询。 优化前端需要翻译的字段 - 字典的翻译 - 可以通过枚举的方法 - 通过切面的方法实现 - 查表的翻译 #### 前端优化 在api中,调用后台的接口都以 api 结束 方法上的prop 用 click结尾,方法用 handle 结尾 比如 ```html 搜索 ``` ### 人人系统 系统说明书,系统的设计,系统的如何使用 Service优化,分页的优化 页面优化:个人信息新增界面 描述:在路由中新增一个通用路由,类似于 404,然后设置个人信息,将个人信息优化。【可将优化应用人人开源】 Service优化,分页的优化