作業收繳系統設計手冊(自寫開源小系統)
系統旨在優化作業上交流程,解決收繳作業的繁瑣過程,傳統收繳作業基於qq檔案,或者郵箱收發。需要大量的人工操作和精力取維護。而本系統將作業系統部署到伺服器,大大方便了教師/收作業者對作業的管理。系統精美簡單易用。能夠滿足大部分需求。專案已開源,可以自己使用或者二次開發等等。 歡迎star :sob:!! 開發工具:IDEA+postman+nivicat 主要框架:Springboot+Mybatis+Shiro+Druid 其他框架/工具:devtools,Easyexcel(poi),Mybatis-generator, 執行環境:Tomcat8.5以上,Mysql5或8
資料庫設計
這個資料庫是老師給我讓我完成的,7張表只用了6張,老師給了一些關鍵性的外來鍵,其實還有一些外來鍵參考,但鑑於系統並不是完全完善並且對邏輯影響不是很大,所以我就沒加上那些外來鍵。如果有需要可自行新增。

對於資料庫解讀是最重要的一步。對於專案並沒有太多複雜的邏輯需求。所以直接從資料庫開始。
teacher
- 此表包含教師資訊的基本欄位,包過工號,姓名,密碼,level是許可權用的,管理員教師可以操作其他教師,level為0許可權為管理員,其他為普通教師。
student
- 此表包含學生的基本資訊
teachclass
- 此表為課程表,一個老師不同學期可能帶幾個班級,這個課程就要有學期,名稱,學分,課程型別,對應教師等資訊。
job
- 這個可以理解為具體實驗表(作業),沒門課程老師可能釋出不同的作業,就要有對應的介紹。
studentclass
- 這是學生和課程聯絡的中介。一個學生可以在不同課程中上課,課程id(teachclass表的ID和學號為唯一索引)
score
- 這就是提供教師打分記錄表,學生提交後教師可對學生打分存入資料庫。
專案目錄
前端

前端檔案一覽:

,並沒有用別人寫好的layui模板進行巢狀修改,而是從0開始從layui官方開始參考文件一點點用元件。
前端為主介面+iframe小介面,中間的內容框為ifame介面顯示內容。
淺談layui:
-
以前就接觸過layui,以前和隊友配合隊友寫前端自己隊友用的就是前端。還有以前幫姐姐寫的小東西也是用的layui,不過那次用的layui不是真的layui。。那只是用到layui漂亮的外表。清晰記得。套過來layui的殼子,然後能用thymleaf互動的地方就不用ajax。。遇到ajax的地方(比如表格)等等就瘋狂Jquery拼湊html,雖然外觀還行,但是可維護性很差,自己都不清楚自己寫那去了。
-
造成上述的原因主要是因為自己太過墨守成規,以為ui框架只是提供ui, 而事實上一個優秀的框架往往比你想象的還要優秀的多 。不僅是美麗的外觀,還有強大的功能和便捷的使用。這就要耐心的閱讀文件,不要被文件嚇到。
-
在本系統中用到layui多個元件。如表單,表格,時間日期,檔案上傳,表格等等,layui雖然不是雙向繫結模式,但是layui對於控制元件fitter的繫結和監聽做的特別好,雖然大部分方便了使用但是會使得部分傳統方法出現失效的問題需要自己解決。layui大部分都是基於ajax的非同步傳輸。在系統初用的是thymleaf,後來發現在layui的領域thymleaf並不能展現過大的便捷性,後面的就都用html了。其次就是layui的一些東西可能對後端新手(比如我)有一些新穎。layui表單等等封裝了很便捷的非同步提交方式。你大部分的傳輸方式要按照他的規則來,但是也有一些時候他可能滿足不了你的需求你需要解決。對於layui更多功能,詳細參考layui官當demo
後端就是mvc的設計架構: