此作品使用於:飯店溫泉會員繳費管理

網站首頁

會員管理系統
會員資料新增

會員資料查詢

功能介紹-會員系統
會員系統的新刪修與員工管理的處理非常類似,因此在這裡不特別做介紹。
而是說明查詢時所作的特別處理。
1.當此會員沒有繳費紀錄時,會顯示尚未有繳費紀錄,並新增連結至會員繳費。
2.當會員有繳費紀錄,但尚未啟用時,則顯示啟用按鈕。

繳費管理系統
會員繳費新增

歷史紀錄查詢

功能介紹-會員繳費
因考量現場有收費機制,又因此系統規劃不夠成熟,因此不串接金流系統,只做繳費方式的紀錄。
而外考量會計需產出報表以利統計,因此又新增了報表列印功能。
報表列印功能使用到額外套件:org.apache.poi

員工權限管理系統
員工資料新增

員工權限查詢/設定

功能介紹-員工權限管理

技術重點
Java-Spring Boot

包含了Spring MVC
簡化XML配置
Embedded Tomcat Container
Spring Boot包含了Spring MVC,但它簡化了配置的過程,只需要很少的Spring 配置,就能達到Spring MVC做到的事情。
簡化XML配置,可以以更靈活的方式控制Bean
embedded tomcat container: 不需要額外包War檔,而是內嵌Tomcat,以jar包的形式來運行,便能直接且快速的啟動一個service。
專案架構

Restful API

每隻API基本架構為:
Controller: 負責request的處理,以及業務層面的error handle
Service: 負責業務邏輯的處理
Dao: 使用的是Spring Boot JPA搭配Hibernate的實作,所有的repository皆繼承了JpaRepository(除了基本的CRUD操作外,還包含了分頁排序及批量操作的功能)。
Spring Data JPA(Java Persistence API)
主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,TopLink,JDO等ORM框架各自為營的局面,易於使用,伸縮性強等優點。
優點:
a、不需要寫SQL,SQL會自動生成
b、SQL語句不依賴數據庫,移植性強,更換數據庫較為容易。
缺點:
a、SQL優化比較困難
Docker-使用Docker架設DB

專案心得分享&教學回饋
在製作專案期間工作也非常的忙碌,有一個資深同仁離職,導致身上一下子兼了兩個大專案,還有一個專案正要開始,在此期間專題也正在進行著...
但也很剛好的,讓我可以參考專案的架構,架起自己的專題,讓我更加地了解到底層的架構是如何設計的。
製作專案時除了後端的設計外,在規劃前段頁面時,遇到了很多阻礙...
想要做的事情太多,但實際會的技能太少,只能用簡單的javascript去做頁面的動態變化。
這讓我有了學習前端技術的規劃!
最後感謝
這一路上幫助我的專案老師Charlie
隨時追蹤我進度的崔崔
還有從課程一開始就幫助我解決各種疑難雜症的小幫手
Comments