前言
其實之前發過很多開源項目推薦了,但每篇文章都有人會問有沒有基於spring boot開發的項目,無一例外。
沒轍,所以今天給大家找了兩個很不錯的spring boot開源項目,希望各位看官老爺們能夠滿意,然后點個小小的贊。
當然了,我知道大伙都是很懶的,所以源碼和文檔也都整理好了,可以直接點擊領取。
好了,話不多說,坐穩扶好,發車嘍!
一、OA自動化辦公系統
1、項目介紹
oasys是一個OA辦公自動化系統,使用Maven進行項目管理,基於springboot框架開發的項目,mysql底層數據庫,前端采用freemarker模板引擎,Bootstrap作為前端UI框架,集成了jpa、mybatis等框架。作為初學springboot的同學是一個很不錯的項目,如果想在此基礎上面進行OA的增強,也是一個不錯的方案。
2、框架介紹
項目結構
前端
技術 | 名稱 | 版本 | 官網 |
---|---|---|---|
freemarker | 模板引擎 | springboot1.5.6.RELEASE集成版本 | https://freemarker.apache.org/ |
Bootstrap | 前端UI框架 | 3.3.7 | http://www.bootcss.com/ |
Jquery | 快速的JavaScript框架 | 1.11.3 | https://jquery.com/ |
kindeditor | HTML可視化編輯器 | 4.1.10 | http://kindeditor.net |
My97 DatePicker | 時間選擇器 | 4.8 Beta4 | http://www.my97.net/ |
后端
技術 | 名稱 | 版本 | 官網 |
---|---|---|---|
SpringBoot | SpringBoot框架 | 1.5.6.RELEASE | https://spring.io/projects/spring-boot |
JPA | spring-data-jpa | 1.5.6.RELEASE | https://projects.spring.io/spring-data-jpa |
Mybatis | Mybatis框架 | 1.3.0 | http://www.mybatis.org/mybatis-3 |
fastjson | json解析包 | 1.2.36 | https://github.com/alibaba/fastjson |
pagehelper | Mybatis分頁插件 | 1.0.0 | https://pagehelper.github.io |
3、部署流程
- 1.下載項目、把oasys.sql導入本地數據庫
-
- 修改application.properties,
-
- 修改數據源,oasys——>自己本地的庫名,用戶名和密碼修改成自己的
-
- 修改相關路徑,配置圖片路徑、文件路徑、附件路徑。(static/image/oasys.jpg 拷貝到配置的圖片路徑下,不然會報 FileNotFoundException )
-
- OasysApplication.java中的main方法運行,控制台沒有報錯信息,數據啟動時間多久即運行成功
-
- 在瀏覽器中輸入localhost:8088/logins
4、演示地址
鏈接:http://oa.lxsir.cn:8088/index (維護中,暫時將關閉)
賬號:test 密碼:test
賬號:soli 密碼:123456
如果對項目感興趣,請Watch、Star項目
6.項目截圖
二、停車場管理系統
【功能介紹】:
①本停車場系統兼容市面上主流的多家相機,理論上兼容所有硬件,可靈活擴展
②相機識別后數據自動上傳到雲端並記錄,校驗相機唯一id和硬件序列號,防止非法數據錄入
③用戶手機查詢停車記錄詳情可自主繳費(支持微信,支付寶,銀行接口支付,支持每個停車場指定不同的商戶進行收款),支付后出場在免費時間內會自動抬桿
④支持app上查詢附近停車場(導航,可用車位數,停車場費用,優惠券,評分,評論等),可預約車位
⑤斷電斷網支持崗亭人員使用app可接管硬件進行停車記錄的錄入。
【技術架構】:
后端開發語言java,框架oauth2+springboot2+doubble2.7.3,數據庫mysql/mongodb/redis,即時通訊底層框架netty4,安卓和ios均為原生開發,后台管理模板vue-typescript-admin-template,文件服務fastDFS,短信目前僅集成阿里雲短信服務。為千萬級數據而生,千萬級用戶無憂,目前真實用戶40w無壓力,大數據時代物聯網必備
【開源情況】:
代碼完全開源,不存在授權問題,完全自主原創,不存在任何后門,不使用任何第三方私有jar包,性能和安全完全自主可控,想怎么耍就這么耍,就是這么任性,后續更新的話本人會持續更新部署教程。代碼專業規范,新手看得懂,高手喜歡用。本系統完全免費
【部署環境】:
目前僅測試linux環境一切正常,win環境沒部署過,演示地址在本文章末尾
軟件架構
1、技術構成簡述
(一)編程語言與架構簡述
1.開發語言
(1)服務端 服務端語言目前均采用java語言開發,jdk版本要求1.8+。開發框架為springboot2+dubbo,鑒權采用oauth2,DB操作框架Mybaits,即時通訊底層框架與協議netty4
(2)客戶端 目前我們主要客戶端分為三個場景,分別為安卓,ios,微信公眾號。安卓與ios均為原生開發,H5頁面web端框架為vue
(3)后台管理 后台管理前端框架采用的是主流的vue element admin(TypeScript版本),分層清晰,官方文檔完整,社區活躍
2.數據存儲
(1)重要數據存儲 重要數據均采用mysql進行存儲,支持部署主從,大部分數據盡可能進行事務處理,確保數據容災性
(2)一般數據存儲 非重要性數據例如聊天內容,系統消息通知,廣告等數據均存儲於mongodb數據庫中
(3)緩存數據存儲 微小量緩存會存在mysql中,例如評論的前N條評論快照會超小量進行字段適當冗余,在提高存儲性價比情況下大大提高數據的查詢能力。其它大部分數據緩存均存儲於redis數據中
3.性能與安全
(1)性能解決方案 架構與技術解決方案均為本團隊一線5年開發經驗總結,目前我們正在接觸的項目真實用戶40w+,毫無壓力,我們系統采用的架構與技術均在仔細多方面綜合考慮后多次調整,采用更加合理,性能更佳的模式與解決方案
(2)安全解決方案 所有請求均需攜帶jwt串token進行訪問,每個接口服務和管理服務均需配置公鑰文件且具有jwt串token合法性校驗能力,用戶權限服務攜帶私鑰文件負責密鑰生成
4.架構與生命力
(1)采用架構 本系統采用阿里巴巴微服務框架dubbo來進行實現微服務提供能力,追求高性能,高可用,超細粒度獨立微服務,相同服務可以動態靈活增加與減少,支持不停機發布新版本服務。每個服務之間均為獨立存在,互不影響。例如短信發送,支付,訂單,停車場系統接口,停車場后台管理,停車場提供者服務等均為獨立的服務。
(2)架構潛力 整個系統眾多服務分工明確,細粒度微服務,實現真正的插拔服務,功能的刪減或停用,新增等均可在不破壞和入侵原來系統的前提下滿足新的開發需求
5.二次開發說明
(1)適用客戶對象
- 本身有互聯網it編程技術和經驗或者擁有技術團隊的。
- 不具備第一個條件但是費用預算比較充足,二次開發需求少或者願意支付高額定制費的
(2)團隊要求 服務器運維,安卓與ios開發者,web前端開發者,java實際開發經驗2年+開發者
(3)技術要求 過硬的java編程能力,網絡編程能力,數據庫設計與優化能力,架構設計能力,微服務思維能力,成熟的前端技術開發能力,中大型系統部署與運營能力
(4)硬件要求 Linux操作系統,8核16G(最低)5M帶寬,可多台服務器中的微服務指向統一微服務調度中心(本系統微服務調度中心管理平台zookeeper)
(二)軟件與硬件數據交互簡述
1.硬件端
(1)目前解決方案 封裝工具類,兼容市場主流硬件設備,只負責各類硬件數據封裝為統一數據結構。硬件發包目前多為http主動推送數據,被動接受服務端返回指令
(2)未來解決方案 改造主流廠商硬件底層服務系統,新增硬件規范的合法身份數據,采用長連接進行數據交互,保證數據與指令的實時性與可靠性得到更好的保障
2.服務端
(1)被動處理硬件數據 中間件處理各類前端數據,接收硬件推送數據,解析,計算,做出相應反饋
(2)主動通知硬件發生事件行為 長連接推送指令,例如開閘,實時動態配置硬件數據等,
二、常規功能簡述
(一)基礎功能 1.硬件管理 支持單個硬件管理與記錄,硬件在線狀態,維修與進度記錄等。與指定停車場出入口進行綁定,均有記錄GPS位置
2.停車場管理 不同時段費用配置,每日封頂因素綜合參與動態計費,也支持靜態+每日上限計費。支持查詢附近停車場功能
3.停車記錄管理 詳細記錄產生時間,地點,進出口位置,進出時間,異常數據實時推送與快速處理
4.支付機構管理 每個停車場的支付賬號均可以獨立配置,支持同一個停車場使用多家支付機構進行支付,例如支付寶,微信,銀聯等。
5.支付與優惠活動管理 支付寶與微信,銀聯都均支持免密支付(無感支付)。本系統自帶優惠券功能,支持支持多種套餐自定義與用戶進行快捷手機上下單隨時購買
(二)特色功能 1.異常數據實時推送,匯報,及時處理,提前預知與通知 2.即時通訊功能(IM聊天溝通) 性能,架構,優化等均參考微信聊天功能機制進行開發
3.行業好友與圈子 讓該應用不止只能停車,還能交到志同道合的行業知音,讓應用更有溫度
4.商城與營銷功能 此功能主要考慮到使用者有運營周邊的興趣和能力,在商城和廣告營銷上進行盈利
安裝教程
- 安裝JDK1.8+
- 安裝MySQL5.6+ 安裝MongoDB 安裝Redis 安裝FastDFS 安裝Zookeeper
- 將打包好的代碼上傳到服務器上,直接運行jar包即可
- 詳細安裝教程文檔地址 https://www.showdoc.cc/902821218399318?page_id=4807644925521516
使用說明(swagger2文檔)
【用戶基礎數據相關】:http://park.cfeng.wang:8080/swagger-ui.html
【停車場相關】:http://park.cfeng.wang:8089/swagger-ui.html
【短信】:http://park.cfeng.wang:8085/swagger-ui.html
【文件上傳】:http://park.cfeng.wang:8088/swagger-ui.html
【支付相關】:http://park.cfeng.wang:8096/swagger-ui.html
國內領先水平 專業演示
演示地址
http://admin.cfeng.wang/ test 123456 【建議不要隨意修改數據,免得影響他人查看效果,非常感謝】
項目地址:https://gitee.com/wangdefu/caraprk_public?_from=gitee_search
往期熱文:
- Java基礎知識總結
- 性能調優系列專題(JVM、MySQL、Nginx and Tomcat)
- 從被踢出局到5個30K+的offer,一路坎坷走來,沉下心,何嘗不是前程萬里
- 100個Java項目解析,帶源代碼和學習文檔!
end