关键字:OA 办公,工作流引擎,自定义表单,钉钉对接,库存采购,项目管理,审批流程,MIT 协议,企业协同
项目名称:开源企业协同办公OA系统管理系统
项目介绍
一款基于开源协议的轻量级企业协同办公系统,设计理念主打易上手、易二次开发,后端前端一体化,学习门槛低。系统内置可视化工作流审批引擎、零代码自定义表单设计器,原生支持钉钉企业应用对接,可同步部门、用户、角色,审批消息推送钉钉。覆盖库存物料管理、采购预算、供应商管理、项目管理、日程计划、文档分享归档全套业务模块,支持表单回退、审批规则配置、编辑历史版本回档。整套系统部署简单,适配生产、零售、维修类中小企业,解决碎片化办公业务需求,支持个人与企业免费使用,可基于现有模块快速扩展业务,是中小企业私有化 OA、流程审批的优质开源方案。
项目结构目录

项目主要技术框架
3.1核心底层框架
整体一体化 JS 开发架构,业务逻辑与前端页面在同一套工程内,无需复杂微服务。内置可视化审计工作流引擎,支持条件分支、回退、多模式审批策略;表单元数据驱动,拖拽配置即可生成表单、列表、搜索页面;集成钉钉开放 API 实现组织架构同步、消息通知;RBAC 多维度权限体系,支持部门、岗位、角色、项目维度权限控制。使用 Redis 做会话缓存,MySQL 存储全部业务数据,PM2 做进程守护,Nginx 反向代理对外提供访问,二次开发简单,新增业务模块成本低。
3.2后端技术栈
开发语言:JavaScript (Node.js)
运行环境:Node >=16
数据库:MySQL >=5.7
缓存中间件:Redis >=5.0
进程守护:PM2
第三方对接:钉钉企业内部应用 API
部署方式:服务器直接运行、pm2 常驻进程
3.3前端技术栈
基础技术:原生 JS + 前端组件库
核心能力:可视化表单设计器、工作流流程配置面板
交互:表单拖拽、审批配置、数据表格、导入导出 Excel
适配:PC 浏览器后台管理界面
3.4 数据库
核心业务数据表分类:
1. 权限组织:部门表、用户表、角色岗位表、权限配置表;
2. 工作流审批:表单元数据表、审批流程配置、审批实例、审批记录;
3. 库存采购:仓库、物料、入库、出库、调拨、盘点、供应商、采购预算表;
4. 业务模块:项目管理、日程计划、文档分享归档表;
5. 钉钉同步:钉钉部门、钉钉用户映射关系表。
3.5开发及生产环境
开发环境:Node16+、MySQL5.7、Redis5.0
生产环境:Linux 服务器,Nginx 反向代理 + PM2 进程守护
配套资源:sql 初始化脚本、nginx 配置模板、pm2 部署配置
默认后台账号:admin / 111111
项目主要功能
4.1 系统管理员功能模块
4.1.1 多维权限组织管理
维护部门、用户、岗位角色,支持按部门、项目、门店多维度分配数据权限。
4.1.2 工作流 & 表单模型管理
可视化配置审批流程,设置通过规则、回退策略、钉钉通知开关;拖拽式自定义业务表单,生成录入、列表、检索页面;自定义系统业务模块。
4.1.3 钉钉对接配置
配置钉钉企业内部应用,一键同步钉钉部门、用户、角色,审批消息推送钉钉端。
4.1.4 基础业务数据维护
维护库存字典、仓库信息、供应商信息、项目分类,导入导出 Excel 批量处理采购预算数据。
4.1.5 系统运维配置
数据库连接配置、服务进程管理,文档模板维护,查看操作审批记录。
4.2 企业业务使用者功能模块
4.2.1 审批工作流
发起出差、请假、库存申请等各类审批,查看待办、我的申请;审批可回退,接收钉钉消息通知。
4.2.2 库存物料管理
物料入库、出库、调拨、盘点、归还申请,适配维修、生产、零售企业物料管控。
4.2.3 采购预算管理
分级采购预算,支持 Excel 批量导入数据,自动汇总计算,与审批流程打通。
4.2.4 项目 & 日程计划
维护项目信息与项目文档;日程支持日、周、月视图,管理里程碑、任务计划。
4.2.5 文档分享协作
文档分享给企业内部成员,多人编辑,保存编辑历史,支持版本回档。
4.3 通用功能模块
4.3.1 可视化工作流引擎
支持多种审批策略:严格模式、一票否决、少数服从多数;支持回退、钉钉消息通知。
4.3.2 零代码自定义表单
拖拽表单组件,一次配置自动生成录入、表格列表、搜索查询整套页面。
4.3.3 钉钉深度集成
组织架构同步,审批消息推送钉钉,钉钉账号登录系统。
4.3.4 完整库存采购供应链
仓库物料、供应商、采购预算整套业务,适配中小企业进销存基础场景。
4.3.5 文档版本管理
多人协作编辑,记录修改历史,支持文档回档恢复。
4.3.6 简单易二次开发
一体化工程架构,模块拆分清晰,新增业务模块门槛低。
项目安装和部署
5.1 前置环境准备
Node >=16,MySQL >=5.7,Redis >=5.0。
5.2 数据库初始化
创建业务数据库; 导入 docs 目录下 godooa.sql 脚本; 修改 src/common/config.js,配置数据库名称、账号密码。
5.3 开发环境启动
npm inpm run dev访问地址:http://localhost:8200/res/group/login.html
5.4 生产环境部署
修改 pm2.json 配置项目服务器绝对路径; Nginx 参考根目录 nginx.conf 配置反向代理与 HTTPS 证书; 使用 pm2 启动进程守护
pm2 start pm2.json5.5 登录信息
后台登录地址:http:// 域名:8200/res/group/login.html 默认账号:admin,密码:111111
这个系统实际效果图片展示

这个源码适合的学习人群
该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。
这个项目源码获取方式
关注公众号,回复:协同办公OA
夜雨聆风