课表是大学生必备工具,但当前课表管理存在诸多不便:
-
登录教务系统步骤较为繁琐
-
教务处课表页面不适配移动端
-
课表难以存到本地随时查看
-
课表有更新时需要重复登录教务处
针对如上痛点,本项目有针对性的逐一解决。
首先是整体思路,要解决如上问题,首先需要最基本的移动端课表载体——手机APP,那么课表数据从何而来呢?一个思路是让用户手动将课表数据导入。实际上,当前根据此思路开发的许多第三方课表已经相当成熟,但这又带来了新的问题,即导入课表数据同样较为繁琐,提高了使用门槛,而课表有更新时也需要重复登录,在我看来这不算一种很好的解决方案。
因此我决定采用更为彻底的代理思路,将整个获取数据的完整流程(登录校外VPN->登录统一身份认证->跳转到教务处页面->获取课表数据->解析数据发送至手机APP)全部放在服务器,用户只需要输入账号密码,即可一次获取所有课表的数据,然后将课表数据存储在本地,用户需要再次查看时直接访问本地数据即可。
具体的后端实现使用了python自动化测试库selenium和Java后端框架SpringBoot,请求流程如下: