
后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载IDURAR 是一款免费开源的 ERP企业资源计划与 CRM客户关系管理软件采用 Node.js、React.js、Redux、Express.js、MongoDB 与 Ant DesignAntD构成的 MERN 技术栈实现。本指南基于仓库内features/de_de_frei_offene_quelle_erp_crm_software.md的功能清单逐模块拆解其用户、客户、销售、采购、库存、财务、项目、报表等核心能力并结合仓库源码验证各模块的真实实现路径帮助你快速理解该系统的架构组织方式与二次开发切入点。一、技术栈总览从 MERN 到可落地的业务底座IDURAR 被定义为基于 mern-stack 的免费开源 ERP 与 CRM 应用。结合仓库实际依赖见 backend/package.json 与 frontend/package.json技术栈可进一步细化为层级技术选型仓库证据前端框架React 18 Vite 构建frontend/package.json中react: ^18.3.1、vite: ^5.4.8状态管理Redux Redux Toolkitfrontend/src/redux/目录下的store.js、rootReducer.jsUI 组件库Ant Designantd 5.xfrontend/package.json中antd: ^5.14.1后端框架Express 4backend/package.json中express: ^4.18.2数据存储MongoDB Mongoose 8backend/package.json中mongoose: ^8.1.1认证安全jsonwebtoken bcryptjsbackend/src/controllers/middlewaresControllers/createAuthMiddleware/数据校验Joibackend/package.json中joi: ^17.11.0PDF 生成pug 模板 html-pdfbackend/src/pdf/下的Invoice.pug、Quote.pug等运行环境Node.js 20.9.0、npm 10.2.4两端package.json的engines字段后端入口 backend/src/app.js 展示了清晰的路由分层/api挂载认证路由与业务路由其中业务接口统一经过adminAuth.isValidAuthToken中间件鉴权/download与/public分别用于文件下载与公开资源访问。业务 CRUD 路由由 backend/src/routes/appRoutes/appApi.js 统一生成——它会为每个实体自动注册create、read/:id、update/:id、delete/:id、search、list、listAll、filter、summary共 9 个标准端点并针对 invoice、quote、payment 额外挂载邮件发送接口。这种一套控制器工厂 统一路由生成的架构正是支撑下文各业务模块快速扩展的基础。二、用户管理账户生命周期与权限体系原文档明确了用户管理模块的三个能力管理员可创建、编辑、删除用户账户实现基于角色的访问控制RBAC管理权限提供认证与授权机制保障安全访问。从源码看这一模块由三层结构支撑数据模型层核心模型位于 backend/src/models/coreModels/Admin.js管理员账户与密码哈希分离存储AdminPassword模型密码通过bcryptjs生成哈希并配合salt随机串增强安全性。认证中间件层backend/src/controllers/middlewaresControllers/createAuthMiddleware/ 目录集中实现了完整认证链路包括login登录、logout登出、forgetPassword忘记密码、resetPassword重置密码、isValidAuthToken令牌校验、sendMail邮件发送等模块覆盖了账户从创建到密码找回的全生命周期。初始化脚本层首次部署时执行npm run setup对应 backend/src/setup/setup.js会创建角色为owner的超级管理员账户并写入默认设置项与默认税率、默认付款方式同时生成密码哈希与验证标记——这就是管理员创建账户能力在数据库层面的落地。值得说明的是RBAC 的权限粒度通过Admin模型中的role字段表达如owner后续开发者可在createCRUDController工厂backend/src/controllers/middlewaresControllers/createCRUDController/index.js基础上扩展更细粒度的权限校验逻辑。三、客户关系管理CRM从联系人到沟通历史原文档定义的 CRM 能力包括创建与管理线索Lead、潜在客户和客户的联系记录实现线索生成与资格认定以跟踪销售机会管理包含邮件、电话、会议在内的客户沟通历史支持日程安排并向客户发送通知或提醒。仓库中的落地实体是Client客户其模型定义在 backend/src/models/appModels/Client.js核心字段包括name必填、phone、country、address、email等联系信息createdBy与assigned均引用Admin用于记录客户归属与跟进负责人——这正是销售机会跟踪与分配的数据基础removed/enabled软删除与启用标记配合created/updated时间戳支持审计。客户模块的前端表单位于 frontend/src/forms/CustomerForm.jsx页面入口为 frontend/src/pages/Customer/index.jsx。通过appApi.js统一生成的标准端点/client/create、/client/list、/client/search、/client/summary等CRM 中的创建联系人、搜索客户、汇总统计均可直接使用。关于沟通历史与日程提醒从源码结构看属于后续可按Client关联扩展的领域当前仓库以客户档案与 CRUD 能力为核心底座。四、销售管理订单、库存联动与发票生成原文档描述的销售管理能力为创建和管理销售订单并关联到具体客户实现库存跟踪以检查产品可用性并在每次销售后更新库存生成发票并集成常见支付网关提供仪表盘与报表监控销售表现。仓库中与销售直接相关的核心实体是Invoice发票模型见 backend/src/models/appModels/Invoice.js其中包含大量销售链路所需的状态字段订单关联client字段引用Client强制关联客户配合autopopulate插件自动填充客户信息明细与金额items数组记录itemName、quantity、price、total文档级聚合出subTotal、taxTotal、total并支持taxRate、discount、credit库存/履约状态status枚举draft / pending / sent / refunded / cancelled / on holdpaymentStatus枚举unpaid / paid / partiallyisOverdue标记逾期配合recurringdaily / weekly / monthly / annually / quarter支持周期性发票来源追溯converted字段记录发票是否由quote报价单或offer转化而来。前端销售流程由 frontend/src/modules/InvoiceModule/ 支撑包含创建、数据表格、查看、更新、记录付款RecordPaymentModule五个子模块页面入口位于 frontend/src/pages/Invoice/。每次销售后库存更新与支付网关集成可基于上述金额字段与payment引用在业务层扩展邮件发送端点/invoice/mail已在 appApi.js 中预留配合 backend/src/pdf/Invoice.pug 的 Pug 模板即可实现发票 PDF 附件发送。五、采购管理采购订单与供应商关系原文档定义采购管理能力创建与管理采购订单并指定数量与所需产品跟踪供应商信息、维护供应商关系收货并相应更新库存处理采购发票与对供应商的付款。从仓库当前结构看采购链路并未单独建模为独立实体而是依托统一的 CRUD 工厂与设置体系实现任意业务实体Client、Invoice、Payment等都由 routesList 注册并复用同一套控制器工厂createCRUDController。因此采购订单、供应商档案等实体可以按相同的模型定义 路由注册模式快速接入复用create、update、filter、summary等既有能力。可推断其设计意图是以通用 CRUD 基础设施覆盖采购域的增删改查再通过设置模块见第七节定制采购相关业务参数。六、库存管理库存跟踪、预警与产品分类原文档定义的库存能力包括管理跟踪库存水平含仓库转移与调整设置低库存自动通知并在需要补货时生成采购订单提供条码扫描能力允许用户对产品分类、定义属性与设置定价信息。仓库中并未发现独立的Product模型文件Invoice.js中 product 引用字段被注释保留但库存逻辑所需的数值基础已经存在发票明细中的quantity与total为库存扣减提供了可追踪的销售流水generateUniqueNumber.jsbackend/src/middlewares/inventory/generateUniqueNumber.js说明仓库设有库存/单据编号生成中间件用于为发票、订单等生成唯一业务编号。低库存预警、条码扫描等功能属于业务策略层可在现有模型与中间件基础上实现产品分类与定价则可参考Invoice中currency、taxRate等字段的设计模式。七、财务管理总账、应收应付与财务报表原文档定义的财务能力实现总账系统跟踪支出与收入的财务交易管理应收账款AR与应付账款AP包括开票与付款跟踪生成资产负债表与损益表等财务报告与常见会计软件集成实现无缝财务管理。Payment付款模型是这一模块的核心其控制器集合见 backend/src/controllers/appControllers/paymentController/包含create、update、remove、sendMail、summary等端点。发票侧的paymentStatus、credit、isOverdue字段Invoice.js则构成应收管理AR的状态机unpaid → partially → paid配合逾期标记即可支撑付款跟踪。前端对应模块为 frontend/src/modules/PaymentModule/含付款列表、付款详情查看与更新。财务报表能力由两套机制支撑汇总端点每个实体都注册了summary接口见 appApi.js如 paymentController/summary.js、invoiceController/summary.js可聚合出应收、已收等关键口径作为损益类报表的数据源设置与格式化backend/src/settings/useMoney.js 与 backend/src/settings/useDate.js 提供金额与日期格式化工具配合 defaultSettings/moneyFormatSettings.json 可统一货币符号、小数位等呈现规则保证报表展示一致性。八、项目管理任务、进度与协作原文档定义的项目管理能力提供项目创建与跟踪向团队成员分配任务、设定截止日期并监控进度分配资源并跟踪项目支出提供文档共享与实时通信等协作功能。从仓库现状看项目管理并非当前主线模块当前仓库的成熟业务域集中在 Invoice / Quote / Payment / Customer / Settings参见 frontend/src/pages/ 与 backend/src/models/appModels/。但系统已为项目域预留了通用基础任何新实体只需在 models/utils/index.js 的routesList中登记即可自动获得全套 CRUD 与汇总端点Admin模型的assigned关联模式见 Client.js也示范了任务/项目分配给成员的数据建模方式。因此项目管理功能可以低成本地基于既有架构扩展。九、报表与分析KPI 仪表盘与数据可视化原文档定义的报表能力围绕业务各方面生成综合报表与分析提供可定制仪表盘监控关键绩效指标KPI允许用户基于具体需求定义自定义报表实现数据可视化技术以生动呈现信息。仓库的实现分层清晰前端仪表盘frontend/src/modules/DashboardModule/ 提供了SummaryCard、PreviewCard、CustomerPreviewCard与RecentTable组件构成仪表盘的卡片式 KPI 展示骨架数据汇总后端各实体summary端点如 invoiceController/summary.js、clientController/summary.js直接为 KPI 卡片提供聚合数据可视化基础前端依赖 antd等组件支撑列表化呈现图表类可视化可在SummaryCard的数值口径之上进一步引入图表库扩展。十、集成与定制API、Webhooks 与可定制外观原文档定义的集成能力允许与常见第三方应用或 API如邮件营销工具、CRM 平台集成允许基于具体业务需求定制功能与外观提供 API 或 Webhooks 以便在 ERP/CRM 与其他系统间传输数据。仓库中的集成点体现在三处邮件集成后端依赖resend邮件发送服务与nodemailer相关能力邮件模板位于 backend/src/emailTemplate/含SendEmailTemplate.js与emailVerfication.jsinvoice/quote/payment 实体均已注册/mail端点可直接对接邮件营销或通知场景设置驱动的定制settingController 提供listBySettingKey、readBySettingKey、updateBySettingKey、updateManySetting等接口配合 backend/src/setup/defaultSettings/ 下的 JSON 默认设置公司信息、货币格式、发票规则等实现不改代码改配置的业务定制前端对应 SettingModule 提供公司设置、财务设置、货币格式设置等可视化配置界面开放式 API所有业务实体均通过 appApi.js 暴露 REST 端点外部系统可直接调用/api下的 JSON 接口完成数据交换Webhooks 可在现有邮件发送与 CRUD 钩子基础上扩展。十一、用户友好界面Ant Design 与响应式体验原文档强调用 React.js 与 Ant Design 设计直观、响应式、易用的界面实现易用的导航菜单、搜索与筛选确保不同设备与屏幕尺寸下 UI 一致且美观。仓库证据充分UI 组件体系全部基于 Ant Designantd 5.x并在 frontend/src/components/ 中沉淀了大量业务组件如AutoCompleteAsync异步自动补全、SelectAsync异步选择、MultiStepSelectAsync多步选择、DataTable数据表格、CrudModal、DeleteModal、SearchItem、ReadItem、UpdateForm、CreateForm等导航与布局由 frontend/src/layout/ 与 frontend/src/apps/Navigation/NavigationContainer.jsx 组织提供 Auth、Dashboard、Erp、Settings、Profile 等多种布局响应式支持由 frontend/src/hooks/useResponsive.jsx 提供保证不同屏幕尺寸下的适配全局样式沉淀在 frontend/src/style/partials/如customAntd.css、layout.css、navigation.css在 AntD 默认主题之上统一视觉风格。十二、本地部署从克隆到双端启动围绕上述模块的完整本地运行流程依据 INSTALLATION-INSTRUCTIONS.md 与 README.md 整理克隆仓库git clone https://gitcode.com/gh_mirrors/id/idurar-erp-crm.git或从原始上游仓库拉取并进入目录准备 MongoDB注册 MongoDB 账号、创建集群记录 Connect to your application URI并将当前 IP 加入白名单配置环境变量在backend目录创建.env文件将其中DATABASEyour-mongodb-uri替换为实际 MongoDB URI安装后端依赖cd backend npm install执行初始化脚本npm run setup该脚本backend/src/setup/setup.js会创建owner管理员、写入默认设置、默认税率与付款方式启动后端npm run dev开发模式经 nodemon 热重载生产环境可执行npm start安装前端依赖并启动另开终端cd frontend npm install npm run dev随后在浏览器访问本地地址。环境注意事项仓库两端package.json均声明node: 20.9.0、npm: 10.2.4。若使用旧版 Node如 v17运行前端遇到 OpenSSL 错误ERR_OSSL_EVP_UNSUPPORTED官方建议升级到 Node.js v20或启用 legacy OpenSSL providerUnix 系执行export NODE_OPTIONS--openssl-legacy-providerWindows 命令提示符执行set NODE_OPTIONS--openssl-legacy-provider之后重新npm run dev。结语IDURAR 以 MERN 技术栈为底座通过通用 CRUD 控制器工厂 统一路由生成 设置驱动配置的架构将用户、CRM、销售、采购、库存、财务、报表等 ERP/CRM 核心域组织成可扩展的业务体系。本文基于仓库文档与源码逐模块还原了其能力矩阵与实现落点无论是想快速评估其业务覆盖度还是准备基于现有 CRUD 工厂扩展新模块如项目管理、采购订单都可以从本文梳理的模型文件、控制器目录与路由注册点入手沿着同一套模式低成本推进。赞分享后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载相关推荐IDURAR 开源 ERP/CRM 功能全景解析基于 MERN 技术栈的免费开源企业管理软件IDURAR 开源 ERP/CRM 功能全景解析基于 MERN 技术栈的免费开源企业管理软件 IDURAR idurar erp crm https://l后端前端企业应用CRMIDURAR ERP CRM 全功能解析基于 MERN 技术栈的开源 ERP/CRM 软件IDURAR ERP CRM 全功能解析基于 MERN 技术栈的开源 ERP/CRM 软件 IDURAR 是一款开源Fair Code 协议的 ERP/C后端前端企业应用CRMWorkshopDL终极指南无需Steam客户端轻松下载创意工坊模组WorkshopDL终极指南无需Steam客户端轻松下载创意工坊模组 WorkshopDL是一款专为游戏玩家设计的开源跨平台模组下载工具让你无需安装Ste后端前端企业应用CRM上一篇Go 状态机驱动的反射式 JSON 编解码microsoft-authentication-library-for-go 内部 json 包设计解析下一篇如何在3分钟内完成专业级人声分离本地化AI音频处理终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考