為考-考試平臺
畢業(yè)設計:為考-考試系統(tǒng),后端采用Spring Cloud
,前端采用Vue
3,存儲采用Mysql
,緩存采用Redis
。完成基本的考試功能。完成了遺傳算法自動組卷、文本批量導入題庫,邀請碼加入課程、數據可視化等一系列前后端功能。悄悄的說一下,如果你覺得本項目還湊合,可以給個Star
q(≧▽≦q)
介紹
系統(tǒng)截圖
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
項目地址
為考-考試平臺-前端:
Gitee:https://gitee.com/for-the-exam/exam-web
Github:https://github.com/baymaxsjj/exam-web
為考-考試平臺-后端:
Gitee:https://gitee.com/for-the-exam/exam
Github:https://github.com/baymaxsjj/exam
數據庫數據填充工具:
專為此項目寫的工具,為了給數據庫填充點數據,好測試。其實也是為了畢設演示環(huán)節(jié)有更多的數據進行展示。測試和展示都很好用的工具,可以在你的項目上試試啊(會點Mock.js語法就行)!
Gitee:https://gitee.com/baymaxsjj/sqlmock
Github:https://gitee.com/baymaxsjj/sqlmock
系統(tǒng)
- 框架:SpringBoot、SpringCloud、Mybatis Plus、WebSocket
- 數據庫:Mysql
- 緩存:Redis
- 前端:Vue 3、Vite、Pinia、Arco UI(字節(jié)的,我覺得比其他UI要好看)
完成功能
- 創(chuàng)建課程、添加課程、班級碼加入課程
- 創(chuàng)建班級、查看班級用戶、分享班級碼
- 課堂互相實時聊天
- 創(chuàng)建題庫、題庫樹形分類
- 創(chuàng)建題目(單、多、判、填、主觀)、修改題目選項
- 創(chuàng)建試卷、修改試卷、手動組卷、遺傳算法自動組卷
- 創(chuàng)建考試、修改考試
- 考試控制臺、考試概覽、老師批閱、數據統(tǒng)計、考試監(jiān)控
- 參加考試
- 行為監(jiān)控
- 實時消息通知
- 考試數據導出
- 考生數據統(tǒng)計分析
說明
第一次接觸SpringBoot
和SpringCloud
,為了盡快的完成該項目,很多功能沒有進行太多的規(guī)劃和測試,代碼邏輯較亂。只實現了主要功能,本來是想寫個學習平臺的.但是范圍太大,不太好完成.所以就完成了其中的考試功能.
如果你想以本項目做畢設,我建議你可以以完成其他模塊入手或者完成本項目沒有完成的功能、待優(yōu)化的功能,如后臺管理、錯題本,筆記。可以去體驗下**通,找找思路,不建議直接使用本項目,畢設應該自己去動動手,這將會是你那簡歷中挺好的一個經驗吧~。哎~~不過找工作還是好難找不到?。≌仪岸?,哎,后端吧,東西太多記不住,其實我感覺就是人太多,投簡歷人家都看不見吧~~,還有就是自己的基礎不牢靠,會模仿著實現一些功能,但很多知識記不住??!面向百度編程??!
功能圖
E-R圖
不知道畫的對不對,記得上數據庫實訓的時候,給我那個博客畫的E-R圖,結果被老師訓了一頓。到現在想起還有點害怕>︿<
為考-前端
配置說明
根據實際環(huán)境,更改.env下的請求地址,如后臺網關地址,圖片資源地址
主題
如需更改主題,到下面的網站去制作主題,發(fā)布npm,然后把項目中的npm-@arco-themes/vue-mgo-blog
包改了就行。 Arco UI:使用風格配置平臺,輕松定制主題風格,從容應對各種業(yè)務需求。https://arco.design/themes
安裝pnpm
npm install pnpm -g
安裝依賴
pnpm install
運行項目
pnpm run dev
打包
//編譯
pnpm run build
為考后端
使用說明
下載和啟動nacos
nacos官網下載
startup.cmd -m standalone
更改配置
啟動數據庫:創(chuàng)建并導入本項目中sql目錄下的sql文件。 啟動Redis,Nginx
并修改項目中各個微服務application.yml
中涉及的用戶名和密碼
本地測試
由于注冊功能使用的是郵箱注冊登錄,在本地測試下如果沒有配置郵箱功能,就不能注冊,如需測試使用,請使用:
用戶名:baymax 密碼:s123456
更改圖片上傳地址(如果一樣的話就可以不用更改)
本地通過開啟nginx服務進行靜態(tài)訪問。前端在.env文件中更改圖片服務器的地址。
后端在fte-service/fte-file-service/src/main/resources/application.yml
更該文件保存的路徑,并啟動Nginx
服務器把該路徑作為服務器邏輯。
如果更改了配置,記得在前端
.env
中更改圖片地址,要不然圖片加載不出來
#前端.env
VITE_FILE_PATH=http://localhost:10030
更換 公鑰和私鑰(可選)
keytool -genkeypair -alias jwt -validity 3650 -keyalg RSA -dname "CN=jwt,OU=jtw,O=jwt,L=zurich,S=zurich, C=CH" -keypass 12345 -keystore jwt.jks -storepass 12345
把這個文件放到認證服務器的resouces目錄下
keytool -list -rfc --keystore jwt.jks | openssl x509 -inform pem -pubkey
復制公鑰到資源服務器的resouces目錄下,public.cert
更換郵箱和密碼 (可選)
fte-service/fte-mails-service/src/main/resources/application.yml
mail:
#smtp服務主機 qq郵箱則為smtp.qq.com
host: smtp.qq.com
port: 587
#服務協議
# protocol: smtps
# 編碼集
default-encoding: UTF-8
nickname: baymax
#發(fā)送郵件的賬戶
username: youremail
#授權碼
password: password
更換 第三方登錄信息(可選)
fte-service/fte-user-service/src/main/resources/application.yml
justauth:
enabled: true
type:
gitee:
client-id: idorkey
client-secret: idorkey
redirect-uri: http://127.0.0.1:3030/uapi/public/user/login/GITEE/callback
qq:
client-id: idorkey
client-secret: idorkey
redirect-uri: http://127.0.0.1:3030/uapi/public/user/login/gitee/callback
github:
client-id: idorkey
client-secret: idorkey
redirect-uri: http://127.0.0.1:3030/uapi/public/user/login/github/callback
知識點總結(等論文過了在發(fā)文章補充吧)
遇到的問題
自動批卷
待補充文章來源:http://www.zghlxwxcb.cn/news/detail-447862.html
班級碼生成
待補充
文本批量導入題目
待補充
遺傳組卷
主要思路參考:GADemo,根據需求更改了大部分的邏輯,如初始化種群的時候根據配置分配題型等文章來源地址http://www.zghlxwxcb.cn/news/detail-447862.html
待完善功能
- 通過定時器,在考試開始前將考試信息放入緩存,考試結束后將未提交的自動提交
- 自定義第三方登錄
- 重新批閱
- 教師提交試卷
- 考試監(jiān)控的更多玩法(如粘貼內容顯示)
- 校園認證
- 個人信息修改
- 后臺管理功能和頁面
到了這里,關于畢業(yè)設計開源分享:SpringCloud+Vue3打造在線考試系統(tǒng)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!