2021年 8月 25日
Aug 25

项目启动

1.进行项目开题——开题PPT
2.与小组成员一起学习使用Gitee团队开发
3.组长分配任务——我主要负责后端
首先学习使用IDEA和SpringBoot框架
实现通过接口接收数据

2021年 8月 26日
Aug 26

实现前后端接口

使用Spring Boot框架连接数据库
本项目使用PostgreSQL数据库
在本地已实现通过API接口获取数据
过程中遇到的问题:
项目/接口只能通过本地IP访问而外网无法访问
解决方案:
通过添加防火墙对于某一端口的规则解决了此问题

2021年 8月 27日
Aug 27

测试前后端数据交互

1.前端可以通过我提供的接口获取数据
2.后端暂时无法收到前端发送的数据
3.前端通过接口对后端数据库进行增删改暂未成功
仅能实现查询的功能——博客资料
过程中遇到的问题:
前端接收数据时遇到了跨域问题

2021年 8月 28日
Aug 28

后端成功接收前端数据

1.使用注解从前端接收数据 根据博客资料大概理解了
@PathVariable("...")和@RequestParam("...")传参的区别
2.实现了前端通过API端口对后端数据库进行增删改查的操作
3.与前端开发同学一起写开发文档——主要规定了项目接口格式
过程中遇到的问题:
启动项目后,在局域网中的用户都可以访问此项目,同理API接口也能被访问
怎么设置项目和接口不能被外界访问?

2021年 8月 29日
Aug 29

登录/注册页面测试成功

1.登陆界面由前端同学开发
2.用户名和密码均为字符串
3.已进行注册,登录的功能的测试
4.开始在团队仓库进行合作开发

2021年 8月 30日
Aug 30

制作用户个人主页

1.主页前端代码由前端同学完成
2.项目主页样式与功能模仿智慧树 访客可以浏览主页上的资源
而教师和学生可以登录到个人主页查看自己的信息和加入的课程
3.学习联合主键的使用来映射多个属性做主键的表——参考资料
4.新建表来存放用户一年每天的活跃度以及用户的个人信息
已实现用接口获取以上数据的功能,并未实现通过接口修改的功能

2021年 8月 31日
Aug 31

后端实现文件上传/下载

1.通过接口传输文件——参考资料
2.学习session和拦截器的使用——参考资料
用来记录和管理用户的登陆状态,进而开启/关闭用户的上传/下载等功能
过程中遇到的问题:
1.项目可正常启动,但是通过接口获取数据时返回空值
已解决:实体类中需要构建Getter and Setter,有对应函数后会正常返回数据
2.文件上传/下载功能暂未测试,不清楚如何通过接口传输文件的原理和机制

2021年 9月 1日
Sept 01

维护接口文档&画E/R图

1.维护开发接口文档
2.画出我负责部分的E/R图
3.已实现文件上传功能——参考资料
并可以根据用户账号,身份和文件类型存放在相应的路径中

2021年 9月 2日
Sept 02

项目引入session模块

1.实现了下载文件资源的端口
与文件上传接口向结合进而实现教学资源的上传于下载
2.已编写传输session变量的接口——参考资料
使用session记录用户登陆状态,保存在浏览器中
与前端相结合可实现页面刷新保持用户登录状态的功能

2021年 9月 3日
Sept 03

修改&测试session接口

1.与前端同学沟通后,修改设置/获取session的接口的格式和参数
通过学习可知,sessionId与一次会话一一对应,也可理解为每个浏览器创建会话后对应一个sessionId
将sessionId和用户名通过接口传到后端,后端通过id找到相应的会话,即可根据用户名判断某一用户的登陆状态
session(一个会话)会在无响应一段时间后自动销毁,一般默认时间为30分钟(可修改)
每次重启项目/服务器session会全部销毁,这时请求登录会重新生成相应的session
2.由于本项目后端由两个人开发,局域网中电脑所在的IP地址不同
所以每次将代码上传到仓库时应不上传个人的配置文件,保存在本地即可
通过修改.gitignore文件来避免开发过程中的冲突
3.修改个人主页所用到的接口,传输session判断登陆状态
4.完全实现使用session判断/保持用户登录状态的功能

2021年 9月 4日
Sept 04

学习使用OpenOffice

学习Open Office的使用 引入相关依赖
参考博客: https://www.cnblogs.com/god-monk/p/11321728.html
参考博客: https://www.cnblogs.com/xl4ng/p/13053544.html
参考博客: https://www.cnblogs.com/honey01/p/8867619.html
已成功将word,ppt转换为pdf文件 可以在线预览
不过还有细节需要完善,例如报错:Could not store document

2021年 9月 5日
Sept 05

在线预览&资源列表

Afternoon
1.完善在线预览功能,可实现word,ppt,excel等文件的转换
2.在数据库中建表,为完成课程章节的资源列表做准备
其中有章节,标签,文件等信息——参考资料
每个课程包含多个章节;每个章节包含多个标签;
每个章节下有多个文件;每个文件包含多个标签;
章节下文件标签的集合就是章节的标签
3.维护了接口文档

Evening
1.增加将txt文件转换为pdf的选项
2.md文件转换后会出现乱码的情况,可能是编码方式不同的原因
暂时无法解决

2021年 9月 6日
Sept 06

完善个人主页&资源列表&课程创建接口

1.增加更新/修改个人信息的接口
2.为前端提供图片外链——参考资料
3.增加个人信息中获取/上传/更新头像的接口
4.完善用户上传教学资源的接口

2021年 9月 7日
Sept 07

与前端对接口——个人主页

1.个人主页接口——上传/获取/更新个人信息&头像
2.解决了静态资源不会刷新的问题——参考资料
3.更改session过期时间为30min

2021年 9月 8日
Sept 08

与前端对接口——课程页面&文件列表

1.创建课程接口——上传/获取/更新课程信息
2.自定义void函数对数据库进行删除操作——参考资料
3.文件列表接口——上传/下载文件
4.修改上传文件大小限制——参考资料
理解了max-file-size和max-request-size的区别——参考资料

2021年 9月 9日
Sept 09

与前端对接口——文件列表

文件列表接口——上传/下载/在线预览课程资源
Bug: 点击下载后会下载一个不存在的f.txt文件

2021年 9月 10日
Sept 10

动态日志-建表&接口

1.新建vclog表存放日志内容
2.新建接口-新建日志&获取全部日志

2021年 9月 11日
Sept 11

动态日志&文件删除

1.修改/完善vclog表存放日志内容
2.新建接口-根据课程id获取所有日志/最新的100条日志
3.新建文件删除接口 只有老师有权限删除文件

2021年 9月 12日
Sept 12

文件删除&订阅课程

1.完善文件删除接口 如果之前有通过OpenOffice插件转换的pdf文件
删除时同时将pdf删除 避免出现文件重复/空间浪费的情况
2.完善文件上传接口 通过文件id确定唯一文件 统一用户不可上传相同类型的相同文件
3.使用@Schedule注解设置每天凌晨5点清空所有session——参考资料
其中也用到了Cron表达式来设置时间——参考资料
4.增加课程订阅功能 编写相关接口——订阅课程&获取某课程所有订阅者
5.新增接口——通过老师/同学用户名获取创建/订阅的所有课程
修改Bug:
1.当老师修改昵称后,老师创建的课程仍显示之前的昵称(已解决)

2021年 9月 13日
Sept 13

用户活跃度(Git日历)&课程安排(课表)

1.用于显示个人主页的活跃值 每次显示去年的同一天到今天的活跃值
组成用户的年活跃表 与Github和Gitee个人主页的Git提交日历相似
2.给课程安排建表 用来存放本学期/本学年的进度与安排

2021年 9月 14日
Sept 14

课程安排(课表)

编写课表接口————接收/获取/删除

2021年 9月 15日
Sept 15

成功实现课程安排(课表)

1.课表可在课程主页下拉查看
2.老师可以先选择起始日期和结束日期来生成空课表
3.老师可以编辑课表每一项的内容

2021年 9月 21日
Sept 21

学习并实现给文件加水印

水印统一为: 天津大学智能与计算学部
参考资料——https://www.jianshu.com/p/e139982c20e8
参考资料——https://blog.csdn.net/sjmz30071360/article/details/84754791

2021年 9月 22日
Sept 22

课程添加绘制思维导图功能

老师可以给每个课程绘制一个思维导图
提交后将数据存在后端
获取后前端渲染来实现

2021年 9月 23日
Sept 23

查找并解决Bug&优化代码

Bug:
1.txt文件无法在线预览
2.删除文件时没有将在线预览生成的pdf文件删除
3.文件输出流未关闭
4.ppt文件类型设置错误
5.md文件无法在线预览(未解决)
优化:
1.尝试将项目中绝对路径改为相对路径(未成功)
通过获取项目根目录地址,加上文件存储的路径得到文件的绝对路径
变相的实现了项目的可移植性
项目总结

2021年 9月 24日
Sept 24

结项汇报&改Bug

Bug:
1.对于新创建的老师用户,如果没有设置个人信息,则无法创建课程(已解决)
在新建账户后,自动生成只包含账号、昵称和身份的个人信息,昵称默认为用户名,其余为空
项目汇报——结项PPT