项目展示链接:cfile.kanlon.top
测试的老师账号和密码为: 用户名:admin 密码:123456
部署项目之前需要,先初始化数据库,执行 ./sql/建表语句备份.sql 该文件的sql即可
restful接口文档地址:https://documenter.getpostman.com/view/3892535/RzffHouP
这个项目主要是帮助班级班委,老师等便捷收集班级同学的文件的小项目。
传统收集文件,图片的方式都是通过微信或邮箱收集,这种收集方法难以统计人数和浪费大量同学们发送邮箱的时间,收集人统计的时间。这个项目采用web项目在线收集和自动统计名单,大大减轻收集人的时间和发送者的时间。
- 需要授权/opt/cfile下的目录权限,该目录用于文件上传和日志记录,可以执行下面两个命令来获取授权
sudo mkdir -vp /opt/cfile
sudo chmod -R 777 /opt/cfile
- 0.0.1-SNAPSHOT版本程序中有些地方用了大写的表名,如果部署了0.0.1-SNAPSHOT版本,需要设置mysql服务不区分大小写表名
说明:
首页包含了项目项目源代码链接,作者GitHub首页,登录注册和学生上传文件的页面链接。
说明:
学生通过填写学号,姓名和上传要求的文件,然后点击提交就可以完成该任务的提交,提交完之后,下方会出现该任务所有人学号的提交名单。学生提交之后要留意一下是否出现了自己的名单,只有出现了自己的名单才是提交成功,另外主要注意,下面的名单最多显示100条,要查看完整的名单,请点击最下面的链接。
- 老师或班委端的页面主要有以下两个功能页面。
任务概况功能页面
说明:
在这个页面,老师或班委可以查看到所有任务的信息(任务名,已提交数,预提交数,截止提交时间等),还可以对某个人提交的文件或对整个任务所有提交的文件进行下载。另外通过点击该页面中【提交链接->点击获取】超链接,可以获取到某个任务学生应该提交的链接,只要复制新页面的链接或在微信端转发新的学生提交页面给学生,则学生可以通过该学生提交页面提交该任务。
创建/修改 任务功能页面
说明:
在这个页面,老师或班委可以创建任务或修改任务的信息(任务名,截止提交时间,预提交数,要提交的文件类型,该任务描述(备注))。
直接在该页面填写上面的信息,然后点击【创建/修改】按钮,则会弹出【创建成功】消息窗,表示完成创建。创建的新任务会立即出现在下面的任务信息表格中的第一行。
首先在任务信息表格中点击某项任务中的【点击修改】超链接,然后该任务的信息会填写在上面的任务信息输出框中,修改你需要修改的任务信息栏,然后点击【创建/修改】按钮,则会弹出【修改成功】消息窗,表示完成修改。修改的新任务会立即出现在下面的任务信息表格中的第一行。
- 修改版本为 0.0.3-SNAPSHOT
- 修复文件上传可能存在上传到非指定上传的目录问题
- 修改版本为 0.0.2-SNAPSHOT
- 修复注册用户base64类使用错的问题
- 加多一层service层,将老师和学生部分接口抽到service层,初步优化,后面有空再将其他接口也抽
- 格式化代码,按照阿里规范优化部分代码,包含但不仅仅是:驼峰变量命名,可能空指针处理,线程创建修改为spring的异步方法,魔法值,增加多各个方法参数的注释 等等
- 将发送邮件和删除文件修改为异步执行,并修复之前异步执行不生效问题
- 将接收文件邮件人和上传文件的路径修改到配置文件中
- 创建数据库表时间字段的默认值为都设置为now()
- 规范sql中的表名都为小写
- 修复下载文件时,可以下载服务器其他文件的问题
- 添加全局异常类,修改如果前端重复提交两次的bug,还没在服务端也做认证。
- 添加项目使用说明。
- 添加部署时的日志路径和学生上传路径,正式部署时要修改,日志路径和Constant类中的上传路径。
- 添加学生上传文件时,新建一条线程来发送邮件备份,以防数据丢失。
- 修改126服务器发送邮件端口为465,因为默认的端口25,阿里云服务器已经封了。
- 完成发布任务了和得到任务的链接了,还有添加了任务修改功能,基本功能已经全部完成。
- 原来以为3天就能完成的,结果打脸了,还是自己太年轻了,整个项目下来花了10天时间左右,比原来预计的多花了3倍时间。
- 自己对于前端方面还是不太了解了,经过这次,应该以后基本的前端页面已经难不到我了,只想说bootstrap真的太强大了。
- 以后可能会添加,项目删除,学生上传文件时加上发送邮件,找回密码,上传应交名单统计未交名单,全局异常等功能。
1.完成教师或班委查看任务,下载文件,查看所有提交名单的功能页面,和修改学生提交的bug,过了任务的截止时间,则不能再提交了。 2.只差发布任务了和得到任务的链接了。
- 完成学生上传文件功能和学生端的一些其他功能,还差老师或班委的控制页面的设计。
- 完成登录页面功能,还差学生上传文件和老师或班委控制页面的设计
- 完成学生上传文件完善bug功能,老师或班委获取项目链接,增加了一个登陆页面功能
- 还差学生上传文件和老师或班委控制页面的设计。
- 完成所有后端功能的测试工作,修改将时间转化为字符串传到前端。
- 添加postman测试链接:https://documenter.getpostman.com/view/3892535/RzffHouP
- 还差页面设计,学生上传文件完善bug功能,老师或班委获取项目链接
- 完成登陆注册功能,上传文件,获取压缩包文件功能,基本后端功能已经完成。
- 还查测试,老师或班委获取项目链接,和前端页面
- 基本框架已经搭建好,使用spring boot +mybatis +mysql +json数据交互。
- 进度缓慢,还是太久没有做项目了,看来以后需要经常练。
- 目前后端方面已经实现文件上传功能。
2018年11月25日:在这里立下flag,3天之内做好该系统。