作业管理系统
- 📦 能上传并存储作业文件
- 🐤 所有人能查看哪个同学交了,哪个同学没交,这样可以互相提醒
- 🚴♀️ 以学期、课程、和任务名字来管理文件
- 🎈 操作简单,不需要同学们登录,能随时查看他们上传了什么东西上来。(PS: 不许上传涩图啊喂!!)
- ⌚ 有显示作业截止时间,并且要有距离倒计时
- 🙇♀️ 能随时创建任务,随时修改删除任务
- 😡 还要有展示我伟岸形象的彩蛋
主页
上传文件界面(上传文件名必须包含学号,因为学号是我来判断他们交没交的唯一标识)
查看提交人数
彩蛋
后端 | go | gin | gorm2 | minio | MySQL8 |
---|---|---|---|---|---|
前端 | Vue2 | Axios | element-UI |
任务表
课程表
学生表
文件表 (只做了设计,并没有去实现)
表结构不需要你过问,因为做了数据迁移,只要你数据库名字存在即可,配置文件在config/config.yaml
students.yaml为自己班级的名字和学号,按照模板来填写即可
# 安装包
go mod tidy
# 连接配置好mysql和minio,再修改students.yaml为自己班级同学
go run main.go
# 或者
go build task -o main.go
./task
推荐goland和webstorm打开运行即可
-
docker
二进制部署(由于我系统为Ubuntu, 该二进制部署方法不能使用)
## dockerfile 以下为正文 --------------------------------------------------------------------------------- ## linux 直接采用二进制文件运行 FROM ubuntu:latest ## 设置时区为上海 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone ## 设置编码 ENV LANG C.UTF-8 ## 添加当前目录二进制文件进容器当中 ADD ./task ./task CMD ["./task"]
再配置好docker,可以远程服务器或者自己本地,--network host不设置会设计容器通讯问题
没有报错则成功了
##此时可以docker ps查看 dockers ps ## 如果没有看见自己设置容器名字则查看日志 xx为容器id或者名字 dockers ps -a docker logs xx
-
编译部署同理
略..
先装好mysql和minio。 有docker环境可以运行dockercompose
docker compose up -d
注意:老版本可能使用docker-compose
直接go build 将二进制copy进服务器
go build task -o main.go在服务器直接nohup 日志文件输入out.txt 后面的与符合为后台运行
nohup ./task >out.txt&
前端
将build后的所有文件放入Apache服务区的渲染文件夹里面
默认地址为/var/www/html