一、開發環境
本在線教育系統主要采用以下技術棧進行開發:
- B/S結構:基于瀏覽器/服務器模式,便于用戶通過互聯網訪問系統,無需安裝客戶端軟件。
- Spring Boot框架:簡化了新Spring應用的初始搭建及開發過程,提高了開發效率。
- MYSQL數據庫:作為關系型數據庫管理系統,具有功能強大、使用簡單、管理方便等特點,為系統提供穩定的數據存儲支持。
二、系統概要設計
1 概述
本系統采用B/S結構(Browser/Server,瀏覽器/服務器結構)和基于Web服務兩種模式,是一個適用于Internet環境下的模型結構。只要用戶能連上Internet,便可以在任何時間、任何地點使用。系統工作原理圖如圖1所示:
2 系統結構
本系統是基于B/S架構的網站系統,設計的功能結構圖如下圖所示:
3 數據庫設計
3.1 數據庫實體
本系統的E-R圖展示了各個實體及其屬性之間的關系,包括管理員、課程、用戶等實體。
- 管理員信息實體屬性圖:
- 課程信息實體屬性圖:
- 用戶信息實體屬性圖:
3.2 數據庫設計表
在線教育系統需要后臺數據庫,下面介紹數據庫中的各個表的詳細信息:
表1 地址
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
userid | bigint(20) | 否 | 用戶id | |
address | varchar(200) | 否 | 地址 | |
name | varchar(200) | 否 | 收貨人 | |
phone | varchar(200) | 否 | 電話 | |
isdefault | varchar(200) | 否 | 是否默認地址[是/否] |
表2 購物車表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
tablename | varchar(200) | 是 | kecheng | 商品表名 |
userid | bigint(20) | 否 | 用戶id | |
goodid | bigint(20) | 否 | 商品id | |
goodname | varchar(200) | 是 | NULL | 商品名稱 |
picture | varchar(200) | 是 | NULL | 圖片 |
buynumber | int(11) | 否 | 購買數量 | |
price | float | 是 | NULL | 單價 |
discountprice | float | 是 | NULL | 會員價 |
表3 教師評論表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4 課程評論表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表5 名師評論表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表6 講師
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
jiangshigonghao | varchar(200) | 否 | 講師工號 | |
mima | varchar(200) | 否 | 密碼 | |
jiangshixingming | varchar(200) | 否 | 講師姓名 | |
xingbie | varchar(200) | 是 | NULL | 性別 |
nianling | varchar(200) | 是 | NULL | 年齡 |
touxiang | varchar(200) | 是 | NULL | 頭像 |
lianxidianhua | varchar(200) | 是 | NULL | 聯系電話 |
jiangshiyouxiang | varchar(200) | 是 | NULL | 講師郵箱 |
money | float | 是 | 0 | 余額 |
表7 教師
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
jiangshigonghao | varchar(200) | 是 | NULL | 講師工號 |
jiangshixingming | varchar(200) | 是 | NULL | 講師姓名 |
xingbie | varchar(200) | 是 | NULL | 性別 |
touxiang | varchar(200) | 是 | NULL | 頭像 |
huojiangzhengshu | longtext | 是 | NULL | 獲獎證書 |
suoshudanwei | varchar(200) | 是 | NULL | 所屬單位 |
jiaoshoukecheng | varchar(200) | 是 | NULL | 教授課程 |
xiangxixinxi | longtext | 是 | NULL | 詳細信息 |
表8 課程
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
kechengbianhao | varchar(200) | 是 | NULL | 課程編號 |
kechengmingcheng | varchar(200) | 是 | NULL | 課程名稱 |
suoshufenlei | varchar(200) | 是 | NULL | 所屬分類 |
keshishu | int(11) | 是 | NULL | 課時數 |
suoshujiangshi | varchar(200) | 是 | NULL | 所屬講師 |
kechengfengmian | varchar(200) | 是 | NULL | 課程封面 |
suoshudaxue | varchar(200) | 是 | NULL | 所屬大學 |
kechengshipin | varchar(200) | 是 | NULL | 課程視頻 |
kechengdagang | longtext | 是 | NULL | 課程大綱 |
kechengxiangqing | longtext | 是 | NULL | 課程詳情 |
clicktime | datetime | 是 | NULL | 最近點擊時間 |
clicknum | int(11) | 是 | 0 | 點擊次數 |
price | float | 否 | 價格 |
表9 課程分類
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
fenlei | varchar(200) | 是 | NULL | 分類 |
表10 課程管理員
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
kechengzhanghao | varchar(200) | 否 | 課程賬號 | |
mima | varchar(200) | 否 | 密碼 | |
kechengxingming | varchar(200) | 否 | 課程姓名 | |
xingbie | varchar(200) | 是 | NULL | 性別 |
shouji | varchar(200) | 是 | NULL | 手機 |
youxiang | varchar(200) | 是 | NULL | 郵箱 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
money | float | 是 | 0 | 余額 |
表11 名師
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
jiangshigonghao | varchar(200) | 是 | NULL | 講師工號 |
jiangshixingming | varchar(200) | 是 | NULL | 講師姓名 |
xingbie | varchar(200) | 是 | NULL | 性別 |
touxiang | varchar(200) | 是 | NULL | 頭像 |
huojiangzhengshu | longtext | 是 | NULL | 獲獎證書 |
suoshudanwei | varchar(200) | 是 | NULL | 所屬單位 |
jiaoshoukecheng | varchar(200) | 是 | NULL | 教授課程 |
xiangxixinxi | longtext | 是 | NULL | 詳細信息 |
clicktime | datetime | 是 | NULL | 最近點擊時間 |
表12 訂單
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
orderid | varchar(200) | 否 | 訂單編號 | |
tablename | varchar(200) | 是 | kecheng | 商品表名 |
userid | bigint(20) | 否 | 用戶id | |
goodid | bigint(20) | 否 | 商品id | |
goodname | varchar(200) | 是 | NULL | 商品名稱 |
picture | varchar(200) | 是 | NULL | 商品圖片 |
buynumber | int(11) | 否 | 購買數量 | |
price | float | 否 | 0 | 價格/積分 |
discountprice | float | 是 | 0 | 折扣價格 |
total | float | 否 | 0 | 總價格/總積分 |
discounttotal | float | 是 | 0 | 折扣總價格 |
type | int(11) | 是 | 1 | 支付類型 |
status | varchar(200) | 是 | NULL | 狀態 |
address | varchar(200) | 是 | NULL | 地址 |
tel | varchar(200) | 是 | NULL | 電話 |
consignee | varchar(200) | 是 | NULL | 收貨人 |
表13 普通管理員
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
putongzhanghao | varchar(200) | 否 | 普通賬號 | |
mima | varchar(200) | 否 | 密碼 | |
putongxingming | varchar(200) | 否 | 普通姓名 | |
xingbie | varchar(200) | 是 | NULL | 性別 |
shouji | varchar(200) | 是 | NULL | 手機 |
youxiang | varchar(200) | 是 | NULL | 郵箱 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
money | float | 是 | 0 | 余額 |
表14 收藏表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
userid | bigint(20) | 否 | 用戶id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名稱 | |
picture | varchar(200) | 否 | 收藏圖片 |
表15 管理員表
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
username | varchar(100) | 否 | 用戶名 | |
password | varchar(100) | 否 | 密碼 | |
role | varchar(100) | 是 | 管理員 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增時間 |
表16 用戶
字段 | 類型 | 空 | 默認 | 注釋 |
---|---|---|---|---|
id (主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
zhanghao | varchar(200) | 否 | 賬號 | |
mima | varchar(200) | 否 | 密碼 | |
nicheng | varchar(200) | 否 | 昵稱 | |
xingbie | varchar(200) | 是 | NULL | 性別 |
shouji | varchar(200) | 是 | NULL | 手機 |
youxiang | varchar(200) | 是 | NULL | 郵箱 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
money | float | 是 | 0 | 余額 |
三、系統詳細實現
1 普通管理員管理
管理員可以對普通管理員賬號信息進行添加修改刪除操作。具體界面的展示如圖1所示。
2 課程管理員管理
管理員可以對課程管理員進行添加修改刪除操作。具體界面如圖2所示。
3 課程信息管理
課程管理員可以對課程信息進行添加,修改,刪除以及查詢操作。界面如下圖所示:
4 用戶信息管理
普通管理員可以對用戶信息進行添加修改刪除操作。界面如下圖所示:
5 講師信息管理
管理員可以對講師信息進行添加修改刪除操作。界面如下圖所示:
源碼+論文下載>>