README.md

    在线收集文件项目

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

    测试的老师账号和密码为: 用户名: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天之内做好该系统。

    项目简介

    云 IDE 应用挑战赛是由 CSDN 自主策划的轻量级挑战赛事。参赛者可在云 IDE 上自动拉取代码并在线运行、预览、提交代码,赛事所有的事项都可以在云 IDE 内一站式完成。比赛不对作品提交形式作限制,参赛者可以尽情发挥自己的想象力。

    具体参赛要求及赛事安排,详见左侧大赛介绍。

    发行版本

    当前项目没有发行版本

    贡献者 5

    慢慢走~ @weixin_48029895
    View Design @viewdesign1
    6 63650ad6a5590a2c92b8ae9b @63650ad6a5590a2c92b8ae9b
    C cpongo2 @cpongo2

    开发语言

    • CSS 48.5 %
    • Java 29.4 %
    • JavaScript 13.0 %
    • HTML 9.1 %