Snails 项目源于给实习生做的一个 Ng-Alain + SpringBoot
入门学习项目,随着项目逐步完善,便将其开源并正式发布 Snails 1.0
版本。
基于简单、实用性等考虑,项目中使用了 Lombok
、Jpa
、Java8
等技术,加上 Ng-Alain
优秀的前端脚手架系统、Ng-Zorro
丰富前端组件、SpringBoot
作为后台 Java Rest Api
服务;并且,项目中支持的前端控制语言 Angular
与 Java
思想高度一致,对后端开发人员极度友好,学习门槛也比较低。
以上这些优秀的框架技术,都大大地减少了系统地代码量
和复杂度
,并且项目完全支持 Docker
进行部署。
如今,Snails 项目可以作为Ng-Alain + SpringBoot
入门学习项目,或者作为小项目的基础框架去扩展使用。
Snails 组成
Snails 框架
:编程入门,新手礼赞snails-web 前端
:Angular + Ng-Zorro + Ng-Alainsnails-api 后台
:SpringBoot + JPA + lombok + Java8 + Mysql
基于国内访问速度考虑,建议使用 码云 进行访问 https://gitee.com/kuzank/snails
框架源码 |
Gitee | GitHub |
---|---|---|
Snails 框架 | https://gitee.com/kuzank/snails | https://github.com/kuzank/snails |
Snails-web 前端 | https://gitee.com/kuzank/snails-web | https://github.com/kuzank/snails-web |
Snails-api 后台 | https://gitee.com/kuzank/snails-api | https://github.com/kuzank/snails-api |
欢迎到 Gitee
或者 GitHub
上提 issue
issue 渠道 |
访问地址 |
---|---|
Gitee | https://gitee.com/kuzank/snails/issues |
GitHub | https://github.com/kuzank/snails/issues |
1、系统功能
- [x] 登陆、登出
- [x] 用户管理
- [x] 组织管理
- [x] 菜单管理,支持菜单配置、菜单权限配置、用户菜单权限预览功能
- [x] 在线用户
- [x] 登陆日志,记录系统用户的登陆登出行为
- [x] http请求,将系统的所有请求进行拦截,并记录到数据库中
- [x] 系统异常,全局拦截系统的异常,并记录到数据库中
- [x] 支持系统数据初始化
- [x] 支持
Docker
部署
2、启动系统前提 Mysql
Mysql 配置文件地址:/snails-api/src/main/resources/application.yml
IP | Port | Username | Password | Database |
---|---|---|---|---|
localhost | 3306 | root | 123456 | snails |
3、启动系统
3.1、方法一 Docker
前提:系统已安装和配置 Java8
、Git
、Maven
、Docker
# 1、打包 snails-web 镜像
git clone https://gitee.com/kuzank/snails-web.git
cd snails-web
docker build -t snails-web .
# 2、打包 snails-api 镜像
git clone https://gitee.com/kuzank/snails-api.git
cd snails-api
# 根据步骤 2 所示,修改代码中的 Mysql 配置 /snails-api/src/main/resources/application.yml
# 使用部署系统中 Docker 的 Mysql 作为数据库连接可能导致启动报错
mvn package docker:build
# 3、启动 docker 镜像
# 查看 docker 镜像
docker images | grep snails
# 运行 snails-web
docker run -d --name snails-web -p 4200:4200 snails-web
# 运行 snails-api
docker run -d --name snails-api -p 8081:8081 -t snails-api
# 查看运行中的 docker 实例
docker ps -a | grep snails
# 4、浏览器访问 localhost:4200 即可
3.2、方法二
前提:系统已安装和配置 Java8
、Git
、Maven
、Node
# 1、运行 snails-web
git clone https://gitee.com/kuzank/snails-web.git
cd snails-web
yarn
npm run start
# 2、运行 snails-api
git clone https://gitee.com/kuzank/snails-api.git
cd snails-api
# 根据步骤 2 所示,修改代码中的 Mysql 配置 /snails-api/src/main/resources/application.yml
mvn package
java -jar target/snails-0.1.jar
# 3、浏览器访问 localhost:4200 即可
4、系统截图
浏览器访问 localhost:4200
4.1、登陆页面
系统默认用户、账号、密码信息,数据在 snails-api 启动后初始化到数据库中,源码在 snails-api/src/main/java/com/kuzank/snails/init/InitPerson.java
用户名 | 账号 | 密码 | 备注 |
---|---|---|---|
kuzank | kuzank | 123456 | 所属组织:Snails Studio > 技术部 |
danxiaogui | danxiaogui | 123456 | 所属组织:Snails Studio > 财务部 |
4.2、首页
4.3、用户管理
4.4、组织管理
4.5、菜单管理
菜单配置及菜单权限配置
用户菜单权限预览
4.6、在线用户
5.7、登陆日志
4.8、http请求
4.9、系统异常
4.10、G2图表
新的开始
Snails 目前已支持后台管理系统的基本通用功能,未来会将
- 框架推广和技术分析
以上功能一一添加上去。
希望 Snails 框架可以帮助到众多 Ng-Alain、SpringBoot 的使用者。