# go-wind-erp **Repository Path**: tx7do/go-wind-erp ## Basic Information - **Project Name**: go-wind-erp - **Description**: 🚀 Production-ready Enterprise ERP & WMS platform built with Go-Kratos microservices, Ent ORM, Vue3 (Vben), and Flutter Mobile. Cloud-native, multi-tenant ready, API-first, featuring double-entry inventory & industrial PDA scanning support. 📦 - **Primary Language**: Go - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-22 - **Last Updated**: 2026-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
GoWind ERP # GoWind ERP [![License](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) [English](./README.en-US.md) | **中文** | [日本語](./README.ja-JP.md)
--- 采购、库存、财务——中小团队最核心的业务,在同一个系统里闭环:采购单审批完成自动生成应付单,收货自动回写库存,低库存自动给出补货建议,应付账龄随时可查。数据一次录入、处处生效,不需要实施顾问,也不需要漫长的实施周期。 **三句话讲清楚 GoWind ERP:** - **免实施顾问** — 注册即开通:租户、部门、角色、管理员自动初始化,权限、审批、站内消息、审计等基座能力全部内置,开箱即用 - **半天上手** — 管理后台 + 手机 App 双端齐备,采购 → 审批 → 收货 → 库存 → 付款的核心链路开箱即走;仓库现场用扫码,管理层看经营看板 - **核心业务数据全打通** — 单据驱动单据:审批完的采购单自动生成应付,收货自动回写库存,低库存自动起草补货采购单;数据在一处录入,全链路生效 对开发者同样友好:API 优先(RESTful / gRPC 双协议,OpenAPI 文档自动生成)、微服务架构、原生多语言——技术细节见下方[技术栈](#技术栈)。 ## 项目状态 GoWind ERP 的通用基座能力(组织权限、认证、审计、文件存储、字典、站内消息、任务调度、多语言)与三大 ERP 业务模块(库存 / WMS、采购 / SRM、财务 / AP)均已实现,覆盖后端核心服务、管理后台与移动端。核心业务链路——采购单审批收货入库、应付付款结算、库存调拨与冲正、低库存自动补货——已端到端闭环,关键一致性逻辑(收货审批闸门、调拨单事务原子性、账龄未清余额口径)有回归测试覆盖。 ## 核心功能 ### 组织与权限 | 功能 | 说明 | |:----------|:--------------------------------------------------| | 多租户管理 | 租户新增、启用/禁用与数据隔离;新租户自动初始化部门、角色与管理员 | | 用户管理 | 用户全生命周期管理,支持多角色、多部门、多岗位绑定 | | 角色管理 | 角色与角色分组管理,配置菜单、接口与数据权限 | | 权限管理 | 权限分组、菜单节点与权限点,策略引擎驱动鉴权,按钮级控制 | | 菜单管理 | 可视化菜单配置,目录/页面/按钮三级,按权限动态渲染 | | 部门与岗位管理 | 多级部门树与岗位体系,联动绑定用户 | | 认证与登录策略 | JWT 签发与校验、登录策略配置、凭据与令牌缓存管理 | ### 系统与运维 | 功能 | 说明 | |:--------|:--------------------------------------------| | 审计日志 | 登录、操作、接口调用、数据访问、权限变更、策略评估全链路审计,记录操作人、IP、参数与结果 | | 文件资源管理 | 本地或对象存储统一上传/下载,预览与分组管理 | | 字典管理 | 数据字典大类与子项管理,多语言翻译联动 | | 站内消息 | 多级消息分类,定向投递与已读状态追踪,个人消息中心 | | 任务调度 | 定时任务管理,启动/暂停/立即执行,查看执行记录与日志 | | 多语言管理 | 语种管理,内容、菜单、提示信息统一翻译 | ### ERP 业务模块 | 模块 | 说明 | |:------------|:----------------------------------| | 库存 / WMS | 仓库与库存管理(状态机)、出入库流水(服务端校验回写)、跨仓调拨(单事务原子执行)、流水冲正(幂等防重复)、低库存自动补货建议(经审批轨生成草稿采购单)、经营看板聚合与 30 天流水趋势 | | 采购 / SRM | 供应商管理、采购单全生命周期(草稿→提交→审批→驳回重提→收货→全额自动完结/取消)、按明细收货回写(审批闸门 + 防超收) | | 财务 / AP | 应付单(采购单获批自动生成)、付款申请(经审批轨入账)、部分付款与结清状态机、应付账龄报告 | | 审批轨(通用) | 采购单 / 付款 / 补货三类单据统一审批;申请人与审批人由服务端推导,禁止自审自批,审结站内信通知申请人,补货草稿创建与采购单自动完结触发下游通知 | | 移动端业务功能 | WMS 扫码(出入库 / 调拨 / 冲正)、审批中心、经营看板 | ## 技术栈 [![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?logo=go&logoColor=white)](https://go.dev/) [![Vue](https://img.shields.io/badge/Vue-3.x-4FC08D?logo=vue.js&logoColor=white)](https://vuejs.org/) [![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter&logoColor=white)](https://flutter.dev/) [![Kratos](https://img.shields.io/badge/Kratos-2.9-00ADD8?logo=go&logoColor=white)](https://go-kratos.dev/) ### 后端 | 层级 | 技术 | 说明 | |:-------|:-------------------------------------------------------------------------|:--------------| | 语言 | [Go 1.25+](https://go.dev/) | 高性能编译型语言 | | 框架 | [go-kratos](https://go-kratos.dev/) | 微服务框架 | | 依赖注入 | 手写装配(wiring.go) | 无 DI 框架,`make register` 辅助登记 | | ORM | [Ent](https://entgo.io/) | Go 实体框架 | | 数据库 | [PostgreSQL](https://www.postgresql.org/) | 关系型数据库 | | 缓存 | [Redis](https://redis.io/) | 内存数据库 | | 对象存储 | [MinIO](https://min.io/) | 兼容 S3 的对象存储 | | 服务注册 | [Etcd](https://etcd.io/) | 服务发现与配置 | | 链路追踪 | [Jaeger](https://www.jaegertracing.io/) + [OpenTelemetry](https://opentelemetry.io/) | 分布式可观测 | | API 定义 | [Protobuf](https://protobuf.dev/) + [buf.build](https://buf.build/) | 接口契约优先 | ### 管理后台前端 | 技术 | 说明 | |:----------------------------------------------|:-----------| | [Vue 3](https://vuejs.org/) | 渐进式前端框架 | | [TypeScript](https://www.typescriptlang.org/) | 类型安全 | | [Ant Design Vue](https://antdv.com/) | 企业级 UI 组件库 | | [Vben Admin](https://doc.vben.pro/) | 后台管理框架 | ### 移动端前端 | 版本 | 技术栈 | 适用场景 | |:--------|:-------------------------------------|:-----------| | Flutter | [Flutter](https://flutter.dev/) + [BLoC](https://bloclibrary.dev/) | 跨平台原生应用 | ## 项目结构 ``` go-wind-erp/ ├── backend/ # 后端服务 │ ├── api/ # Protobuf API 定义 & 生成代码 │ │ ├── protos/ # .proto 源文件 │ │ └── gen/ # 生成代码 (Go / Dart / OpenAPI) │ ├── app/ │ │ ├── admin/service/ # 管理后台 BFF (HTTP/gRPC) │ │ ├── app/service/ # 移动端 BFF (HTTP/gRPC) │ │ └── core/service/ # 核心服务 (业务逻辑 + 数据层) │ ├── pkg/ # 公共包 (鉴权/加密/事件总线/JWT/中间件/OSS...) │ └── scripts/ # 部署脚本 (Docker/环境安装) ├── frontend/ │ ├── admin/ # 管理后台前端 (Vue3 + Ant Design Vue + Vben Admin) │ └── app/ │ └── flutter_app/ # 移动端应用 (Flutter 跨平台原生) └── LICENSE ``` ## 快速开始 ### 环境要求 - Go 1.25+ - Docker & Docker Compose - Node.js 18+ & pnpm - Flutter SDK - buf (Protobuf 工具链) ### 1. 启动依赖服务 ```bash cd backend # Windows .\scripts\docker\libs_only.ps1 # Linux / macOS ./scripts/docker/libs_only.sh ``` ### 2. 启动后端服务 ```bash # 推荐方式:使用 gow CLI gow run admin gow run app ``` ### 3. 启动前端 ```bash # 管理后台 cd frontend/admin pnpm install pnpm dev # 移动端 (Flutter) cd frontend/app/flutter_app flutter pub get flutter run ``` ### 常用命令 ```bash cd backend # 生成 Protobuf API 代码 make api # 生成 OpenAPI 文档 make openapi # 一键生成全部代码 (ent + api + openapi) make gen # 构建所有服务 make build # 运行测试 make test ``` > 更多开发工作流请参考 [后端文档](./backend/README.md) 和 [脚本指南](./backend/scripts/WORKFLOWS_AND_BEST_PRACTICES.md)。 ## 联系我们 - 微信个人号:`yang_lin_bo`(备注:`go-wind-erp`) ## 参与贡献 我们欢迎各种形式的贡献,包括但不限于: - 提交 [Issue](../../issues) 报告 Bug 或提出功能建议 - 提交 [Pull Request](../../pulls) 修复问题或添加新功能 - 完善文档和翻译 - 分享使用经验 ## 开源许可 本项目基于 [MIT License](./LICENSE) 开源。 ## 致谢 [![JetBrains](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://jb.gg/OpenSource) 感谢 [JetBrains](https://jb.gg/OpenSource) 提供的免费 GoLand & WebStorm 开源许可。