前言
最近看到了一個考試系統,感受作的挺不錯,而且也比較成熟,因此我就簡單玩了一下。另外,考試系統應用場景還挺多的,不管是對於在校大學生仍是已經工做的小夥伴,而且,相似的私活也有不少。php
在線考試系統後臺管理主頁前端
下面我就把這個項目分享給小夥伴們,很是值得學習,拿來即用!vue
爲了一步一步演示,讓小夥伴們都能成功部署/運行項目, Guide 哥本身本地搭建了項目環境,並將項目成功跑了起來,並使用了其基本的功能。mysql
照着個人步驟,新手也能成功把項目跑起來!web
若是你「感動」的話,點個贊/在看,就是對我最大的支持!redis
另外,如下內容不涉及代碼分析,總體代碼結構比較清晰,熟悉了基本功能以後會很容易看明白。sql
介紹
uexam 是一款先後端分離的在線考試系統。這款在線考試系統,不光支持 web 端,同時還支持微信小程序端。docker
uexam 界面設計美觀,代碼總體結構清晰,表設計比較規範。數據庫
uexam 後端基於 Spring Boot 2.0+MySQL/PostgreSQL+Redis+MyBatis,前端基於 Vue,採用前端後端分離開發!npm
另外,這個項目提供了 MySQL 和 PostgreSQL 兩種不一樣的數據庫版本,下面我以 PostgreSQL 數據庫版本的來演示(建議你們使用和體驗 PostgreSQL 版本)。
項目地址:
軟件架構
軟件架構圖
使用效果
樣式以及操做體驗都是很是不錯的,這也是我推薦這個項目很重要的一個緣由。
管理端
添加學科
在建立題目以前,你須要首要建立學科。這裏咱們建立的學科是編程,年級是三年級。
添加題目
能夠看到這裏能夠添加多種題型: 單選題、多選題、判斷題、填空題、簡答題。
咱們以單選題爲例,添加題目界面以下。
添加成功以後,題目列表就會出現咱們剛剛添加的題目。
添加試卷
有了學科和題目以後才能添加試卷。
添加試卷
添加成功以後,試卷列表就會出現咱們剛剛添加的試卷。
試卷建立成功
添加學生
注意:這裏的學生要和咱們前面建立的學科對應的年級對應上。
添加學生
學生端
使用咱們剛剛建立的學生帳號登陸,你會發現主頁多了一個試卷。這個試卷就是咱們剛剛在管理端建立的。
學生端-主頁
試卷答題界面以下。
學生端-試卷
啓動
後端
咱們這裏以 PostgreSQL 數據庫版原本演示。
安裝 PostgreSQL
這裏咱們使用 Docker 下載最近版的 PostgreSQL 鏡像 ,默認你們已經安裝了 Docker。
$ docker pull postgres
查看 PostgreSQL 鏡像:
-
$ docker images |grep postgres
-
postgres latest 62473370e7ee 2 weeks ago 314MB
運行 PostgreSQL:
$ docker run -d -p 5432:5432 --name postgresql -e POSTGRES_PASSWORD=123456 postgres
安裝 Redis
這裏咱們使用 Docker 下載最近版的 Redis 鏡像 ,默認你們已經安裝了 Docker。
$ docker pull redis
查看 Redis 鏡像:
-
$ docker images |grep redis
運行 Redis:
$ docker run -itd --name redis-test -p 6379:6379 redis
建立數據庫並執行數據庫腳本
首先建立一個名字叫作xzs 的數據庫,而後執行相應的數據庫腳本便可(數據庫腳本在 uexam/source/xzs/sql 目錄下。)。
配置文件修改
使用 IntelliJ IDEA 打開 uexam/source/xzs (後臺代碼),修改 application-dev.yml ,將 postgesql/mysql、redis 的服務地址改成本身本地的。
啓動項目
直接運行 XzsApplication 便可。
啓動成功後,打開下面的連接便可跳轉到對應的端:
- 學生系統地址:http://localhost:8000/student
- 管理端地址:http://localhost:8000/admin
注意:這種方式,前端雖然也啓動了,也能訪問,不過是內嵌在後端項目中。若是若是咱們須要先後端分離的話,須要單獨運行前端項目
前端
小程序端的就不演示了,我這裏只演示一下 web 端的。
web 端代碼在 uexam/source/vue 下,咱們須要首先進入這個目錄,而後分別對 xzs-admin (管理端) 和 xzs-student (學生端)執行下面兩個命令。
1.下載相關依賴
$ npm install
2.啓動項目
$ npm run serve


啓動完成以後,打開下面的連接便可跳轉到對應的端:
- 學生系統地址:http://localhost:8001
- 管理端地址:http://localhost:8002