网通社科技快报
五百人企业自研双门户系统落地 3.4万行代码打通项目研发数据孤岛
某五百人规模科技企业近期完成项目与研发管理双门户系统的自研落地,核心目标是解决长期存在的工具割裂问题:项目组依赖Excel跟踪进度预算,研发团队按IPD流程推进开发,但数据互不联通、关键节点缺乏留痕。系统总代码量约3.4万行,采用React 18 + TypeScript + Vite前端,Node.js(Express)+ MySQL 8.0后端,单体架构设计,包含40张数据库表、168个接口、96项细粒度权限及35个页面,交付形态为Windows免安装exe与Linux deb包,适配纯内网、无外网IP、IT人力仅半职的现实约束。
系统放弃微服务,选择单体架构以降低运维复杂度;后端未设传统三层结构,业务逻辑嵌入路由与TypeORM实体中,保障可维护性;前端仅用Zustand两个store管理状态,菜单与权限统一由nav.ts配置,成为权限唯一信源。双门户实现真正角色化工作台分离:项目管理门户面向PMO与项目经理,聚焦仪表盘、任务、财务、风险等;研发门户专为IPMT委员与PDT经理设计,突出研发看板、阶段门评审、工时统计等模块,共享同一账户体系与JWT认证,避免账号同步与数据不一致。
权限控制设三重防线:菜单层隐藏无权项并自动收起空分组;路由层访问受限页时跳转至首个可访问页;接口层按门禁或项目归属动态校验。系统未引入Redis,权限变更即时生效,JWT有效期7天,前端缓存权限列表以平衡性能与运维负担。上线后,项目进度更新从周报人工汇总变为实时同步,DCP评审实现电子化留痕;研发阶段门通过率提升18%,模糊争议显著减少。下一步将接入轻量化工时填报与风险预警模块,坚持‘每功能必解具体卡点’原则。
系统放弃微服务,选择单体架构以降低运维复杂度;后端未设传统三层结构,业务逻辑嵌入路由与TypeORM实体中,保障可维护性;前端仅用Zustand两个store管理状态,菜单与权限统一由nav.ts配置,成为权限唯一信源。双门户实现真正角色化工作台分离:项目管理门户面向PMO与项目经理,聚焦仪表盘、任务、财务、风险等;研发门户专为IPMT委员与PDT经理设计,突出研发看板、阶段门评审、工时统计等模块,共享同一账户体系与JWT认证,避免账号同步与数据不一致。
权限控制设三重防线:菜单层隐藏无权项并自动收起空分组;路由层访问受限页时跳转至首个可访问页;接口层按门禁或项目归属动态校验。系统未引入Redis,权限变更即时生效,JWT有效期7天,前端缓存权限列表以平衡性能与运维负担。上线后,项目进度更新从周报人工汇总变为实时同步,DCP评审实现电子化留痕;研发阶段门通过率提升18%,模糊争议显著减少。下一步将接入轻量化工时填报与风险预警模块,坚持‘每功能必解具体卡点’原则。