# MetaGrid_backend **Repository Path**: wonghaoo/MetaGrid_backend ## Basic Information - **Project Name**: MetaGrid_backend - **Description**: 开源多维表格系统 | 灵活可扩展的企业级低代码数据平台,完全自研开源 | 支持多视图 / 多字段类型 / 细粒度权限 | 可私有化部署,是一款开源、轻量、可高度自定义的多维表格后端服务,专为个人、团队、企业打造灵活的数据管理、流程协作与低代码搭建能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-25 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MetaGrid_backend 开源多维表格系统 | 灵活可扩展的企业级低代码数据平台 简体中文 ## 🔥 项目简介 **MetaGrid_backend** 是一款基于单体架构的开源多维表格后端系统,提供灵活的数据模型、丰富的字段类型、多视图展示、工作流引擎与细粒度权限控制能力。 系统采用 Spring Boot 单体架构,支持个人/企业双模式使用,可用于快速搭建自定义数据表、业务管理系统、协作平台、数据中台与低代码应用,支持私有化部署、内网运行、完全无外网依赖。 ## 🖼 系统截图 ### 示例多维表格 #### 进销存系统 ![进销存系统](img/进销存.png) ## ✨ 核心功能 ### 📋 多维表格管理 - 支持个人 / 企业组织两种归属类型 - 表格创建、重命名、排序、软删除 - 支持表格数据项管理(增删改查、批量操作) - 支持表格字段关联与数据联动 - 支持表格转移与转移记录追踪 ### 🧩 动态字段系统 - **基础类型**:文本、数字、日期、单选、多选、人员、附件、超链接等 - **高级类型**:货币、进度、评分、地理位置、条码、自动编号、流程等 - **系统类型**:系统内置字段类型 - 字段可配置长度、精度、默认值、选项、校验规则 - 字段类型统一管理,支持动态扩展 - 支持公式字段计算 ### 👁 多视图展示 - 表格视图(table_view) - 看板视图(kanban_view) - 日历视图(calendar_view) - 甘特视图(gantt_view) - 画册视图(gallery_view) - 表单视图(form_view) - 查询页面(query_page) - 地图视图(map_view) - 支持视图字段配置、排序、筛选 - 支持视图数据管理与批量操作 ### � 工作流引擎 - 可视化工作流定义与版本管理 - 工作流节点与边配置 - 支持多种触发器类型(数据变更触发、定时触发等) - 支持API调用节点 - 工作流执行引擎与状态追踪 - 节点类型自定义扩展 - 支持工作流配置变更监听 ### 📊 业务规则与数据联动 - 业务规则定义与管理 - 数据联动配置 - 支持字段间数据自动更新 - 支持条件触发规则 ### �🔐 细粒度权限控制 - **管理员权限体系**:独立的管理员 RBAC 权限管理 - **客户权限体系**:独立的客户 RBAC 权限管理 - 支持角色管理、权限管理、用户角色关联 - JWT Token 认证与鉴权 - 视图级别权限控制 - 字段可见 / 可编辑权限 - 支持角色权限 + 用户单独授权 ### 🏢 组织架构管理 - 组织创建、管理 - 组织成员管理 - 组织邀请机制 - 组织转移功能 ### 🌐 API 网关 - 统一 API 入口 - 路由转发与负载均衡 - JWT Token 认证与鉴权 - CORS 跨域管理 - 支持白名单配置 ### 🧱 架构优势 - 单体架构,部署简单,易于维护 - 关系型表结构 + JSON 动态存储 - 扩展性强,不锁表、不限制业务结构 - 事件驱动架构,支持数据变更监听 - 适合低代码平台、二次开发、企业系统 - 统一数据库连接,简化数据管理 ## 📊 数据表结构 ### 多维表格模块 ``` multidimensional_table -- 多维表主表 ├── table_data -- 表格数据项 ├── view_table -- 视图配置 │ ├── table_view_field -- 视图字段 │ ├── view_table_data -- 视图数据行 │ └── view_table_column_select -- 视图列选择 ├── field_type -- 字段类型定义 │ └── field_type_config -- 字段配置项 ├── formula_field -- 公式字段 ├── business_rule -- 业务规则 └── table_field_relation -- 表格字段关联 ``` ### 工作流模块 ``` workflow_definition -- 工作流定义 ├── workflow_node -- 工作流节点 ├── workflow_edge -- 工作流边 ├── workflow_version -- 工作流版本 ├── workflow_execution -- 工作流执行记录 ├── workflow_api_call -- API调用记录 ├── workflow_trigger -- 工作流触发器 └── workflow_modify_record_trigger -- 数据变更触发器 ``` ### 组织架构模块 ``` organization -- 组织表 ├── organization_member -- 组织成员 └── organization_invite -- 组织邀请 ``` ### 权限模块 ``` 管理员权限体系: ├── admin -- 管理员表 ├── role -- 角色表 ├── permission -- 权限表 └── user_role -- 用户角色关联 客户权限体系: ├── customer -- 客户表 ├── role -- 角色表 ├── permission -- 权限表 └── user_role -- 用户角色关联 ``` ### 网关模块 ``` cors_origin_whitelist -- CORS白名单 ``` ## 🚀 适用场景 - 客户管理系统(CRM) - 项目管理 / 任务跟踪 - 库存 / 商品 / 订单管理 - 企业内部审批、流程管理 - 表单收集、数据统计、仪表盘 - 低代码平台、私有化数据平台 - 协作办公、团队管理 - 数据中台、业务中台 ## 🛠 技术栈 ### 核心框架 - **Java**: 17 - **Spring Boot**: 3.5.3 - **Spring Security**: 6.x - **Spring Data JPA**: 3.x - **MySQL**: 8.0+ - **Maven**: 3.9.10+ ### 单体架构 - **MetaGrid Backend**: 统一后端服务(端口 8093) - 管理员模块 - 客户模块 - 多维表格模块 - 工作流触发模块 - 组织架构模块 - 网关管理模块 ### 安全认证 - **JWT**: 0.12.x - **Spring Security**: 完整的安全认证体系 - **CORS**: 跨域资源共享支持 ### 数据存储 - **MySQL 8.0+**: 关系型数据库 - **JPA/Hibernate**: ORM 框架 - **HikariCP**: 高性能数据库连接池 ### API 文档 - **SpringDoc OpenAPI**: 2.5.0 - **Swagger UI**: 在线 API 文档 ### 开发工具 - **Lombok**: 代码简化 - **Jackson**: JSON 序列化 - **Validation**: 数据校验 ## 📦 快速开始 ### 环境要求 - JDK 17+ - Maven 3.9.10+ - MySQL 8.0+ ### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/muxuyao/MetaGrid_backend.git cd MetaGrid_backend ``` 2. **创建数据库** ```sql CREATE DATABASE MetaGrid CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 3. **修改数据库配置** 编辑 `metagrid-monolithic/src/main/resources/application.yml` 文件,修改数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/MetaGrid?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: your_password ``` 4. **编译项目** ```bash cd metagrid-monolithic mvn clean install -DskipTests ``` 5. **启动服务** ```bash # 方式一:使用启动脚本 ./start-monolithic.sh # 方式二:直接运行 cd metagrid-monolithic mvn spring-boot:run ``` 6. **查看服务状态** ```bash # 查看服务日志 tail -f metagrid-monolithic.log # 查看服务端口 lsof -i :8093 ``` 7. **访问服务** - API 服务: http://localhost:8093 - Swagger 文档: http://localhost:8093/swagger-ui.html ### 停止服务 ```bash ./stop-monolithic.sh ``` ## 📄 开源协议 本项目使用 MIT License 开源协议,可自由使用、修改、分发、商用。 ## 🤝 贡献指南 欢迎 Star ⭐、Fork 🍴、提交 Issue、提交 PR 共同打造轻量、强大、好用的开源多维表格系统 ## 💡 作者 开源多维表格系统 MetaGrid 持续维护、更新、优化 ## 📞 联系方式 - 项目地址: https://gitee.com/muxuyao/MetaGrid_backend - 问题反馈: 提交 Issue - 技术交流: 欢迎加入讨论 ## 🙏 致谢 感谢所有为 MetaGrid 项目做出贡献的开发者!