背景

为学生提供便捷的课程选择方式,并帮助学校进行课程管理和资源调配;主要功能包括:课程展示,自主选课,取消选课,后台录入课程,统计每门课程报名情况,导出数据,用户管理,管理员管理等。

  • 用户角色:查看课程详情(课程大纲、授课方式、考核方式、学分等信息)、在特定的时间窗口内开放选课,用户可以在规定时间内自由选课
  • 管理员角色:发布选修课程信息,包括课程内容、时间安排、教学大纲
  • 后台选课管理:按每门课程进行选课统计,支持名单数据导出Excel,打印

概要设计

image.png

技术运用

  • 前端基于微信小程序平台进行开发
  • 后端基于Java Springboot架构开发
  • 数据库: MySQL (8.0+)

数据库设计


-- ----------------------------
-- Table structure for enlesson_enroll
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_enroll`;
CREATE TABLE `enlesson_enroll`  (
  `ENROLL_ID` int NOT NULL AUTO_INCREMENT,
  `ENROLL_TITLE` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `ENROLL_VOUCH` int NOT NULL DEFAULT 0,
  `ENROLL_STATUS` int NOT NULL DEFAULT 0,
  `ENROLL_CATE_ID` int NOT NULL DEFAULT 0,
  `ENROLL_CATE_NAME` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `ENROLL_MAX_CNT` int NOT NULL DEFAULT 0,
  `ENROLL_START` bigint NOT NULL,
  `ENROLL_END` bigint NOT NULL,
  `ENROLL_ORDER` int NOT NULL DEFAULT 9999,
  `ENROLL_VIEW_CNT` int NOT NULL,
  `ENROLL_JOIN_CNT` int NOT NULL DEFAULT 9,
  `ENROLL_FORMS` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `ENROLL_OBJ` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `ADD_TIME` bigint NULL DEFAULT 0,
  `EDIT_TIME` bigint NULL DEFAULT 0,
  PRIMARY KEY (`ENROLL_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for enlesson_enroll_join
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_enroll_join`;
CREATE TABLE `enlesson_enroll_join`  (
  `ENROLL_JOIN_ID` int NOT NULL AUTO_INCREMENT,
  `ENROLL_JOIN_ENROLL_ID` int NOT NULL DEFAULT 0,
  `ENROLL_JOIN_USER_ID` int NOT NULL DEFAULT 0,
  `ENROLL_JOIN_STATUS` int NOT NULL DEFAULT 0,
  `ADD_TIME` bigint NOT NULL DEFAULT 0,
  `EDIT_TIME` bigint NOT NULL DEFAULT 0,
  PRIMARY KEY (`ENROLL_JOIN_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1931 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for enlesson_fav
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_fav`;
CREATE TABLE `enlesson_fav`  (
  `FAV_ID` int NOT NULL AUTO_INCREMENT,
  `FAV_USER_ID` int NOT NULL DEFAULT 0,
  `FAV_TITLE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `FAV_TYPE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `FAV_OID` int NOT NULL DEFAULT 0,
  `FAV_PATH` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `ADD_TIME` bigint NOT NULL DEFAULT 0,
  `EDIT_TIME` bigint NOT NULL DEFAULT 0,
  PRIMARY KEY (`FAV_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for enlesson_news
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_news`;
CREATE TABLE `enlesson_news`  (
  `NEWS_ID` int NOT NULL AUTO_INCREMENT,
  `NEWS_TITLE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `NEWS_CATE_ID` int NOT NULL DEFAULT 0,
  `NEWS_CATE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `NEWS_STATUS` int NOT NULL DEFAULT 1,
  `NEWS_ORDER` int NOT NULL DEFAULT 9999,
  `NEWS_VOUCH` int NOT NULL DEFAULT 0,
  `NEWS_CONTENT` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `NEWS_VIEW_CNT` int NOT NULL DEFAULT 0,
  `NEWS_PIC` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `NEWS_OBJ` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `NEWS_FORMS` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `ADD_TIME` bigint NOT NULL DEFAULT 0,
  `EDIT_TIME` bigint NOT NULL DEFAULT 0,
  PRIMARY KEY (`NEWS_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 68 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for enlesson_setup
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_setup`;
CREATE TABLE `enlesson_setup`  (
  `SETUP_ID` int NOT NULL AUTO_INCREMENT,
  `SETUP_TYPE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `SETUP_KEY` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `SETUP_VALUE` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `ADD_TIME` bigint NOT NULL DEFAULT 0,
  `EDIT_TIME` bigint NOT NULL DEFAULT 0,
  PRIMARY KEY (`SETUP_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for enlesson_user
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_user`;
CREATE TABLE `enlesson_user`  (
  `USER_ID` int NOT NULL AUTO_INCREMENT,
  `USER_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `USER_ACCOUNT` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `USER_STATUS` int NOT NULL DEFAULT 1,
  `USER_PASSWORD` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `USER_LOGIN_TIME` bigint NOT NULL DEFAULT 0,
  `USER_LOGIN_CNT` int NOT NULL DEFAULT 0,
  `USER_OBJ` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `USER_FORMS` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `ADD_TIME` bigint NOT NULL DEFAULT 0,
  `EDIT_TIME` bigint NOT NULL DEFAULT 0,
  PRIMARY KEY (`USER_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

SET FOREIGN_KEY_CHECKS = 1;

UI设计

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

后台管理

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

git代码下载

点击下载


CC同学呀
24 声望15 粉丝

鹅厂程序猿一枚,交流v: cclinux0730