最火的 Java 預(yù)約項(xiàng)目教程!優(yōu)質(zhì)編程項(xiàng)目導(dǎo)學(xué)【2】尚醫(yī)通

最懂你心的UP課代表來啦??????
最火的 Java 預(yù)約項(xiàng)目教程!優(yōu)質(zhì)編程項(xiàng)目導(dǎo)學(xué)【2】尚醫(yī)通
目錄
一、演示
二、技術(shù)
三、運(yùn)行
四、建議
一、演示
尚醫(yī)通預(yù)約掛號(hào)平臺(tái)

流程:
預(yù)約管理員
手動(dòng)添加接入系統(tǒng)的醫(yī)院

把自己系統(tǒng)的接口地址以及調(diào)用接口的密鑰給醫(yī)院

每家醫(yī)院可以在自己的管理系統(tǒng)中去添加醫(yī)院的信息,去設(shè)置醫(yī)院的科室以及排班等等

并且通過這類 API 接口把數(shù)據(jù)上傳到預(yù)約管理后臺(tái)之后,用戶就可以在預(yù)約管理系統(tǒng)的前臺(tái)去看到這家醫(yī)院,并且選擇對(duì)應(yīng)的科室,選擇對(duì)應(yīng)的時(shí)間來完成掛號(hào)

首次使用系統(tǒng)時(shí),必須要添加一個(gè)就診人,管理員可以在后臺(tái)查看并審核,用戶選中就診人后,我們就可以確認(rèn)掛號(hào),最后還可以掃碼支付。

此外,管理員后臺(tái)還支持像多級(jí)數(shù)據(jù)字典管理以及掛號(hào)量的統(tǒng)計(jì)分析等功能,非常貼合實(shí)際的業(yè)務(wù)流程。

二、技術(shù)
- 前端用到了 vue作為主要開發(fā)框架,用到了 vue admin template 這個(gè)現(xiàn)成的管理員后臺(tái)模板用到了像 babel Webpack 這樣的打包編譯工具。
- 用到了 nuxt 服務(wù)端渲染的框架,可以有效地提高網(wǎng)頁首屏的加載速度。

- 它是一個(gè)微服務(wù)的項(xiàng)目,用到了 spring cloud 阿里巴巴 nickos 注冊中心
- spring cloud 的一些組件feign遠(yuǎn)程調(diào)用、 gateway 微服務(wù)網(wǎng)關(guān)等等
- 在數(shù)據(jù)存儲(chǔ)這方面,用到了 Mondo DB 還有 MySQL 兩種數(shù)據(jù)庫
- 還用了一些中間件,Redis 做緩存
- 用 RabbitMQ 做異步的消息通知
- 還用了一些小的工具庫
技術(shù)架構(gòu)圖

三、運(yùn)行
Nacos 注冊中心是所有微服務(wù)的聯(lián)系人和情報(bào)員
打開官方文檔,找到快速開始下載源碼

輸入一行命令

啟動(dòng)之后還可以訪問 netls 的管理后臺(tái)來查看已經(jīng)注冊的服務(wù)。

還要啟數(shù)據(jù)庫和一些中間件
建議大家直接到官網(wǎng)本地安裝

啟動(dòng)完一些依賴服務(wù)后,可以進(jìn)入項(xiàng)目目錄中,手動(dòng)啟動(dòng)微服務(wù)項(xiàng)目了
IDEA開發(fā)工具,支持services 的集中管理

一鍵群起所有的微服務(wù)模塊

打開前端項(xiàng)目
預(yù)約賬號(hào)用 npm install 安裝完依賴之后
點(diǎn)擊這個(gè) run dev 運(yùn)行了

打開后臺(tái)管理系統(tǒng)
找到 package. json 然后運(yùn)行 dev 項(xiàng)目自動(dòng)編譯構(gòu)建,可以訪問了。

四、學(xué)習(xí)
建議大家在閱讀源碼的時(shí)候梳理一個(gè)功能模塊圖

醫(yī)院管理后臺(tái)hospital manager 是一個(gè)完全獨(dú)立于其他微服務(wù)模塊的單體項(xiàng)目

使用spring cloud gateway 服務(wù)網(wǎng)關(guān)的作用
第一全局解決了跨域問題
第二配置了一個(gè)統(tǒng)一的攔截器,用來保護(hù)接口

醫(yī)院服務(wù):負(fù)責(zé)醫(yī)院信息的增刪改查
短信服務(wù):手機(jī)驗(yàn)證碼短信發(fā)送
用戶服務(wù):管理用戶信息的增刪改查
訂單服務(wù):下訂單預(yù)約掛號(hào),
存儲(chǔ)服務(wù):存儲(chǔ)一些項(xiàng)目中用到的圖片、文件等等
統(tǒng)計(jì)服務(wù):統(tǒng)計(jì)一下用戶的預(yù)約數(shù)量
定時(shí)任務(wù)服務(wù)給已預(yù)約的用戶發(fā)送就醫(yī)提醒

微服務(wù)劃分的方法:
根據(jù)請求的層級(jí)劃分
根據(jù)業(yè)務(wù)的功能劃分
根據(jù)模塊是否被多個(gè)其他的模塊通用劃分

四、建議
- 這個(gè)項(xiàng)目更適合后端同學(xué)
- 如果你已經(jīng)學(xué)完了 spring boot 并且了解了微服務(wù)的大致知識(shí),可以把這個(gè)項(xiàng)目作為第一個(gè)微服務(wù)的練手項(xiàng)目
- 如果你做過電商項(xiàng)目或者做完這個(gè)項(xiàng)目就不要再做類似業(yè)務(wù)的項(xiàng)目了
- 學(xué)后端的同學(xué)可以跳過前端,學(xué)前端的同學(xué)可以跳過后端
