Giter Club home page Giter Club logo

part-db-server's Introduction

审查者代码质量 PHP 单元测试 静态分析 代码科夫 GitHub 许可证 PHP版本

Docker 拉取 Docker 构建状态 克罗丁

文档|演示| Docker 镜像

部分数据库

Part-DB 是一个针对电子元件的开源库存管理系统。它安装在网络服务器上,因此可以使用任何浏览器进行访问,无需安装其他软件。

此存储库中的版本是 基于现代框架的旧版Part-DB (版本 < 1.0)的完全重写,是推荐使用的版本。

如果您发现错误,请在 GitHub 上打开问题,以便每个人都能修复它。

演示

如果您想在不安装 Part-DB 的情况下测试它,可以使用Heroku 实例。 (或者德语版本的链接)。

您可以使用用户名: user和密码:user登录。

主分支的每次更改都会自动部署,因此它代表了当前的开发进度,并且可能不完全稳定。请注意,使用免费的 Heroku 实例,因此首次加载页面可能需要一些时间。

特征

  • 电子零件的库存管理。每个零件都可以分配给一个类别、占地面积、制造商以及多个商店位置和价格信息。可以使用标签对部件进行分组。您可以将数据表或图片等各种文件与零件相关联。
  • 多语言支持(目前支持德语、英语、俄语、日语、法语、捷克语、丹麦语和中文)
  • 零件和存储位置的条形码/标签生成器,使用内置条形码扫描仪通过网络摄像头扫描条形码
  • 具有组和详细(细粒度)权限的用户系统。支持双因素身份验证(Google Authenticator 和 Webauthn/U2F 密钥),并且可以针对组强制执行。可以设置通过电子邮件重置密码。
  • 通过 SAML 对单点登录 (SSO) 的可选支持(使用Keycloak等中间服务,您可以将 Part-DB 连接到现有的 LDAP 或 Active Directory 服务器)
  • 零件和数据结构的导入/导出系统。支持从 KiCAD 导入项目的 BOM。
  • 项目管理:创建项目并将零件分配到物料清单 (BOM),以显示您可以构建此项目并直接从数据库中提取所需的所有组件的频率
  • 事件日志:跟踪库存发生的变化,跟踪哪个用户做了什么。将您的部件恢复到旧版本。
  • 响应式设计:您可以使用相同的界面在 PC、平板电脑和智能手机上使用 Part-DB。
  • 支持 MySQL 和 SQLite 作为数据库后端
  • 支持丰富的文本描述和部分注释
  • 支持多种货币并支持自动更新汇率
  • 强大的搜索和过滤功能,包括参数搜索(根据某些规格搜索零件)
  • 自动生成图片缩略图
  • 使用云提供商(例如 Octopart、Digikey、Farnell、LCSC 或 TME)自动获取零件信息、数据表和零件价格
  • 用于从其他应用程序/脚本访问 Part-DB 的 API
  • 与 KiCad 集成:使用 Part-DB 作为 KiCad 的**数据源,并直接在 KiCad 内查看 Part-DB 中的可用零件。

凭借这些功能,Part-DB 对于业余爱好者来说非常有用,他们希望跟踪自己的私人电子零件库存或创客空间,其中许多用户应该能够(受控)访问共享库存。

小公司和大学也使用 Part-DB 来管理库存。

要求

  • 能够运行Symfony 5 的Web 服务器(例如 Apache2 或 nginx) ,其中至少包括PHP 8.1的 PHP 版本
  • 如果您不想使用 SQLite,则需要MySQL(至少 5.7)/ MariaDB (至少 10.2.2)数据库服务器。
  • 强烈建议通过 shell 访问您的服务器!
  • 为了构建客户端资产,需要yarnnodejs (>= 18.0)。

安装

如果您想将旧版(< 1.0.0)的 Part-DB 升级到此版本,请先阅读本文

