后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载IDURAR 是一个基于 Fair-Code公平代码理念开源发布的 ERP/CRM 系统覆盖发票、报价、库存、会计与客户关系管理等核心业务技术栈为进阶版 MERNNode.js / Express.js / MongoDB / React.js前端使用 Ant DesignAntD与 Redux。本文以仓库中的 doc/README.fr.md法语版项目说明为骨架结合仓库内的安装文档与真实源码完整讲解从克隆仓库、配置 MongoDB、初始化数据库、启动前后端到通过 Docker Compose 快速搭建本地开发环境的全过程读完本文你将能够独立在本机跑通 IDURAR 的完整前后端并了解其环境变量、路由与初始化脚本的底层机制。一、项目概览与技术栈IDURAR法语 README 中写作 IDURAR est un Open Fair-Code Source ERP / CRM见 doc/README.fr.md定位为一套易用的开源 ERP/CRM 解决方案官方宣称支持 44 种语言。其核心功能模块在法语说明中明确列出发票管理Gestion des factures 库存管理Gestion des stocks 会计管理Gestion comptable 人力资源管理Gestion des ressources humaines 基于 Ant Design 框架AntD基于 MERN 技术栈Node.js / Express.js / MongoDb / React.js在主仓库 README.md 中模块描述略有扩展同时包含报价管理Quote Management、支付管理Payment Management与客户管理Customer Management前后端源码结构也与之对应backend/src/models/appModels/下存放 Client.js、Invoice.js、Payment.js 等业务模型。从代码结构看本项目是前后端分离的单仓库monorepo结构backend/为 Express.js Mongoose 的 Node.js 服务端frontend/为 React 18 Vite AntD 的客户端。两个目录均使用package.json独立管理依赖版本均为 4.1.0。版本与环境要求依据 backend/package.json 与 frontend/package.json项目要求Node.js≥ 20.9.0engines.node声明且 server.js 在启动时会强制校验 Node 主版本 ≥ 20否则直接退出npm10.2.4后端框架Express ^4.18.2 Mongoose ^8.1.1前端框架React ^18.3.1 Vite ^5.4.8 antd ^5.14.1数据库MongoDB通过 Mongoose 连接URI 由环境变量DATABASE提供说明仓库根目录 README 标注的许可为 AGPL v3.0而法语版 README 与backend/package.json中声明的是 Fair-code License / IDURAR License 1.0实际许可文本以仓库根目录的 LICENSE 为准。二、License 与商用授权边界法语版 README 对授权边界做了明确说明这在选择自建部署前值得了解是否可以商用可以。IDURAR 可免费用于个人或商业用途。是否可以二次封装为 SaaS 提供给他人不可以。不允许将 IDURAR 作为托管/托管的服务SaaS形态提供给第三方即不能向第三方提供对本软件实质性功能集合的访问服务。定制开发与付费支持可通过 helloidurarapp.com 联系官方。三、环境准备克隆仓库与创建 MongoDB第 1 步克隆仓库git clone https://github.com/idurar/idurar-erp-crm.git cd idurar-erp-crm第 2 步创建 MongoDB 账号与数据库集群在 MongoDB 官网注册账号按照 MongoDB 官方文档创建一个数据库/集群记录下 Connect to your application URI并把其中的password替换为你自己的密码将你当前的 IP 加入 MongoDB 数据库的 IP 白名单以允许连接每当你的 IP 变化时都需要更新。四、后端配置环境变量与 MongoDB URI第 3 步编辑环境文件后端依赖环境变量运行配置文件位于backend/.env源码中通过 setup.js 与 server.js 依次加载.env与.env.local。第 4 步更新 MongoDB URI在.env中找到以下行DATABASEyour-mongodb-uri将其中的your-mongodb-uri替换为你的 MongoDB 数据库实际 URI。该变量会被 server.js 中的mongoose.connect(process.env.DATABASE)直接读取因此如果这一步配置错误或遗漏后端将无法启动——源码中对连接错误给出了明确提示check your .env file first and add your mongodb url。此外通过阅读源码可以发现.env中还可配置PORT默认为 8888见 server.js与可选的OPENAI_API_KEY见 server.js用于 AI 相关能力未配置不影响核心功能。五、安装依赖并运行后端第 5 步安装后端依赖cd backend npm install该命令会根据backend/package.json安装全部运行时依赖express、mongoose、jsonwebtoken、joi、pug、multer、nodemailer 相关等与开发依赖nodemon。从 package.json 可以看到后端提供以下常用脚本npm 脚本对应命令作用startnode src/server.js生产模式启动后端devnodemon src/server.js --ignore public/开发模式启动文件变更自动重启setupnode src/setup/setup.js执行数据库初始化resetnode src/setup/reset.js重置数据库upgradenode src/setup/upgrade.js升级脚本第 6 步运行初始化脚本仍在backend目录下执行npm run setup这一步是整个部署流程的关键。查看 backend/src/setup/setup.js 的实现可以确认该脚本实际执行了四类初始化任务创建默认管理员账号生成一个adminadmin.com、密码为admin123的 owner 角色管理员并为其生成带随机 salt 的密码哈希存入AdminPassword模型generateHash(salt, admin123)写入默认系统设置通过glob扫描./src/setup/defaultSettings/**/*.json将全部默认设置项批量写入Setting集合例如 appSettings.json 中的idurar_app_date_format默认DD/MM/YYYY、idurar_app_language默认en_us等创建默认税率写入一条Tax 0%税值 0、isDefault: true的默认税率创建默认支付方式写入一条名称为 Default Payment 的默认支付方式。因此登录所需的初始账号就是由npm run setup创建的用户名adminadmin.com密码admin123这一凭据在法语版 README 的 Démo 部分也明确给出。第 7 步启动后端服务器npm run dev后端默认监听8888端口。启动时 server.js 会通过 glob 自动加载./src/models/**/*.js下的全部 Mongoose 模型app.js 则完成 Express 应用装配挂载以下路由/api→ 认证路由coreAuthRouter/api→ 经isValidAuthToken中间件校验后的核心 APIcoreApiRouter与 ERP 业务 APIerpApiRouter/download→ 文件下载路由/public→ 公开资源路由六、安装依赖并运行前端第 8 步安装前端依赖新开一个终端窗口cd frontend npm install前端是标准 React Vite 应用frontend/package.json 声明了type: module依赖包括 react、react-dom、antd、reduxjs/toolkit、react-redux、axios、vite 等。第 9 步启动前端服务器npm run dev启动后即可在浏览器访问http://localhost:3000看到应用界面。前端开发服务器的端口与代理行为定义在 frontend/vite.config.js端口固定为3000server.port: 3000所有/api请求默认被代理到http://localhost:8888/即本地后端地址若设置环境变量VITE_DEV_REMOTEremote且提供VITE_BACKEND_SERVER则代理目标切换为远程后端——这正是仓库中 frontend/temp.env 注释所说明的用途to connect your frontend to remote backend server。因此前后端默认联调时无需额外配置Vite 代理会自动把前端的 API 请求转发给本地 8888 端口的 Express 服务。七、常见问题Node 17 的 OpenSSL 报错法语版 README 与安装文档都特别提醒了一个高发问题在 Node.js V17 下启动前端时可能遇到 OpenSSL 兼容错误error:0308010C:digital envelope routines::unsupported其根因是 Node V17 与 webpack/OpenSSL 的兼容性问题。官方推荐的两种解决方案升级到 Node.js v20推荐也符合本仓库engines声明的版本要求启用 legacy OpenSSL providerUnix 系Linux / macOS / Git bashexport NODE_OPTIONS--openssl-legacy-providerWindows 命令提示符set NODE_OPTIONS--openssl-legacy-providerPowerShell$env:NODE_OPTIONS --openssl-legacy-provider设置完成后重新执行npm run dev即可。八、Docker Compose 本地开发环境除了手动分步安装仓库还提供了 Docker Compose 方案适用于本地开发。法语版 README 中的使用步骤如下如有需要在docker-compose.yml中配置额外的环境变量执行docker-compose up -d该命令会构建镜像并启动frontend、backend 与 MongoDB三个容器。注意法语版 README 明确说明这份 docker-compose 配置仅用于本地开发不建议直接用于生产环境。九、本地部署后的体验路径完成上述步骤后你可以用初始凭据adminadmin.com/admin123登录系统。从源码结构看登录后的主界面由frontend/src/apps/ErpApp.jsx与frontend/src/apps/IdurarOs.jsx组织业务模块包括发票frontend/src/modules/InvoiceModule/、报价QuoteModule/、支付PaymentModule/、客户frontend/src/pages/Customer/以及各类设置模块SettingModule/。这些模块对应的数据接口均位于 backend/src/routes/appRoutes/appApi.js由appControllers下的 clientController、invoiceController、paymentController 等实现形成页面 → Redux context → REST API → Mongoose 模型的完整数据链路。十、总结IDURAR ERP CRM 是一个可直接自建的 MERN 全栈开源 ERP/CRM后端由 Express Mongoose 提供 REST API 并内置初始化脚本前端由 React AntD 提供开箱即用的业务界面两者通过 3000/8888 端口与 Vite 代理无缝联调。本文基于 doc/README.fr.md 的九步部署指引结合 INSTALLATION-INSTRUCTIONS.md、backend/package.json、setup.js、vite.config.js 等仓库文件完整还原了从零搭建本地开发环境的过程。若需进一步了解项目细节可继续阅读仓库根目录的 README.md 与 llms.txt后者为面向 AI Agent 的结构化项目摘要。赞分享后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载相关推荐终极指南使用DDrawCompat在现代Windows上完美运行经典游戏终极指南使用DDrawCompat在现代Windows上完美运行经典游戏 你是否曾经尝试在现代Windows 10或11系统上运行那些承载着童年记忆的经典游戏后端前端企业应用CRMIDURAR ERP CRM 项目实战指南基于 MERN 栈与 Ant Design 的开源 ERP/CRM 系统部署与架构解析IDURAR ERP CRM 项目实战指南基于 MERN 栈与 Ant Design 的开源 ERP/CRM 系统部署与架构解析 IDURAR 是一款免费开源后端前端企业应用CRMopeneuler/Virt-docs与容器集成isula容器技术无缝对接教程openeuler/Virt docs与容器集成isula容器技术无缝对接教程 前往项目官网免费下载 https://ar.openeuler.org/ar后端前端企业应用CRM上一篇抖音批量下载工具一条命令把创作者主页整库存成本地素材库下一篇Instatic命令行工具自动化部署与维护的15个实用命令创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?