起因💡
本人有两年大学班委的经验,发现学校团委给班级的一般都是信息整理相关的工作。但现在已经是21世纪,完全没有必要因为收集一些个人信息让每个人都填写一遍excel表再发给班委进行汇总。我之前曾经试过利用腾讯文档进行信息收集,但大部分人都不是很适应,加上目前市面上找不到从excel生成在线表单的工具,每次问卷都需要花一定时间准备,于是我有了写一个自己的网站的想法。
进一步挖掘🤔
更多功能?
在这个生成表单的基础上,我进行深入挖掘,又发现了其他的需要:
- 班级投票、活动报名统计
- 发布班级公告
- 班级活动记录
- 每个学期可有可无的课表统计
- 需要以班级为单位提交的各种实验报告的收集(虽然邮箱也可以)
- 对于某一项需要个人完成的班级工作,实时更新的进度排行(可以直观了解到还有哪些人没有完成任务,另外可以根据每次的时间排行计算班级活动参与度,用做学年素质测评的量化指标)
网站的诱惑力?
那么为了让同学登陆这个网站,这个网站对普通班级成员又能提供什么帮助?我目前认为有以下几点:
- 提供课表,能够查到本学年所有专业课老师的开课时间
- 提供海大的教务信息(直接爬虫动态更新)
- 作业提醒(人工添加记录,到期自动删除)
- 全海大竞赛信息提供(如果能够做到微信爬虫的话…)
大体规划✨
FLASK后端
因为本人没有接触过java,考虑自己有一定的python基础以及python容易上手的特点,抛弃了LAMP架构,后端采用python的flask框架进行搭建。多人合作时难度也相对较低。
VUE前端框架
本人前端知识了解很少,只知道传统的html+css+js,但是查找之后发现VUE是比较流行的解决方案,所有的都要学,那就学个大部分人都说好的。
Python爬虫
因为会涉及到一些教务信息,人工进行更新成本较大,还是用爬虫来实现比较方便,而且只爬教务信息的链接的话,实现起来非常简单。微信爬虫实现难度较大,短期不做考虑。
数据库
上面提供的功能根本离不开数据库,个人只会基础的sql查询,具体选用什么数据库还没有进行更深一步的了解。
内网搭建
网站主要是服务班级人数较少,初期计划部署在树莓派上,直接用海大校园内网IP地址进行访问。因为个人没有建站经验,无法准确估计出实现上述功能所需要的性能,这是整个项目中比较难解决的问题,也是必须解决的问题。
内网搭建还需要解决两个问题:如何获取固定IP、如何保证供电
One more thing
APP or 微信小程序,如果能做出来的话,是对自己的一个锻炼😁
回头看一下自己想要实现的这些功能,基本和目前市面上存在的一些APP的功能类似,但毕竟自己的专业不在这个方面,又需要额外的时间和精力,不能保证最终能够实现。
总结😊
在真正动手写这份报告的时候,我就清楚地感受到,这个网站其实没有特别大的实用性,也没有什么颠覆的点。对于我来说,更大的意义让自己学一点东西,详细了解一下怎么建立网站、怎么写web服务程序。
再从宏观一点的角度来考虑,这个所谓的项目划分成几个部分后实现的功能其实并不复杂,实现的难度也不是很高,所以我认为这个网站想法可以作为SRDP项目来申请,锻炼自己的实践能力。