提示: docker 镜像位于jbtronics/part-db1下。这里描述了如何通过 docker 设置 Part-DB 。

下面您可以找到安装过程的非常粗略的概述,请参阅此处 以获取有关如何安装 Part-DB 的详细指南。

  1. 将此存储库复制或克隆到服务器上的文件夹中。
  2. 配置您的网络服务器以从该public/文件夹提供服务。请参阅此处 了解更多信息。
  3. 复制全局配置文件cp .env .env.local并编辑.env.local
    • 将行更改APP_ENV=devAPP_ENV=prod
    • 如果您不想使用 SQLite,请将 的值更改为您需要的格式DATABASE_URL=(请参阅此处)。在具有并发访问的较大实例中,MySQL 的性能更高。这以后不能轻易改变,所以要明智地选择。
  4. 安装 Composer 依赖项并生成自动加载文件:composer install -o --no-dev
  5. 安装客户端依赖项并构建它:yarn installyarn build
  6. 可选(加快首次加载速度):预热缓存:php bin/console cache:warmup
  7. 将数据库升级到新方案(或在它为空时创建它):php bin/console doctrine:migrations:migrate并按照给出的说明进行操作。在此过程中,将显示管理员的密码 user。复制它。注意:这些步骤会篡改您的数据库并可能会破坏它。因此,请务必对数据库进行备份。
  8. 您可以通过配置 Part-DB config/parameters.yaml。安装/升级 Part-DB 后,您应该检查设置是否符合您的期望。检查是否partdb.default_currency符合您主要使用的货币(创建价格信息后无法更改)。php bin/console cache:clear当你改变某些东西时就运行。
  9. 在浏览器中访问 Part-DB(在您输入的 URL 下)并使用用户admin登录。密码是DB设置时输出的密码。如果您忘记了密码,请使用 设置新密码php bin/console app:set-password admin。您可以使用 admin 用户创建新用户并开始使用 Part-DB。

当您想要升级到较新版本时,只需将新文件复制到该文件夹​​中并重复步骤 4. 至 7.

通常,在初始数据库创建期间创建管理员用户时会生成随机密码,但是,您可以通过设置环境变量来设置初始管理员密码INITIAL_ADMIN_PW

您可以通过更改文件中的环境变量来根据需要配置 Part-DB .env.local。浏览此处获取更多信息。

反向代理

如果您使用反向代理,则必须确保代理X-Forwarded-*正确设置标头,否则您将得到 HTTP/HTTPS 混合和错误的主机名。如果反向代理位于不同的服务器上(或者它无法通过本地主机访问 Part-DB),则必须设置TRUSTED_PROXIESenv 变量以匹配反向代理的 IP 地址(或 IP 块)。您可以在您的.env.local或(使用 docker 时)docker-compose.yml文件中执行此操作。

捐助发展

如果您想向 Part-DB 开发人员捐款,请参阅顶部栏中的赞助商按钮(存储库名称旁边)。在那里,您将找到各种支持每月或一次性开发的方法。

内置

作者

  • Jan Böhmer -初始工作- GitHub

另请参阅参与该项目的贡献者列表。

基于 Christoph Lechner 和 K. Jacobs 的原始 Part-DB

执照

Part-DB 根据 GNU Affero 通用公共许可证 v3.0(或根据您的意见)获得许可。这主要意味着您可以将 Part-DB 用于您想要的任何用途(甚至将其用于商业用途),只要您也发布在 AGPL 下所做的每个更改的源代码。

请参阅许可证了解更多信息。

part-db-server's People

Contributors

jbtronics avatar dependabot[bot] avatar d-buchmann avatar pyromane avatar coeka avatar frank-f avatar dependabot-preview[bot] avatar japm48 avatar misaz avatar sascha988 avatar yuanzhongqiao avatar suuppl avatar jsuelwald avatar au-ee avatar tbornon avatar tacman avatar meganukebmp avatar hmatuschek avatar codeman256 avatar ajw287 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.