Skip to content
/ cfile Public

在线收集文件的项目,不用再让每个人发邮箱到收集人那里

Notifications You must be signed in to change notification settings

KANLON/cfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1fd58f4 · Mar 31, 2023

History

50 Commits
Dec 14, 2018
Dec 14, 2018
Oct 13, 2022
Oct 13, 2022
Dec 27, 2018
Dec 14, 2018
Dec 19, 2018
Mar 31, 2023
Dec 14, 2018
Dec 14, 2018
Nov 4, 2022

Repository files navigation

在线收集文件项目

项目展示链接:cfile.kanlon.top

测试的老师账号和密码为: 用户名:admin 密码:123456

部署项目之前需要,先初始化数据库,执行 ./sql/建表语句备份.sql 该文件的sql即可

restful接口文档地址:https://documenter.getpostman.com/view/3892535/RzffHouP

  这个项目主要是帮助班级班委,老师等便捷收集班级同学的文件的小项目。

  传统收集文件,图片的方式都是通过微信或邮箱收集,这种收集方法难以统计人数和浪费大量同学们发送邮箱的时间,收集人统计的时间。这个项目采用web项目在线收集和自动统计名单,大大减轻收集人的时间和发送者的时间。


项目架构:SpringBoot+Mybatis+MySql+Bootstrap+Jquery+Lombok

包结构

部署注意

  1. 需要授权/opt/cfile下的目录权限,该目录用于文件上传和日志记录,可以执行下面两个命令来获取授权
sudo mkdir -vp /opt/cfile
sudo chmod -R 777 /opt/cfile
  1. 0.0.1-SNAPSHOT版本程序中有些地方用了大写的表名,如果部署了0.0.1-SNAPSHOT版本,需要设置mysql服务不区分大小写表名

项目使用说明

  1. 目前该项目主要分为两类用户,一类是学生(游客)用户,另一类是老师(班委)用户。只有老师(班委)用户有登录功能。

  2. 首页

说明:首页包含了项目项目源代码链接,作者GitHub首页,登录注册和学生上传文件的页面链接。

  1. 学生(游客)端主要页面是以下这个页面。

说明:学生通过填写学号,姓名和上传要求的文件,然后点击提交就可以完成该任务的提交,提交完之后,下方会出现该任务所有人学号的提交名单。学生提交之后要留意一下是否出现了自己的名单,只有出现了自己的名单才是提交成功,另外主要注意,下面的名单最多显示100条,要查看完整的名单,请点击最下面的链接。

  1. 老师或班委端的页面主要有以下两个功能页面。

任务概况功能页面


说明:在这个页面,老师或班委可以查看到所有任务的信息(任务名,已提交数,预提交数,截止提交时间等),还可以对某个人提交的文件或对整个任务所有提交的文件进行下载。另外通过点击该页面中【提交链接->点击获取】超链接,可以获取到某个任务学生应该提交的链接,只要复制新页面的链接或在微信端转发新的学生提交页面给学生,则学生可以通过该学生提交页面提交该任务。

创建/修改 任务功能页面


说明:在这个页面,老师或班委可以创建任务或修改任务的信息(任务名,截止提交时间,预提交数,要提交的文件类型,该任务描述(备注))。

创建新任务

直接在该页面填写上面的信息,然后点击【创建/修改】按钮,则会弹出【创建成功】消息窗,表示完成创建。创建的新任务会立即出现在下面的任务信息表格中的第一行。


修改任务信息

首先在任务信息表格中点击某项任务中的【点击修改】超链接,然后该任务的信息会填写在上面的任务信息输出框中,修改你需要修改的任务信息栏,然后点击【创建/修改】按钮,则会弹出【修改成功】消息窗,表示完成修改。修改的新任务会立即出现在下面的任务信息表格中的第一行。


开发进度记录

2022年10月13日

  1. 修改版本为 0.0.3-SNAPSHOT
  2. 修复文件上传可能存在上传到非指定上传的目录问题

2022年10月13日

  1. 修改版本为 0.0.2-SNAPSHOT
  2. 修复注册用户base64类使用错的问题
  3. 加多一层service层,将老师和学生部分接口抽到service层,初步优化,后面有空再将其他接口也抽
  4. 格式化代码,按照阿里规范优化部分代码,包含但不仅仅是:驼峰变量命名,可能空指针处理,线程创建修改为spring的异步方法,魔法值,增加多各个方法参数的注释 等等
  5. 将发送邮件和删除文件修改为异步执行,并修复之前异步执行不生效问题
  6. 将接收文件邮件人和上传文件的路径修改到配置文件中
  7. 创建数据库表时间字段的默认值为都设置为now()
  8. 规范sql中的表名都为小写
  9. 修复下载文件时,可以下载服务器其他文件的问题

2018年12月12日

  1. 添加全局异常类,修改如果前端重复提交两次的bug,还没在服务端也做认证。
  2. 添加项目使用说明。

2018年12月9日

  1. 添加部署时的日志路径和学生上传路径,正式部署时要修改,日志路径和Constant类中的上传路径。
  2. 添加学生上传文件时,新建一条线程来发送邮件备份,以防数据丢失。
  3. 修改126服务器发送邮件端口为465,因为默认的端口25,阿里云服务器已经封了。

2018年12月8日

  1. 完成发布任务了和得到任务的链接了,还有添加了任务修改功能,基本功能已经全部完成。
  2. 原来以为3天就能完成的,结果打脸了,还是自己太年轻了,整个项目下来花了10天时间左右,比原来预计的多花了3倍时间。
  3. 自己对于前端方面还是不太了解了,经过这次,应该以后基本的前端页面已经难不到我了,只想说bootstrap真的太强大了。
  4. 以后可能会添加,项目删除,学生上传文件时加上发送邮件,找回密码,上传应交名单统计未交名单,全局异常等功能。

2018年12月7日

1.完成教师或班委查看任务,下载文件,查看所有提交名单的功能页面,和修改学生提交的bug,过了任务的截止时间,则不能再提交了。 2.只差发布任务了和得到任务的链接了。

2018年12月6日

  1. 完成学生上传文件功能和学生端的一些其他功能,还差老师或班委的控制页面的设计。

2018年12月5日

  1. 完成登录页面功能,还差学生上传文件和老师或班委控制页面的设计

2018年12月4日

  1. 完成学生上传文件完善bug功能,老师或班委获取项目链接,增加了一个登陆页面功能
  2. 还差学生上传文件和老师或班委控制页面的设计。

2018年12月3日

  1. 完成所有后端功能的测试工作,修改将时间转化为字符串传到前端。
  2. 添加postman测试链接:https://documenter.getpostman.com/view/3892535/RzffHouP
  3. 还差页面设计,学生上传文件完善bug功能,老师或班委获取项目链接

2018年11月30日

  1. 完成登陆注册功能,上传文件,获取压缩包文件功能,基本后端功能已经完成。
  2. 还查测试,老师或班委获取项目链接,和前端页面

2018年11月29日

  1. 基本框架已经搭建好,使用spring boot +mybatis +mysql +json数据交互。
  2. 进度缓慢,还是太久没有做项目了,看来以后需要经常练。
  3. 目前后端方面已经实现文件上传功能。



2018年11月25日:在这里立下flag,3天之内做好该系统。

About

在线收集文件的项目,不用再让每个人发邮箱到收集人那里

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages