🐼个人主页:爪哇斗罗
🐼博主介绍:一名打工人
🐼签名:圣人之道,为而不争。
🐼一起交流,一起进步,一起互动。
目录
一.项目介绍
二.技术架构
2.1 架构选择
2.2 业务流程
2.3 技术架构图
三. 项目模块
一.项目介绍
尚医通是使用前后端分离的一款医院在线预约挂号项目,主要功能如下图所示:
管理端主要功能分为数据管理,会员管理,订单管理,医院管理与统计管理五大模块。
数据管理模块是对共通数据进行的封装处理,相当于数据字典。会员管理模块是对会员用户的管理,会员权限审批等。
订单管理模块是对客户预约挂号订单的管理。医院管理就是管理相关医院的信息,统计管理是对某一时间段中挂号预约流量的统计。
二.技术架构
2.1 架构选择
后端架构:
- SpringBoot: 简化Spring工程的项目配置,搭建迅速。
- SpringCloud:使用SpringCloud Alibaba后端微服务一站式解决方案。
- Redis:非关系型数据库,做数据的缓存。
- Mybatis:持久层数据库交互。
- RabbitMQ:消息队列。
- Nginx:服务器反向代理,负载均衡。
- Mysql:数据存储。
- MongoDB:文档式的数据缓存存储。
- docker:容器部署打包镜像。
- git: 代码管理工具。
- dockerfile: 定制文件镜像。
- jenkins:持续集成工具。
前端技术:
- vue.js:前端框架。
- node.js:JS的运行环境。
- axios:Web数据交互方式,用于发送请求。
- npm:node.js的包管理工具。
- babel:JS编译器,转码器。
- webpack:前端项目打包工具。
2.2 业务流程
简单介绍一下此项目的主要业务流程,客户通过网页登录到医院的门户网站进行预约挂号。
可以浏览医院的基本信息,预约方式,科室信息等,选择相关医室进行挂号预约,确认成功之后进行支付。
支付完成后可以选择取号,也可以取消挂号退款。
2.3 技术架构图
使用Nginx为外部负载,将请求转发代理到JWT进行统一的网关认证,使用SpringCloud微服务一站式解决方案对各个服务模块进行处理。
使用ELK日志系统对项目日志进行实时地采集,同时对象的文件存储方式使用OSS,此外使用Redis,MongoDB,RabbitMQ一整套集群 对大量用户数据进行处理。
最后通过Docker对整个项目进行自动化的一站式部署。
三. 项目模块
项目中全部的模块主要如下描述:
hospital-manage:医院接口模拟端(已开发,直接使用)
yygh-parent:根目录,管理子模块
common:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
rabbit-util:rabbitmq业务封装
service-util:service服务的工具包,包含service服务的公共配置类,所有service模块依赖于它
server-gateway:服务网关
model:实体类模块
service:api接口服务父节点
service-hosp:医院api接口服务
service-cmn:公共api接口服务
service-user:用户api接口服务
service-order:订单api接口服务
service-oss:文件api接口服务
service-sms:短信 api接口服务
service-task:定时任务服务
service-statistics:统计api接口服务
service-client:feign服务调用父节点
service-cmn-client:公共api接口
service-hosp-client:医院api接口
service-order-client:订单api接口
service-user:用户api接口