首页 > 基础资料 博客日记
ERP 开源系统!中小企业管理的宝藏利器!
2025-06-23 11:30:02基础资料围观8次
大家好,我是 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
文件中的配置
- 修改 MySQL 连接地址配置
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
- 修改 Redis 连接地址配置
spring:
redis:
# 地址
host: localhost
# 端口,默认为6379
port: 6379
# 数据库
database: 0
# 密码
password: 123456
- 修改 RabbitMQ 连接地址配置
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、运行服务
pnpm run dev
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
浏览器访问:
http://localhost:5173
5、打包部署
pnpm run build
总的来说,xingyun
是一款非常优秀的开源 ERP 系统。它的技术架构设计优雅,功能模块丰富。对于中小企业来说是一个值得信赖的企业管理解决方案,同时也是一个适合开发者学习和实践的好项目。
项目地址:https://gitee.com/lframework/xingyun
最后
推荐的开源项目已经收录到 GitHub
项目,欢迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目。
但是任何人在群里打任何广告,都会被 T 掉。
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群:
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群。
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: