跳到主要内容

🏢 Good OA

Good OA —— 现代化企业协同办公平台

前后端分离的单仓库工程:后端为 Go 1.26 + Fiber v2 模块化单体(GORM、JWT、goja 脚本引擎),前端为 React 19 + Next.js App Router + Tailwind 4 + shadcn/ui,覆盖组织、流程、内容与日常协同全场景。

模块总览(20 个业务模块)​

模块能力
auth / healthJWT 签发、口令认证(bcrypt)、健康检查
organization人员 / 部门 / 身份 / 角色(RBAC)/ 群组
processplatform流程引擎全能力 + 表单 + 设计器 + 附件
cms应用 / 栏目 / 文档,draft→checking→published→hidden 审核流
portal门户页面,别名访问
query查询视图(定义 + 运行)
meeting会议室管理、预约、冲突检测
calendar个人日程 CRUD + 区间查询
attendance每日签到 / 签退、当日防重
bbs板块 / 帖子 / 回帖
file个人网盘树、同名冲突、递归删除释放存储
message站内信、未读计数、仅收件人可读
mind思维图(JSON 树)、属主隔离、画布编辑页
其他hotpic 热图、correlation 软引用、jpush 推送、ai 模型配置、组件与应用市场、首页统计

流程引擎​

  • 条件路由 — 路由上 goja 条件表达式(变量 creator/title/data),按声明顺序求值,无条件为默认,全假报错
  • 驳回 — 打回指定人工环节,重建待办、新到达代次,worklog 留痕(操作人/意见)
  • 会签 — 环节 mode=all,按到达代次计票,quorumPercent 达标才推进
  • 传阅 — circulate → 待阅 → 阅读归档
  • 办理记录 — worklog 全程留痕(start / arrive / complete / reject / archive…)
  • 另有:加签、撤回、终止、附件、脚本取人、脚本数据校验

RBAC 权限点​

org.manage process.design portal.manage query.manage meeting.manage bbs.manage cms.manage hotpic.manage jpush.manage ai.use component.manage program.manage stat.global

角色即「权限点集合 + 成员」;管理端写操作按权限点判定,admin 账号恒通过(兜底)。

开放 API​

/api 下提供开放 REST API(ActionResponse 信封),覆盖组织、流程、CMS、门户的高频读路径与标准分页动词,便于第三方系统集成;原生 API 统一信封 {code, msg, data}。

技术栈​

Go 1.26 · Fiber v2 · GORM · goja · React 19 · Next.js App Router · Tailwind 4 · shadcn/ui · SQLite(开发)/ MySQL(生产)