# SRA后台管理系统 **Repository Path**: sagframe/sss-rbac-admin ## Basic Information - **Project Name**: SRA后台管理系统 - **Description**: 🍬🍬🍬基于SpringBoot,后端核心技术采用Sqltoy操作数据库以及Sa-Token鉴权,前端使用Vue3+TS+Element-plus。是一款前后端分离、开箱即用的后台权限管理系统。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 26 - **Created**: 2022-05-19 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 当前版本V1.0.2 #### 🍬 介绍 * 基于SpringBoot,后端核心技术采用Sqltoy操作数据库以及Sa-Token鉴权,前端使用Vue3+TS+Element-plus。是一款前后端分离、开箱即用的后台权限管理系统。 * 致力于打造一款不用生成冗赘代码的后台管理系统 #### 🖥️ 在线演示 - 演示地址:http://106.52.139.93 - 账号&密码:admin/srapwd #### 🏞️ 图片演示
#### 🧬 软件架构 * 前后端分离,后端采用流行的MVC三层架构,缓存Redis,数据库MySQL #### 🍋与其它优秀Admin的不同之处 1. 很多优秀的Admin系统都是具备代码生成功能,一套代码生成下来的确能省很多事,但是重复性的代码有很多,所以在本项目将其抽象出一层BaseService; v1.0.1 ```java public interface IUserService { // 注释已省略...... boolean add(UserAddParam param) throws BusinessException; boolean deleteBatch(List idList) throws BusinessException; boolean update(UserUpdateParam param) throws BusinessException; Page listByPage(Page param) throws BusinessException; boolean delete(String id) throws BusinessException; } ``` v1.0.2 ```java public interface IUserService extends IBaseService, UserPageParam, UserAddParam, UserUpdateParam> { } ``` 2. 使用sqltoy框架的原因主要是不用写mybatits的mapper.java文件,因为mapper也是重复度很高,当然sqltoy还有很多优点本项目尚未用到,有待挖掘; mybatits ```java public class UserServiceImpl{ @Autowired private UserMapper userMapper; public List getAll() { return userMapper.getAll(); } } // + 这里还得加一个mapper public class UserMapper{ public List getAll(); } // mapper的xml文件...... ``` sqltoy ```java public class UserServiceImpl{ @Autowired private SqlToyLazyDao sqlToyLazyDao; public List getAll() { return sqlToyLazyDao.findBySql("getAll"); } } // - 这里不用再写一个mapper.java文件 // mapper的xml文件...... ``` #### ☘️ 启动说明 * 步骤 1. 运行数据库脚本 2. 启动本地Redis并运行后端服务 3. 安装前端依赖并运行前端项目 * 后端 ```text application.yml配置文件位置:src/main/resources/application.yml 数据库脚本:/doc/db/DB_SRA_V1.sql Main入口主类:sra-bootstrap/src/main/java/com/jwss/bootstrap/SraApplicationBoot.java ``` - 前端 ```bash $ cd sra-ui #切换到前端目录 $ npm install || yarn #安装依赖 $ npm run serve || yarn run serve #开发环境 $ npm run build || yarn run build #生产环境 ``` * 访问地址 1. 后端接口文档:http://localhost:7777/doc.html 2. 前端登录地址:http://localhost:8080/login * 备注 1. 必须安装Redis; 2. 目前只支持mysql数据库; #### 🍁 开发规范 - 建议使用[《阿里巴巴Java开发手册》](https://files.cnblogs.com/files/han-1034683568/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%E7%BB%88%E6%9E%81%E7%89%88v1.3.0.pdf) #### 🪐 项目结构 ``` ├─logs ------------------------日志文件 ├─doc -------------------------文档 │ └─db -----------------------数据库脚本 ├─sra-bootstrap ---------------启动模块 ├─sra-common ------------------常用模块 ├─sra-config ------------------配置模块 ├─sra-framework ---------------框架模块 ├─sra-system ------------------系统模块 └─sra-ui ----------------------前端项目 ``` #### 📡 核心技术栈 ##### 后端 - [SpringBoot](https://spring.io/projects/spring-boot) :Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。 - [Sqltoy](https://gitee.com/sagacity/sagacity-sqltoy) :java真正最强大的ORM框架,支持市场上流行数据库。 - [Satoken](https://sa-token.dev33.cn/doc/index.html#/) :一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅! - [Hutool](https://www.hutool.cn/) :小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 ##### 前端 - [Vue3开发文档](https://v3.cn.vuejs.org/) :Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 - [Element Plus](https://element-plus.gitee.io/zh-CN/) :基于 Vue 3,面向设计师和开发者的组件库,简洁、美观、稳定、易用。 - [Apache ECharts](https://echarts.apache.org/handbook/zh/get-started/) :一个基于 JavaScript 的开源可视化图表库,功能非常强大。 #### 🖥️ 软件版本要求 - MySQL:8.0及以上 - JDK:jdk8及以上 - Nodejs:14.0及以上 #### 🍫 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request - [贡献指南](https://gitee.com/gitee-community/opensource-guide/blob/master/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97.md)