# noob Store **Repository Path**: zjywchenhui/noob-store ## Basic Information - **Project Name**: noob Store - **Description**: 一款简单的仓库管理软件,与其说是完善的仓库管理软件,倒不如说是企业软件开发的一个框架。主要填充了物资调拨相关内容。 写这个项目的理由是因为,我在现实中负责复杂的数字化开发工作,在管理开发过程中,发现软件开发公司对于企业管理的理解存在很多问题,造成了许多时间浪费。所以花了20天时间写了这个仓库管理软件,用于指导开发团队应该如何开发,理顺业务逻辑。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 3 - **Created**: 2025-09-14 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: erp **Tags**: None ## README # noob Store #### 介绍 一款简单的仓库管理软件,与其说是完善的仓库管理软件,倒不如说是企业软件开发的一个框架。主要填充了物资调拨相关内容。 写这个项目的理由是因为,我在现实中负责复杂的数字化开发工作,在管理开发过程中,发现软件开发公司对于企业管理的理解存在很多问题,造成了许多时间浪费。所以花了20天时间写了这个仓库管理软件,用于指导开发团队应该如何开发,理顺业务逻辑。 使用后端nodejs,前端原生html、js。 设计逻辑。 双权限设计,日常使用岗位作为权限管理方式,管理员权限用于兜底。 权限绑定岗位,岗位再由岗位理清权限关系。 上级自动拥有下级所有权限(除非特殊设置)。 #### 注意事项 首次使用前根据app文件注释创建一个公钥和私钥用于加密,或者将https改为http协议 #### 主要特色 业务逻辑清晰: 以实际企业管理需求为导向,业务流程完整 开发框架: 可作为企业管理软件开发的参考框架 完整调拨流程: 重点实现了物资调拨的完整业务流程 实战指导: 基于真实项目经验,为开发团队提供最佳实践 核心功能 物资管理: 物资信息、分类、规格管理 库存管理: 实时库存查询、批次管理 入库管理: 标准入库流程 物资调拨: 完整的跨仓库物资调拨业务流程(重点功能) 物资消耗: 物资消耗记录和追踪 审批流程: 可配置的多级审批机制 权限管理: 基于岗位的双权限策略管理系统 数据统计: 基础的库存和流转统计 软件架构 技术栈 后端: Node.js + Express + SQLite3 前端: 原生 JavaScript SPA 数据库: SQLite(零配置部署) 会话管理: Express-session 文件处理: Multer 架构特点 前后端分离: API接口设计规范,前端SPA架构 轻量级部署: 无需复杂环境配置,开箱即用 模块化设计: 业务逻辑清晰分层,便于扩展和维护 并发安全: 内置锁机制,保证数据一致性 双权限策略: 基于岗位的权限管理 + admin兜底权限 权限系统设计 双权限策略: Admin权限: 系统管理员权限,用于兜底管理,拥有最高权限 岗位权限: 主要权限验证方式,权限绑定到具体岗位 岗位权限特点: 权限绑定岗位: 所有业务权限都绑定到具体岗位上 上级权限继承: 上级岗位拥有其所有下级岗位的所有权限(除非特意设置必须此岗位匹配) 多岗位支持: 一个用户账户可以拥有多个岗位 流程配置: 可配置固定审批流程,不同岗位配置在流程的不同阶段 权限继承示例: 总经理 (拥有部门经理、主管、员工的所有权限) ├── 部门经理 (拥有主管、员工的所有权限) ├── 主管 (拥有员工的所有权限) ├── 员工 (只有自己的权限) 流程权限示例: 物资调拨流程: 第一阶段:部门主管 → 第二阶段:仓库管理员 → 第三阶段:财务审核 不同岗位在流程中承担不同的审批责任 环境要求 Node.js >= 14.0.0 npm >= 6.0.0 浏览器访问: http://localhost:53876 使用说明 初次使用 获取邀请码: 系统启动后会在控制台显示管理员邀请码和组织邀请码文件地址 注册管理员: 使用管理员邀请码注册第一个管理员账号(拥有admin权限) 权限配置: 创建组织架构和岗位体系 配置岗位上下级关系(上级自动拥有下级所有权限) 设置特殊岗位权限(必须此岗位匹配的权限) 设置审批流程和岗位在流程中的阶段 基础配置: 配置仓库信息 设置物资分类 用户管理: 邀请团队成员注册 为用户分配相应岗位 开始使用: 进行入库、调拨、消耗等业务操作 权限管理说明 岗位权限配置: 创建岗位层级结构(如:总经理 > 部门经理 > 主管 > 员工) 设置岗位上下级关系 为岗位配置具体权限(查看、创建、审批等) 设置特殊权限(必须特定岗位才能执行的权限) 将岗位分配给用户 权限继承规则: 上级岗位自动拥有所有下级岗位的权限 可以设置某些权限必须特定岗位才能执行 用户拥有多个岗位时,权限取并集 流程配置: 定义业务流程(如:物资调拨审批流程) 配置流程的各个阶段 将不同岗位分配到流程的不同阶段 设置流程的流转规则 核心业务流程 物资调拨流程(重点功能): graph TD A[申请人创建调拨单] --> B[第一级岗位审批] B --> C{审批结果} C -->|通过| D[第二级岗位审批] C -->|拒绝| E[调拨失败] D --> F{审批结果} F -->|通过| G[执行调拨] F -->|拒绝| E G --> H[更新库存] H --> I[完成调拨] 主要操作 入库管理: 标准的物资入库流程,支持批次管理 物资调拨: 跨仓库物资调拨,支持部分调拨和多级审批流程 物资消耗: 记录物资消耗情况,支持批量操作 库存查询: 实时查询各仓库库存状态 权限管理: 岗位权限配置、流程权限设置 审批管理: 处理各类业务审批流程 参与贡献 Fork 本仓库 新建 Feat_xxx 分支 提交代码 新建 Pull Request 贡献指南 请确保代码符合项目的编码规范 提交前请进行充分测试 提交信息请使用清晰的描述 欢迎提出业务逻辑的改进建议 开发说明 项目价值 这个项目的主要价值在于: 业务逻辑参考: 提供了完整的企业管理软件业务逻辑实现 权限系统设计: 展示了实用的双权限策略和岗位权限管理 开发框架: 可作为类似项目的开发框架和起点 最佳实践: 展示了企业管理软件开发的最佳实践 快速原型: 20天开发周期,证明了敏捷开发的可行性 扩展建议 基于这个框架,可以轻松扩展以下功能: 采购管理模块 销售管理模块 财务管理模块 报表分析模块 移动端支持 特色功能 零配置部署: 使用 SQLite 数据库,无需复杂的数据库配置 原生技术栈: 前端使用原生 JavaScript,后端使用 Node.js,学习成本低 完整业务流程: 物资调拨流程完整,包含审批、锁定、执行等环节 双权限策略: Admin兜底 + 岗位权限的灵活权限管理 上级权限继承: 上级岗位拥有下级所有权限,符合企业管理实际需求 流程可配置: 支持自定义业务流程和岗位在流程中的角色 并发安全设计: 内置锁机制,确保高并发场景下的数据一致性 多岗位支持: 一个用户可拥有多个岗位,权限灵活组合 特殊权限控制: 可设置必须特定岗位才能执行的权限 文件管理: 支持物资图片上传和管理