耗时4个月主要是我懒老拖着,终于大概算写完了这款软件吧,也是我第一次写这么大的软件。从入门学习GUI,到自己写,到数据库,到部署,到处都是知识盲区,主要是自己太垃圾了。
部署服务器,反向代理,防火墙开放端口,数据库操作,自动化测试,系统日志等等等等,一切对我来说都是茫然的,自己还很菜,要走的路还很长。事实证明,参加比赛之后,还是要回归工程,学以致用,大学专业课的知识还是有用的啊。如计算机网络,如数据库等,很遗憾我学的并不好,都是后期现学现查。
此项目的代码都在github上,是我的私人仓库,如果你想继续本软件的开发(pyqt5+sqlalchemy+alembic
),可以联系我,到时候在邀请你。
当然,如果你只是本博客的游客,只是单纯的想问下我这个软件的某些功能如何实现,留言或邮箱均可,我也可以告诉你。实在不便开源代码,望理解。
缺点
同样,本软件也存在缺点,如下:
可以集成Matplotlib, pyqtgraph, pyecharts
等可视化工具在软件中进行简单的分析,奈何我太菜,写不出来。
软件介绍
这里是华北理工大学数学建模协会制作的竞赛信息管理软件version 1.0。
使用方法
确认身份界面
选择自己是管理员还是游客,只能二选一,且选择管理员后,需要账号和密码登录。
登录界面
输入账号和密码进行登录,超级管理员解锁信息管理和录入信息两个界面,普通管理员解锁录入信息界面,外来游客不可进行信息管理和信息录入。当然,胡乱的输入肯定不行:
信息管理界面
由超级管理员负责管理,负责维护竞赛信息等。超级管理员的账号以@admin
结尾,解锁所有权限,可删除除wuyuhang@admin
外的所有账号。
普通管理员只解锁录入信息界面,不解锁信息管理界面。
所以在注册普通管理员时,不要以此结尾,进行普通注册即可,如账号:201614420112
,密码:123456
。
- 账号管理:超级管理员的账号最长为20位,管理员帐号最长20位,密码最长20位,账号不能重复。
- 教师管理:工号唯一,不能重复。
- 学院专业管理:输入专业时,左侧一定要有学院名,否则会报错,因为不知道该专业是哪个学院的。
- 竞赛管理:竞赛名称唯一,不能重复。
录入信息界面
负责录入学生比赛记录、删除记录等。
- 建模博客:录入后会展示在建模博客界面。
- 录入比赛:录入单条学生信息。
- 删除信息:输入学生的学号,得到要删除的记录号,输入要删除的记录号即可删除。(因一个学生会参加多个比赛,学号会重复,所以不能按学号进行删除)。
- 快速录入:待完成。
删除比赛场景:
录入单条比赛,你是谁,学号,专业,性别,教师,获奖名,获奖级别,何时参赛,何时获奖都会录入。
查询信息界面
- 导出数据:超级管理员可以按时间、比赛为索引,选择全部比赛或部分比赛,导出
csv
格式的文件。 - 其他所有人员可按教师查询和按学生查询。
导出CSV文件:
按教师查询:
建模博客界面
收录建模学子自己手动搭建的博客,不收录CSDN、知乎、博客园、简书等依赖第三方平台搭建的博客,无技术门槛,不值得收录。
点击后调用系统浏览器打开,建议使用chrome
或firefox
。
个人空间界面
预留的组队信息、个人展示接口,暂时未开放。
退出界面
退出软件。
下载
由pyinstaller
打包,暂时只支持windows系统64位。
先准备测试,第一次开发软件,没有人带也没有公司开发的经验。不知道怎么配置合适,也不知道如何妥善的收尾,不知道需要生成哪些配置文件,不知道需要记录哪些日志文件,也不知道怎么优化体验等等等等,有问题请及时提供有效的反馈,毕业之前有时间的话,我会修改的。