# ng-server
**Repository Path**: pingfanrenbiji/ng-server
## Basic Information
- **Project Name**: ng-server
- **Description**: 基于springboot的前后端分离框架之后端框架,内部包含了基于ng-form的动态表单示例,数据库适配postgresql、mysql等
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 42
- **Created**: 2022-08-08
- **Last Updated**: 2024-09-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ng-server
## 项目说明
- ng-*是一系列开源开发工具,包含vue动态表单系列 ng-form, 和一个轻量级、前后端分离Java快速开发平台ng-server(后端)和ng-ui(前端)
- 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库(启动针对动态表单的示例只适配到mysql和postgresql)
- ng-ui地址: https://gitee.com/jjxliu306/ng-ui
- ng-server地址:https://gitee.com/jjxliu306/ng-server
**ng-form 动态表单系列**
- ng-form-element地址:https://gitee.com/jjxliu306/ng-form-element
- ng-form-iview地址:https://gitee.com/jjxliu306/ng-form-iview
- ng-form-elementplus地址:https://gitee.com/jjxliu306/ng-form-elementplus
## 项目特点
- 友好的代码结构及注释,便于阅读及二次开发
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
- 使用flyway,数据库升级和迁移完全不用执行sql,项目初始化启动只需要创建好数据库和用户即可,表结构和初始数据默认构建
- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
- 前端使用vue2.X,极大的提高了开发效率
- ORM框架使用mybatisplus,减少一半以上的数据库查询代码
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 完善的三方平台对接接口,根据三方APP信息授权AK,SK作为令牌,极大的三方对接接口开发
- 引入Hibernate Validator校验框架,轻松实现后端校验
- 支持fastdfs,七牛云,minio,ftp,本地文件存储等多种文件存储方式
- 引入swagger文档支持,方便编写API接口文档
## 项目结构
```
ng-server
│
├─ng-common 公共模块
│ ├─ng-common-core 核心公共依赖,提供缓存、全局异常、校验、excel等多个基础功能
│ ├─ng-common-fileupload 文件上传下载公共依赖(可移除)
│ ├─ng-common-log 应用访问日志记录依赖(可移除)
│
├─ng-config 配置信息
│
├─ng-main 启动入口
│
├─ng-modules 功能模块
│ ├─ng-modules-exterauth 三方app对接模块(可移除)
│ ├─ng-modules-form ng-form动态表单示例模块(可移除)
│ ├─ng-modules-quartz 定时任务模块(可移除)
│ └─ng-modules-stat 统计分析模块(可移除)
│
├─ng-sys 核心基础模块。包含用户、角色、菜单等基础信息配置和鉴权
```
## 技术选型:
- 核心框架:Spring Boot 2.4.8
- 安全框架:Apache Shiro 1.4.0
- 持久层框架:MyBatisPlus 3.2.0
- 定时器:Quartz 2.3.0
- 数据库连接池:Druid 1.1.13
- 日志管理:SLF4J 2.17.0
## 后端部署
- 通过git下载源码
- idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法
- 创建数据库ng-server,数据库编码为UTF-8(切记无需创建表,项目启动的时候会通过flyway自动创建表和初始化数据)
- 修改application-dev.yml,修改数据库链接信息,修改flyway配置信息(注意mysql和postgresql的locations是不一样的)
- Eclipse、IDEA中进入ng-main模块,运行NgApplication.java,则可启动项目
- 启用后默认超管账号为: superAdmin,密码: admin。(超管账号存在与缓存中,不在数据库用户内)
- Swagger文档路径:http://localhost:8080/ng-server/swagger-ui.html
## 前端部署
- 本项目是前后端分离的,还需要部署前端,才能运行起来
- 前端地址:https://gitee.com/jjxliu306/ng-ui
## 效果示例
**接口文档效果图:**

**效果图:**



