资讯详情

资讯详情

IDURAR 开源 ERP/CRM 功能全景解析:基于 MERN 技术栈的免费开源企业管理软件

后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载IDURARidurar-erp-crm是一款基于 MERN 技术栈Node.js React.js Redux Express.js MongoDB Ant Design构建的免费开源 ERP 与 CRM 一体化管理软件。本文以官方功能特性文档features/th_th_ฟรี_โปรแกรม_ตัวจัดการแหล่งข้อมูลโปรแกรม_ERP_CRM.md为骨架逐模块解读其功能蓝图并结合仓库源码后端 Express/Mongoose 与前端 React/Ant Design给出实现层面的证据与原理说明帮助开发者理解这套系统的能力边界、架构思路与实际落地方式。一、技术栈MERN Ant Design 的一体化选型文档明确指出 IDURAR 基于 mern-stack 构建即Node.js、React.js、Redux、Express.js、MongoDB 与 Ant Design (AntD)。这一选型在仓库的依赖清单中有完整印证后端backend/package.json基于express^4.18.2与mongoose^8.1.1构建 REST API配套jsonwebtokenJWT 认证、bcryptjs密码哈希、joi请求校验、multer文件上传、pughtml-pdfPDF 模板渲染、currency.js货币计算等。前端frontend/package.json基于react^18.3.1、react-redux与reduxjs/toolkit、react-router-dom路由UI 组件层使用antd^5.14.1与ant-design/pro-layout、ant-design/icons构建工具为vite^5.4.8。项目统一约定 Node20.9.0/ npm10.2.4运行环境后端通过module-alias将/映射到src/。因此MERN AntD 不是宣传用语而是前后端可逐一在 package.json 中验证的真实技术选型。对开发者而言这意味着可以直接复用熟悉的 JS/TS 生态MongoDB 的文档模型也很适合发票、收款这类结构化但字段弹性较大的业务数据。二、用户管理认证、授权与账户生命周期文档描述的用户管理能力包括管理员创建/编辑/删除用户账户、基于角色的访问控制、以及认证与授权机制。对应源码中的实现证据如下管理员模型backend/src/models/coreModels/Admin.js包含email小写、去空格、必填、name、surname、photo、enabled、role枚举owner等字段removed标记用于逻辑删除enabled控制账户是否可用。认证中间件backend/src/controllers/coreControllers/adminAuth/index.js通过createAuthMiddleware(Admin)工厂生成完整的登录、注销、忘记密码、重置密码、令牌校验等中间件集合。登录校验流程backend/src/controllers/middlewaresControllers/createAuthMiddleware/login.js先使用 Joi 校验邮箱格式与密码必填再查询用户是否存在、账户是否启用最后调用authUser比对AdminPassword中的哈希密码全程对异常场景返回明确的 JSON 错误结构。初始化账号backend/src/setup/setup.jsnpm run setup会创建默认管理员adminadmin.com初始密码admin123同时写入默认设置、默认税率Tax 0%与默认支付方式Cash / Wire Transfer新实例开箱即可登录体验。三、CRM 客户关系管理线索、联系人与会话历史文档要求 CRM 模块支持维护联系人记录线索 Lead、潜在客户、客户、线索创建与资格认定、客户沟通历史邮件、电话、会议、预约与提醒。在源码层面客户数据实体为Client 模型backend/src/models/appModels/Client.js字段包括name必填、phone、country、address、email并通过createdBy/assigned关联到管理员enabled/removed控制启用与软删除状态。围绕该模型系统自动暴露完整 CRUD API见下文路由机制前端则由 Customer 页面 与其 config.js 配置驱动表格、表单与筛选。需要说明的是文档中所描述的线索资格认定、沟通历史记录、预约提醒属于产品能力蓝图从当前仓库源码结构看核心已落地的数据实体是 Client客户主数据会话历史与预约提醒并未以独立业务模型形式出现部署时可视需要在此基础上扩展。四、销售管理销售订单、库存联动与发票文档描述的销售能力包括创建与管理销售订单并关联客户、跟踪库存并随销售更新库存水平、生成发票并与主流支付网关集成、提供仪表盘与报表分析销售表现。当前仓库中与该模块强相关的落地实现是发票Invoice业务闭环发票模型backend/src/models/appModels/Invoice.js核心字段包括numberyear票据编号体系、client关联客户启用autopopulate自动填充、items行项目itemName、description、quantity、price、total、taxRate/subTotal/taxTotal/total税额与总额计算、currency大写化货币代码、paymentStatusunpaid/paid/partially、statusdraft/pending/sent/refunded/cancelled/on hold、recurring日/周/月/季/年周期、isOverdue、approved并内嵌payment引用数组与pdf、files附件字段。自定义控制器backend/src/controllers/appControllers/invoiceController/index.js在通用 CRUD 基础上覆盖create、update、delete、summary、list、read并追加mail邮件发送能力。发票相关前端创建/编辑/查看/收款完整闭环见 frontend/src/modules/InvoiceModule 下的CreateInvoiceModule、UpdateInvoiceModule、ReadInvoiceModule、RecordPaymentModule以及 frontend/src/pages/Invoice 对应页面。文档中提到的销售订单 库存联动 支付网关集成在当前仓库中没有对应的独立业务模型文件appModels目录下仅 Client、Invoice、Payment 三个模型因此应视为产品功能蓝图其中发票、收款、客户数据已形成可运行的端到端闭环。五、采购管理与库存管理功能愿景与可扩展方向文档对采购模块的要求是创建采购订单并指定数量与产品、维护供应商档案与关系、收货并更新库存、管理供应商发票与付款对库存模块的要求是库存水平跟踪含调拨与调整、低库存自动告警与自动补货、条码扫描、产品分类/属性/定价。从当前仓库源码看backend/src/models/appModels/下仅有 Client.js、Invoice.js、Payment.js 三个业务模型采购订单、供应商、产品/库存实体尚未以独立模型落地文档中的相关描述属于产品级能力规划。不过系统的架构为这些模块预留了清晰的扩展路径只要在appModels目录新增模型文件backend/src/models/utils/index.js 会自动将其纳入routesList进而通过 appApi.js 生成全套 REST 路由无需手写样板代码详见下文自动化 CRUD 架构。此外仓库已内置 库存相关中间件唯一编号生成与increaseBySettingKey等设置联动逻辑说明模块化拆分是既定的演进方向。六、财务管理发票、收款与应收应付文档对财务模块的要求日记账分录记账收入/支出、应收应付管理开票与回款跟踪、财务报表试算平衡表、损益表、与主流会计软件集成。当前源码中已落地的财务核心是发票 收款闭环收款模型backend/src/models/appModels/Payment.js包含number、client、invoice均启用autopopulate自动填充关联文档、date、amount、currency、ref支付参考号、description等字段直接与发票关联构成开票 → 回款的可追溯链路。收款控制器backend/src/controllers/appControllers/paymentController/提供create、update、remove、summary、sendMail等操作。前端收款闭环发票侧的 RecordPaymentModule 与独立的 PaymentModule含PaymentDataTableModule、ReadPaymentModule、UpdatePaymentModule以及 Payment 页面。发票上的paymentStatusunpaid/paid/partially、isOverdue、credit赊账额等字段正是应收账款跟踪的建模基础而文档提到的日记账、试算平衡表、损益表等会计能力在当前仓库中尚未发现对应实现属于产品规划范畴。七、项目管理、报表分析与集成定制按文档蓝图扩展文档其余部分描述了以下能力方向均属于产品级功能愿景项目管理创建/跟踪项目、向团队成员分配任务、设定截止日期、跟踪进度、资源分配、项目成本跟踪、文档共享与实时沟通。当前仓库未包含 Project/Task 业务模型。报表与分析跨业务域的综合报表、自定义 KPI 仪表盘、自定义报表、可视化展示。当前仓库以 summary 接口 等形式提供轻量汇总统计完整 BI 能力待扩展。集成与定制与营销邮件工具、CRM 平台等外部系统集成提供 API / Webhook 交换数据。这一点与仓库架构高度契合——系统本身就是一套完整的 REST API见下文天然具备被外部系统调用的能力。写作时请务必区分当前已落地能力与产品规划蓝图避免把文档愿景误读为现成功能。八、友好的用户界面React.js Ant Design文档强调 UI 需易用、响应式并基于 React.js 与 Ant Design 实现直观的导航菜单、搜索与筛选功能且在不同设备与屏幕尺寸下保持一致、美观。前端源码对此的印证包括UI 基础设施位于 frontend/src/layoutAuthLayout、DashboardLayout、ErpLayout、CrudLayout、SettingsLayout 等与 frontend/src/componentsDataTable、CreateForm、UpdateForm、CrudModal、DeleteModal、SelectAsync、AutoCompleteAsync、SidePanel 等通用组件这些组件统一基于 Ant Design 封装保证页面视觉与交互的一致性。业务面板模块集中在 frontend/src/modules/ErpPanelModuleCreateItem / ReadItem / UpdateItem / DeleteItem / SearchItem / DataTable / ItemRow通过统一的面板模式复用到客户、发票、收款、报价等业务页面这正是一致且美观的界面的工程化实现。响应式能力通过 useResponsive 等 hook 支撑。九、架构原理从模型自动生成 REST API 的 CRUD 工厂若要理解为什么这套系统能快速覆盖多个业务域关键在于其模型驱动的自动化 CRUD 架构这也间接支撑了文档所述可定制、可扩展的定位模型自动发现backend/src/models/utils/index.js通过 glob 扫描src/models/appModels/**/*.js将每个模型文件自动生成{ entity, modelName, controllerName }路由描述例如Client.js → client / Client / clientController。控制器工厂backend/src/controllers/middlewaresControllers/createCRUDController为每个模型生成create、read、update、delete、search、list分页、listAll、filter、summary等标准方法若存在同名自定义控制器目录如 invoiceController则自动覆盖默认实现见 backend/src/controllers/appControllers/index.js。路由注册backend/src/routes/appRoutes/appApi.js对每个 entity 注册以下统一 REST 路由POST /{entity}/create GET /{entity}/read/:id PATCH /{entity}/update/:id DELETE /{entity}/delete/:id GET /{entity}/search GET /{entity}/list GET /{entity}/listAll GET /{entity}/filter GET /{entity}/summary此外invoice、quote、payment三类实体额外获得POST /{entity}/mail邮件发送接口quote还支持GET /quote/convert/:id转发票接口。这就是新增一个模型即获得整套 API的底层机制也是文档中提供 API 以交换数据、允许按业务需求定制应用能力的直接体现。十、本地部署与快速体验结合 INSTALLATION-INSTRUCTIONS.md 与后端脚本backend/package.json典型的本地运行流程为配置 MongoDB 连接与相关环境变量后端启动时读取.env/.env.local参考 backend/src/server.js。安装依赖并初始化数据执行npm run setup脚本backend/src/setup/setup.js会创建默认管理员、导入src/setup/defaultSettings/下的默认设置、写入默认税率与支付方式。启动后端npm run devnodemon 热重载或npm start生产模式。启动前端进入 frontend 目录执行npm run devVite 开发服务器或npm run build构建产物页面由 React Ant Design 渲染通过 serverApiConfig.js 对接后端 API。结语IDURAR 是一个功能蓝图与源码实现并存的 MERN 开源 ERP/CRM用户管理、CRM 客户数据、销售发票、收款回款已形成完整可运行闭环其模型驱动的自动 CRUD 架构为采购、库存、项目管理、深度报表等文档规划模块预留了清晰的扩展路径。对于希望快速搭建或二次开发中小企业管理系统的团队这套仓库既提供了开箱即用的业务闭环也提供了一套低重复代码的工程范式值得按模块逐步深入阅读源码建议从 models、controllers 与 routes 入手。赞分享后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载相关推荐openeuler/Virt-docs与容器集成isula容器技术无缝对接教程openeuler/Virt docs与容器集成isula容器技术无缝对接教程 前往项目官网免费下载 https://ar.openeuler.org/ar后端前端企业应用CRMIDURAR ERP/CRM 开源项目功能全景基于 MERN 栈的免费开源 ERP 与 CRM 软件架构解析IDURAR ERP/CRM 开源项目功能全景基于 MERN 栈的免费开源 ERP 与 CRM 软件架构解析 导读 IDURAR 是一款基于现代 MERN 技后端前端企业应用CRMIDURAR ERP CRM 开源软件模块全景指南基于 MERN Stack 的免费开源企业管理系统IDURAR ERP CRM 开源软件模块全景指南基于 MERN Stack 的免费开源企业管理系统 IDURAR 是一款免费开源的 ERP企业资源计划与后端前端企业应用CRM上一篇Open Generative AI 免费开源 AI 图像与视频生成工作室自托管、无内容过滤、400 模型新手完整指南下一篇PrimeReact响应式字体设计从移动到桌面的排版策略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →