### 源码仓库已迁移到 [gitee.com/kuzank](gitee.com/kuzank),此账号下的工程不再提供维护,请移步访问[gitee.com/kuzank](gitee.com/kuzank)

# Snails 框架

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/b_dashboard.jpg)

基于 [SpringBoot](https://spring.io/projects/spring-boot) + [Ng-Alain](https://ng-alain.com/) `前后端分离`的实现,可以作为新手入门项目,也可以作为小项目的`基础框架`去扩展。目前 [Snails](https://zhuanlan.zhihu.com/p/103187754) 系统框架已支持基本的后台功能,基于`简单`、`实用`设计,并且已支持 [Docker](https://www.docker.com/) 进行项目部署。

- `Snails 框架`:编程入门,新手礼赞

- `snails-web 前端`:[Angular](https://angular.cn/) + [Ng-Zorro](https://ng.ant.design/docs/introduce/zh) + [Ng-Alain](https://ng-alain.com)

- `snails-api 后台`:[SpringBoot](https://spring.io/projects/spring-boot) + [JPA ](https://spring.io/guides/gs/accessing-data-jpa/)+ [lombok](https://projectlombok.org/) + [Java8](https://zhuanlan.zhihu.com/java8) + Mysql

**基于国内访问速度考虑,建议使用 [码云](https://gitee.com/kuzank/snails) 进行访问 [https://gitee.com/kuzank/snails](https://gitee.com/kuzank/snails) **

| `框架源码` | Gitee | GitHub |

| -------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |

| **Snails** 框架 | [https://gitee.com/kuzank/snails](https://gitee.com/kuzank/snails) | [https://github.com/kuzank/snails](https://github.com/kuzank/snails) |

| **Snails-web** 前端 | [https://gitee.com/kuzank/snails-web](https://gitee.com/kuzank/snails-web) | [https://github.com/kuzank/snails-web](https://github.com/kuzank/snails-web) |

| **Snails-api** 后台 | [https://gitee.com/kuzank/snails-api](https://gitee.com/kuzank/snails-api) | [https://github.com/kuzank/snails-api](https://github.com/kuzank/snails-api) |

欢迎到 `Gitee` 或者 `GitHub` 上提 `issue`

| `issue 渠道` | 访问地址 |

| ------------ | ------------------------------------------------------------ |

| **Gitee** | [https://gitee.com/kuzank/snails/issues](https://gitee.com/kuzank/snails/issues) |

| **GitHub** | [https://github.com/kuzank/snails/issues](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`

```shell

# 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`

```shell

# 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 > 财务部 |

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/a_login.jpg)

### 4.2、首页

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/b_dashboard.jpg)

### 4.3、用户管理

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/c_userManage.jpg)

### 4.4、组织管理

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/d_orgunitManage.jpg)

### 4.5、菜单管理

> 菜单配置及菜单权限配置

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/e_menuManage.jpg)

> 用户菜单权限预览

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/f_menuPermissionPreview.jpg)

### 4.6、在线用户

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/g_onlineUser.jpg)

### 5.7、登陆日志

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/h_loginLog.jpg)

### 4.8、http请求

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/i_httpRequest.jpg)

### 4.9、系统异常

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/j_systemException.jpg)

### 4.10、G2图表

![](https://gitee.com/kuzank/Resource/raw/master/Snails/picture/k_g2Custom.jpg)

## 5、学习资源

- [Angular快速上手](https://angular.cn/guide/quickstart)

- [Ng-Zorro](https://ng.ant.design/docs/introduce/zh)

- [Ng-Alain](https://ng-alain.com/)

- [Spring系列-程序员DD](http://blog.didispace.com/)

- [Spring系列-纯洁的微笑](http://www.ityouknow.com/spring-boot.html)

- [Java8](https://zhuanlan.zhihu.com/java8)

- [lombok](https://www.jianshu.com/p/365ea41b3573)

- [SpringBoot 中 JPA 的使用](https://www.jianshu.com/p/c14640b63653)

## 开源许可证

MIT

一键复制

编辑

Web IDE

原始数据

按行查看

历史

docker镜像迁移mysql启动报错_README.md相关推荐

  1. Mysql启动报错解决方案:Failed to open log (file ‘./mysql-bin.000901‘, errno 2)

    Mysql启动报错解决方案:Failed to open log (file './mysql-bin.000901', errno 2) 参考文章: (1)Mysql启动报错解决方案:Failed ...

  2. MySQL启动报错:发生系统错误5。拒绝访问。

    命令行MySQL启动报错:发生系统错误5.拒绝访问. 出现后尝试使用以管理员身份运行cmd再次运行命令后解决:net start mysql80(根据安装mysql时候设置的服务名称)

  3. XAMPP下载安装、control.ini拒绝访问、Apache和mysql启动报错、与本地MySQL端口冲突问题

    一.XAMPP下载安装 输入地址选择相应版本直接下载 下载完成后安装,前面都默认点击next,这里最好别放入C盘 二.control.ini拒绝访问 关闭XAMPP时,control.ini文件报错 ...

  4. mysql 启动报错 ERROR The server quit without updating PID file

    mysql 启动报错 : ERROR! The server quit without updating PID file (/usr/local/var/mysql/bogon.pid). 今天莫名 ...

  5. Mysql启动报错:The server quit without updating PID file (/usr/local/mysql/data/buq224xi.pid).

    Linux服务器Mysql启动报错提示: The server quit without updating PID file (/usr/local/mysql/data/buq224xi.pid). ...

  6. Python Docker 镜像使用yum命令报错 except KeyboardInterrupt, e: SyntaxError: invalid syntax

    Python 环境 Centos Docker 镜像使用yum命令报错 except KeyboardInterrupt, e: SyntaxError: invalid syntax 在Python ...

  7. MySQL启动报错1067(附排查解决方法)

    MySQL启动报错1067,一般出现在刚装好数据库的时候,而且是用解压安装的方式安装的数据库 出现这个问题解决思路如下: 先去定位问题,接着删除MySQL服务,然后重新安装服务. 当出现服务错误的时候 ...

  8. mysql启动报错2002_Mysql启动报ERROR:2002的分析与解决

    前言 本文主要给大家介绍了关于Mysql启动报ERROR:2002的分析与解决,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 1.故障现象 [root@localhost scri ...

  9. docker第二节点无法启动报错xtrabackup_checkpoints missing. xtrabackup/SST failed on DONOR. Check DONOR log解决方案

    今天搭建mysql集群遇到第二docker节点开启后闪退问题,报错如下: 2019-08-08T07:53:49.523877Z 0 [Note] WSREP: Member 1.0 (e46b8f6 ...

最新文章

  1. 1流式细胞术荧光比值计算_流式细胞术的简介
  2. js中对函数设置默认参数值的3种方法
  3. strtok函数取WinMain的参数
  4. .ipynb转化为.py文件后批量删除一大堆#In[53]
  5. 掌握C语言判断素数(质数)相关内容
  6. Make menuconfig详解(转)
  7. linux服务器输入法,linux中如何安装和切换输入法
  8. 电脑可以联网但是有的网页打不开
  9. 方程组在原点附近解matlab,前置血管常发生于A.副胎盘B.胎盘血管瘤C.双叶胎盘D.帆状胎盘...
  10. 关于netty的中nettyio.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1异常排除
  11. 2021-07-14 PMP 横道图、网络图、看板、燃尽图了解
  12. 【局域网音频实时传输、屏幕单播及广播】
  13. python 均差表 差商表 数值分析
  14. openpyxl基本使用
  15. 【百人计划】图形4.1 Bloom算法
  16. 冯诺依曼体系结构、操作系统的认识
  17. socket实现局域网语音通话 c++ winapi
  18. 基于RFID技术智慧工厂智能仓储管理平台解决方案
  19. rtl8812au linux驱动下载,RTL8812AU_linux_v4.3.20_16317_20160108
  20. 学python要学的英语单词_学python必备的英语单词(终身受益)

热门文章

  1. java常用混淆工具(有链接)
  2. 程序员专属壁纸十七张
  3. 2005年商业科技盘点:最被高估10大技术
  4. 最新高频Java面试题目分享,分布式ID(数据库多主模式
  5. android wifi wlan,看完秒懂WiFi和WLAN的区别
  6. 只能看,不能读的文章
  7. 【spark系列9】spark 的动态分区裁剪上(Dynamic partition pruning)-逻辑计划
  8. 计算机软件属于哪一类无形资产,财务软件属于无形资产哪一项
  9. 华为云解锁云原生数据库发展新动能
  10. React-bootstrap 中文文档