大家好,我是 Java陈序员。
今天,今天给大家介绍一款令人眼前一亮的国产开源 ERP 系统!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
xingyun —— 一个基于 SpringBoot 框架,为中小企业提供完全开源、永久免费、用户体验好的进销存 ERP 系统。
功能模块:
- 系统管理:系统设置、菜单、部门、角色、用户、操作日志
- 基础信息:仓库、供应商、客户、会员基础信息
- 商品中心:商品主数据、商品分类、品牌、属性(自定义属性)
- 采购管理:采购订单、收货单、退货单
- 销售管理:销售订单、出库单、退货单
- 零售管理:零售出库单、退货单
- 库存管理:商品库存
- 库存盘点:盘点参数设置、预先盘点单管理、盘点任务管理、盘点单管理
- 库存调整:库存调整原因管理、库存调整
- 结算管理:供应商费用单、预付款单、对账单、结算单、收入/支出项目
- 代码生成:生成增删改查代码
- 多租户:支持多租户
技术栈:
- Springboot2
- MyBatis-Plus
- HuTool
- Lombok
- EasyExcel
- Vue
系统截图
本地开发
开发环境
- JDK 1.8
- MySQL 5.7.18
- Redis 4.0.8
- RabbitMQ 3.12.4
- Node.js
后端服务
1、克隆代码- git clone https://gitee.com/lframework/xingyun.git
复制代码 2、以 Maven 工程的形式导入到 IDEA 中,项目的目录结构如下- xingyun
- ├──cloud:
- │ ├──xingyun-cloud-api:Spring Cloud 架构的 API 接口层
- │ └──xingyun-cloud-gateway:GateWay 网关
- ├──xingyun-api:API 接口层
- ├──xingyun-basedata:基础数据服务层
- ├──xingyun-chart:图标服务层
- ├──xingyun-comp:公共组件服务层
- ├──xingyun-core:基础依赖
- ├──xingyun-export:导出服务层
- ├──xingyun-sc:仓库业务服务层
- ├──xingyun-settle:结算服务层
- └──xingyun-sys:系统服务层
复制代码 3、初始化数据库
数据库脚本就在 xingyun-api 的 src/main/resources/db/migration 目录中。
- all目录中的是全量SQL
- platform.sql是平台库SQL
- tenant.sql是租户库SQL
- migration目录中的是增量SQL
- platform目录中是平台库的增量SQL
- tenant目录中是租户库的增量SQL
如果不使用多租户,平台库和租户库的 SQL 就在同一个库中执行即可。
首次使用时,直接使用 all 目录中的全量 SQL 即可。后续进行升级时,使用增量 SQL 进行更新。
使用多租户时,租户库是从平台库的 tenant 表中获取的,需要修改连接地址和数据库用户名密码。- update tenant SET jdbc_url = 'jdbc:mysql://localhost:3306/platform', jdbc_username = 'root', jdbc_password = '12d64522061abb19884d43cdcui06a46' where id = 1000;
复制代码 tenant 表中存储的密码不是明文密码,需要将明文密码加密后存储,参见 EncryptUtil 中的方法进行转换。
可通过如下代码生成密码:- public static void main(String[] args) {
- SecretProperties secretProperties = new SecretProperties();
- // key 的值需要与配置文件 application.yml 中的配置 jugg.secret.key 一致
- secretProperties.setKey("eRE2drUFINojkG9ivqtfOA==");
- String encrypt = EncryptUtil.encrypt("root", secretProperties);
- System.out.println(encrypt);
- }
复制代码 注意:
- MySQL 的 sql-mode 不要开启严格模式
- MySQL 需要关闭区分大小写
4、修改配置文件 application.yaml 文件中的配置
- spring:
- datasource:
- dynamic:
- # 设置默认数据源
- primary: master
- # 是否严格匹配数据源,未匹配到指定数据源时 true 抛异常, false 使用默认数据源
- strict: true
- datasource:
- master:
- type: com.alibaba.druid.pool.DruidDataSource
- driver-class-name: com.mysql.cj.jdbc.Driver
- # 连接地址
- url: jdbc:mysql://localhost:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
- # 用户名
- username: root
- # 密码
- password: root
复制代码- spring:
- redis:
- # 地址
- host: localhost
- # 端口,默认为6379
- port: 6379
- # 数据库
- database: 0
- # 密码
- password: 123456
复制代码- spring:
- rabbitmq:
- # RabbitMQ 集群地址列表,多个地址用逗号分隔
- addresses: localhost:5672
- virtual-host: /
- # 用户名
- username: admin
- # 密码
- password: 123456
复制代码 5、运行启动类 com.lframework.xingyun.api.XingYunApiApplication, 启动项目
前端服务
1、克隆代码- git clone https://gitee.com/lframework/xingyun-front.git
复制代码 2、项目目录结构- xingyun-front
- ├──public:不需要编译的文件,比如 index.html、静态资源文件
- └──src
- ├──api:接口定义
- ├──assets:资源文件
- ├──commponents:项目中的组件
- ├──design:全局样式配置
- ├──directive:自定义指令
- ├──enums:枚举
- ├──events:全局事件总线
- ├──hooks:hooks
- ├──layouts:主页面布局
- ├──locales:国际化
- ├──logics:系统逻辑
- ├──mixins:mixins
- ├──router:路由
- ├──settings:系统配置
- ├──store:Vue Store相关
- ├──utils:工具类
- └──views:页面
复制代码如果只是写业务,只需要关注一般常用的目录:src/api、src/views、src/enums、src/utils, 其他的目录可以忽略。
3、进入项目目录并安装依赖- cd xingyun-front
- pnpm install
复制代码 4、运行服务5、当控制台打印如下信息,说明启动成功- VITE v4.4.0 ready in 5827 ms
- ➜ Local: http://localhost:5173/
- ➜ Network: http://192.168.31.92:5173/
- ➜ press h to show help
复制代码 浏览器访问:5、打包部署总的来说,xingyun 是一款非常优秀的开源 ERP 系统。它的技术架构设计优雅,功能模块丰富。对于中小企业来说是一个值得信赖的企业管理解决方案,同时也是一个适合开发者学习和实践的好项目。- 项目地址:https://gitee.com/lframework/xingyun
复制代码 最后
推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:- https://github.com/chenyl8848/great-open-source-project
复制代码 或者访问网站,进行在线浏览:- https://chencoding.top:8090/#/
复制代码
我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目。
但是任何人在群里打任何广告,都会被 T 掉。
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群:
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群。
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |