本文最后更新于 2023-10-12,文章内容可能已经过时。

低代码综测平台

问题引入:

每个大学都有综测,但是综测的组成成分各不相同,而对于很多学校来说,并没有以学校为单位的针对性的系统来管理每一个同学的综测.
同时,在大学生的课程领域也存在着类似的问题.一门课程的成绩往往由两个或者多个部分组成.但是基于同样的原因,同学们没有办法在漫长的课程进行过程中看到自己这门课动态的成绩变化,教师也无法方便有效的管理数据.
显而易见,可以使用低代码平台构建对应的解决方案,但是当前的低代码平台存在定义流程逻辑复杂,而且需要考虑部署,运维等等一系列问题,不太适合非计算机专业人士使用.本项目就是为了解决这些问题.

项目介绍:

1.1 总体介绍:

本项目是一个基于低代码技术的综测平台,用户可以通过简单的定制就可以生成基于自己学校综测结构的数据库表和crud代码。教师也可以通过简单的制定规则就可以为自己的课程建立成绩构成机制,并且能够简单便捷的对其进行管理。同学则可以通过微信小程序,方便及时的看到自己课程成绩与综测分数的及时变化。

1.2 项目架构:

项目架构图如下:

image-20230607151012228

客户端包括前端和微信小程序,后端部分采用微服务架构,各个服务功能介绍如下:

1.2.1 user-sever:

主要管理和维护用户,实现注册,登录,权限管理,网关拦截等功能。

用户的主要角色有:

内部管理员:系统的管理者,负责管理和维护整个系统。

高校负责人:负责创建本校的综测评分机制,以及将相关加分信息和学校课程录入系统。

教师:负责发布课程,管理课程相关信息,导入各行成绩。

学生:查看自己的各个课程的成绩和综测成绩。

1.2.2 grade-sever:

与web前端进行交互,通过接口获取定义综测成绩构成的相关信息,通过create table sever进行统一的数据库表和源代码的创建。

1.2.3 grade-manage-sever:

与web前端进行交互,主要维护grade-sever创建的特定的数据库,主要实现面向管理员的数据导入,修改,删除和吗,面向学生的数据查询功能。

1.2.4 class-sever:

与web前端进行交互,主要负责课程的创建,课程与学校之间的绑定,课程加分结构的确立以及对应数据库表的生成。

1.2.5 class-manage-sever:

处理来自teacher和students的相关信息,实现对class表的相关crud操作。

1.2.6 teacher-sever:

程序的教师端微信小程序入口,主要负责教师在移动端进行成绩查询,成绩导入,修改和删除操作。

1.2.7 student-sever:

程序的学生端微信小程序入口,主要负责学生查询自己的综测成绩,课程成绩,课程的具体得分构成等。

http框架采用springboot,springcloud,hertz,rpc框架采用kitex,代码生成为springboot后端代码,使用java parser库。

1.3 功能介绍:

1.3.1 web网页:

主要使用者为管理员和教师进行操作.

管理员负责指定学校的综测分数组成结构,并导入各种项目加分的文件。

教师则使用网页进行课程的创建和学生的导入(学生也可自行注册)

1.3.2 微信小程序:

主要使用者为教师和学生。

教师使用小程序添加,修改和删除课程中学生的相关列的成绩。

学生则使用微信小程序查看自己的成绩和综测得分。

1.4 技术栈:

springcloud,hertz,kitex.

Elasticsearch

redis

robbitmq

springsecurity oauth2