写点什么

从 0 到 100:基于 Java 的大学选修课选课小程序开发笔记(上)

作者:CC同学
  • 2024-12-29
    广东
  • 本文字数:3013 字

    阅读完需:约 10 分钟

背景

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


  • 用户角色:查看课程详情(课程大纲、授课方式、考核方式、学分等信息)、在特定的时间窗口内开放选课,用户可以在规定时间内自由选课

  • 管理员角色:发布选修课程信息,包括课程内容、时间安排、教学大纲

  • 后台选课管理:按每门课程进行选课统计,支持名单数据导出 Excel,打印

概要设计

技术运用

  • 前端基于微信小程序平台进行开发

  • 后端基于 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 设计








后台管理










git 代码下载

点击下载

用户头像

CC同学

关注

CC同学的小程序开发笔记 2021-06-13 加入

大鹅厂的小小程序媛,vx: cclinux0730

评论

发布
暂无评论
从0到100:基于Java的大学选修课选课小程序开发笔记(上)_CC同学_InfoQ写作社区