[开源]MIT协议、系列项目,目标是示范前后端分离的开发+部署模式
![[开源]MIT协议、系列项目,目标是示范前后端分离的开发+部署模式](https://yy123.ink/api/img/1782607018949-u8vk9o.jpg)
一、开源项目简介

NiceFish
NiceFish(美人鱼) 是一个系列项目,目标是示范前后端分离的开发+部署模式。前端有3个版本:浏览器环境、移动端环境、Electron 环境;后端有2个版本:SpringBoot 版本和 SpringCloud 版本。
二、开源协议
使用MIT开源协议
三、界面展示


四、功能概述
iceFish(美人鱼) 是一个系列项目,目标是示范前后端分离的开发+部署模式。前端有3个版本:浏览器环境、移动端环境、Electron 环境;后端有2个版本:SpringBoot 版本和 SpringCloud 版本。
系列项目
NiceFish 的客户端项目:
名称
描述
NiceFish(美人鱼)
这是 Angular 版本的前端界面,基于最新的 Angular 版本,使用 PrimeNG 组件库。
NiceFish-React
这是 React 版本的前端界面,基于 React 18.0.0 ,使用 PrimeReact, 定制版 Bootstrap 开发。纯 JSX ,没有使用 TypeScript 。
nicefish-ionic
这是一个移动端的 demo,基于 ionic,此项目已支持 PWA。
NiceBlogElectron
这是一个基于 Electron 的桌面端项目,把 NiceFish 用 Electron 打包成了一个桌面端运行的程序。这是由 ZTE 中兴通讯的前端道友提供的,我 fork 了一个,有几个 node 模块的版本号老要改,如果您正在研究如何利用 Electron 开发桌面端应用,请参考这个项目。
NiceFish 的服务端项目:
名称
描述
nicefish-spring-boot
用来示范前后端分离模式下,前端代码与后端服务的对接方式,已经完成了基线版本。以此为基础,你可以继续开发出适合自己业务场景的代码。
nicefish-spring-cloud
用来示范前后端分离模式下,前端代码与分布式后端服务的对接方式。
五、技术选型
SpringBoot 版本的后端
开发环境
- JDK 1.8
- 开发工具 IDEA
- 构建工具 Maven
- MySQL >=5 or MariaDB >=10
3.用法
- git clone 本项目
- 用 IDEA 导入根目录下的 pom.xml
- 在 MySQL 中执行 docs/nicefish-spring-boot.sql 脚本(包含测试数据)
- 修改 application.yml 配置文件,把 MySQL 改成你自己的配置
- 配置 Maven ,使用阿里云的源
- 启动 nicefish-cms 模块下的 NiceFishApplication.java
- Swagger 接口文档地址:http://localhost:8080/swagger-ui.html
- druid 监控地址:http://localhost:8080/druid/sql.html
项目模块依赖关系

- nicefish-core: 提供通用的工具
- nicefish-shiro-rbac: 提供基于 Shiro 的通用认证和鉴权服务,RBAC 型。
- nicefish-cms: 基于以上基础模块的 CMS 应用
Angular 版本的前端
主要依赖
- Angular 15.2.4
- PrimeNG 15.3.0
- Bootstrap 3.4.1
- echarts 5.4.2
- ngx-echarts 15.0.3
- ckeditor5-angular 5.2.0
- font-awesome 4.7.0
注意:为了防止出现 NodeJS 模块兼容性问题,本项目在 package.json 中锁定了所有 Node 模块版本。如有需要,您可以自己测试兼容版本号(不建议这样做,因为会消耗掉大量的时间)。
启动项目
打开终端,依次执行以下命令:
访问一飞开源:https://code.exmay.com/ 下载 cd NiceFish npm i -g @angular/cli npm i ng serve
打开浏览器,访问 http://localhost:4200/
中文开发者:网络原因,推荐安装 nrm 来管理 npm 的 registry。
npm i -g nrm nrm use taobao
这时候用 npm 安装 node 模块就会使用 taobao 提供的 registry 了。
更多内容请查看 README.md 文档。
后端源码下载
