Part-DB 电子元件库存管理系统
Part-DB-server
3/5
🧩 软硬件结合
已发布
项目简介
Part-DB is an Open source inventory management system for your electronic components
Part-DB 是一款开源的电子元器件库存管理系统,专为需要高效管理电子元件的个人爱好者、创客空间、小型企业及高校实验室设计。它基于现代 PHP 框架 Symfony 7 构建,要求 PHP 8.2 及以上版本,并支持 MySQL、MariaDB、PostgreSQL 以及 SQLite 等多种数据库后端,部署灵活。项目提供了官方 Docker 镜像,可快速在 Web 服务器上运行,用户通过浏览器即可访问,无需安装额外客户端。
标签
项目特点
**库存管理**:为每个元件分配分类、封装、制造商、多个存储位置和价格信息,支持标签分组和文件附件。
**多语言支持**:当前支持德语、英语、俄语、日语、法语、捷克语、丹麦语和中文。
**条码/标签生成**:为元件和存储位置生成条码/标签,支持通过内置条码扫描器使用摄像头扫描。
**用户系统**:支持用户组和细粒度权限,支持双因素认证(Google Authenticator 和 Webauthn/U2F 密钥),可通过邮箱重置密码。
**单点登录**:通过 SAML(如 Keycloak)连接 LDAP 或 Active Directory。
**导入/导出**:支持元件和数据结构的导入导出,支持从 KiCAD 项目导入 BOM。
**项目管理**:创建项目并分配元件到物料清单(BOM),显示可构建次数,并直接从库存中扣除元件。
**事件日志**:跟踪库存变更和用户操作,支持将元件恢复到旧版本。
**响应式设计**:在 PC、平板和手机上使用同一界面。
**数据库支持**:支持 MySQL、SQLite 和 PostgreSQL。
**富文本描述**:支持元件和注释的富文本描述。
**多币种支持**:支持多种货币并自动更新汇率。
**强大搜索**:支持参数搜索(根据规格搜索元件)。
**自动缩略图生成**:为图片自动生成缩略图。
**云提供商集成**:通过 Octopart、Digikey、Farnell、LCSC 或 TME 自动获取元件信息、数据手册和价格。
**任意网站数据提取**:从任意商店网站提取元件信息,支持 AI 辅助提取,并提供浏览器插件快速提交元件。
**API 接口**:供其他应用或脚本访问 Part-DB。
**KiCad 集成**:将 Part-DB 作为 KiCad 的中央数据源,直接在 KiCad 中查看可用元件。
技术规格
| 后端框架 | Symfony 7 |
|---|---|
| PHP 版本 | >= 8.2 |
| 数据库 | MySQL (>=5.7) / MariaDB (>=10.4) / PostgreSQL 10+ / SQLite |
| 前端框架 | Bootstrap 5 + Bootswatch |
| 图标集 | Fontawesome |
| 前端 JavaScript | Hotwire Stimulus + Hotwire Turbo |
| 客户端构建 | Node.js >= 22.0, Yarn |
| 许可证 | GNU Affero General Public License v3.0+ |
| 部署方式 | Web 服务器(Apache2/nginx)或 Docker |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Web 服务器(Apache2/nginx) | 1 | — | 运行 Symfony 7 |
| PHP 8.2+ | 1 | — | 服务器端运行环境 |
| MySQL/MariaDB/PostgreSQL/SQLite | 1 | — | 数据库后端 |
| Node.js >= 22.0 | 1 | — | 构建客户端资源 |
| Yarn | 1 | — | 包管理器 |
| Composer | 1 | — | PHP 依赖管理 |
| 服务器或云主机 | 1 | — | 部署 Part-DB |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 1/5
⚪ 数理与计算: 2/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要具备 Web 服务器部署和配置能力,包括 PHP 环境搭建、数据库设置、反向代理配置等。熟悉 Docker 可简化部署。
💻 **编程能力**:无需编程即可使用,但需要一定的命令行操作能力(如 Composer、Yarn 命令)。若需二次开发或集成,需掌握 PHP(Symfony 框架)和 JavaScript。
⚡ **电子电路**:无需电子电路知识,但了解电子元件分类和库存管理有助于更好地使用系统。
适用场景
**电子爱好者**:管理个人电子元件库存,跟踪元件数量、位置和价格。
**创客空间**:为多个用户提供受控的共享库存访问,支持权限管理和事件日志。
**小型公司**:管理公司内部的电子元件库存,支持项目 BOM 管理和成本核算。
**大学实验室**:管理教学和科研用的电子元件,支持多用户协作和库存追踪。
**KiCad 用户**:将 Part-DB 作为 KiCad 的中央数据源,直接在 KiCad 中查看可用元件。