nb-netpump

Downloads Build Status Build Status

### 简介 n该项目是基于VUE3.x、SpringBoot2.x、Sa-Token、MyBatis-Plus、Redssion等技术实现帮助医患沟通、远程监控设备、辅助医生诊断的中央监护管理系统。 ### 特性 - WEB容器使用了undertow,相较于tomcat,并发性更好,性能要好一些。 - Lombok,消除冗长的java代码,更加简化。 - Mybatis Plus,可以简化CRUD开发。 - Mybatis Plus Generator,生成前后端代码,简化开发工作量。 - 使用java新特性,Stream API、lambda表达式等。 - Hutool工具集合,减少项目工具类的编写。 - Sa-Token权限认证框架,细分到页面按钮级别。 - EasyExcel,方便导入导出功能,自定义Convert类,实现了数据字典的转化。 - Guava,非常方便的java工具集,提供了类似Lists.newArrayList()和Sets.newHashSet()等静态方法。 - DataSource注解,支持多数据源切换。 - Fastjson,方便了JSON的格式化和解析。 - Alibaba Java Coding Guidelines插件,IDEA插件,提高代码质量。 - MinIO,分布式文件存储。 - Redssion 分布式锁、延迟队列 - 前端框架采用最新技术栈,Vue3 & Vite,打包更快更轻。 - 前端框架采用TypeScript和Eslint,规范代码,提高项目可持续性和可维护性。 ### 预览 ### 项目地址 ### 项目结构 ``` nb-root ├── nb-admin -- 项目启动地址 ├── nb-auth -- 权限模块 ├── nb-common -- 通用模块 ├── config-common -- 通用配置模块,web配置、redis配置、mybatis配置等 ├── crud-common -- 单表查询通用配置模块 ├── delay-queue-common -- 延迟队列模块,使用redisson延迟队列功能 ├── log-common -- 日志模块 ├── ws-common -- websocket模块,根据主题实现订阅发布功能 ├── nb-core -- 内置功能,核心模块 ├── nb-oss -- 文件存储模块 ├── nb-service -- 服务实现模块 ├── iot-service -- 物联网设备对接模块 ├── web-service -- web端后台管理模块 ├── nb-service-api -- 服务api模块 ``` ### 核心依赖 | 依赖 | 版本 | | ---------------------- | ------------ | | Spring Boot | 2.5.8 | | Sa Token | 1.29.0 | | Mybatis Plus | 3.5.1 | | Mybatis Plus Generator | 3.4.1 | | Hutool | 5.7.21 | | Guava | 30.1.1-jre | | EasyExcel | 3.0.5 | | Fastjson | 1.2.79 | | Minio | 8.3.7 | | Redssion | 3.17.0 | ### 内置功能 ``` 1、输注信息 2、统计查询 3、信息维护 4、系统监控 5、系统管理 ``` ### 环境安装 ``` 1、安装Mysql数据库,安装Redis,安装MinIO文件存储。 2、执行./doc/db/schema.sql,创建数据库。 3、执行./doc/db/coffee.sql,创建数据表和插入基础数据。 ``` ### Docker常用命令 ``` 1、查看镜像 docker images 2、查看所有容器 docker ps -a 3、拉取镜像 docker pull redis:latest 4、参数解释 --name,设置运行的镜像名称 -p,映射端口,虚拟机端口:docker端口 -e,设置环境变量 -v,挂载目录/文件,虚拟机目录/文件:docker目录/文件 --privileged=true,设置特权,比如为mysql获取root权限 -d,守护进程后台运行 -it,启动并运行 --restart=always,在docker服务重启后,自动重启mysql服务,也可以把docker服务作为开机启动,这样mysql就可以跟着开机启动了 --link,设置容器别名 ``` ### Docker安装Redis ``` 1、拉取镜像 docker pull redis:latest 2、启动并运行 docker run -itd --name redis -p 6379:6379 redis ``` ### Docker安装Mysql ``` 1、拉取镜像 docker pull mysql:5.7 2、创建目录并授权 mkdir -p /opt/docker/mysql/data /opt/docker/mysql/conf chmod -R 777 /opt/docker 3、创建配置文件并授权 touch /opt/docker/mysql/conf/my.cnf vi /opt/docker/mysql/conf/my.cnf chmod 777 /opt/docker/mysql/conf/my.cnf my.cnf内容如下: [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character_set_server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES lower_case_table_names=1 4、启动并运行 docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged=true -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/logs:/var/log/mysql mysql:5.7 ``` ### Docker安装MinIO ``` 1、拉取镜像 docker pull minio/minio 2、创建目录并授权 mkdir -p /opt/docker/minio/data chmod -R 777 /opt/docker 3、启动并运行 docker run -d -p 9000:9000 -p 9001:9001 --name=minio -v /opt/docker/minio/data:/data quay.io/minio/minio server /data/data-{1...4} --console-address ":9001" --address ":9000" ``` ### MinIO文件存储 ### 部署 ``` 一、打包命令:指定prod环境,进行打包 mvn clean package -DskipTests -Pprod 二、启动 1、Windows环境,运行./doc/bin/run.bat 2、Linux环境,运行./doc/bin/linux/startup.sh 三、注意事项 1、Linux执行脚本,需要先授权,chmod +x startup.sh 2、run.bat或startup.sh,需要和coffee-admin.jar放在同一个目录运行 3、指定端口,需要修改脚本,并添加server.port参数,示例:--server.port=9090 四、服务器部署目录结构 /opt ├── coffee ├──── coffee-ui ├──── coffee-boot ├────── startup.sh ├────── coffee-admin.jar ```