Documentation | Demo | Docker Image
Part-DB
Part-DB is an Open-Source inventory management system for your electronic components.
It is installed on a web server and so can be accessed with any browser without the need to install additional software.
The version in this repository is a complete rewrite of the legacy Part-DB
(Version < 1.0) based on a modern framework and is the recommended version to use.
If you find a bug, please open an Issue on GitHub, so it can be fixed
for everybody.
Demo
If you want to test Part-DB without installing it, you can use this Heroku instance.
(Or this link for the German Version).
You can log in with username: user and password: partdb-demo.
Every change to the master branch gets automatically deployed, so it represents the current development progress and
may not be completely stable. Please mind, that the free Heroku instance is used, so it can take some time when loading
the page
for the first time.
Features
- Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer,
and multiple store locations and price information. Parts can be grouped using tags. You can associate various files
like datasheets or pictures with the parts.
- Multi-language support (currently German, English, Russian, Japanese, French, Czech, Danish, and Chinese)
- Barcodes/Labels generator for parts and storage locations, scan barcodes via webcam using the builtin barcode scanner
- User system with groups and detailed (fine granular) permissions.
Two-factor authentication is supported (Google Authenticator and Webauthn/U2F keys) and can be enforced for groups.
Password reset via email can be set up.
- Optional support for single sign-on (SSO) via SAML (using an intermediate service
like Keycloak you can connect Part-DB to an existing LDAP or Active Directory server)
- Import/Export system for parts and data structure. BOM import for projects from KiCAD is supported.
- Project management: Create projects and assign parts to the bill of material (BOM), to show how often you could build
this project and directly withdraw all components needed from DB
- Event log: Track what changes happen to your inventory, track which user does what. Revert your parts to older
versions.
- Responsive design: You can use Part-DB on your PC, your tablet, and your smartphone using the same interface.
- MySQL, SQLite and PostgreSQL are supported as database backends
- Support for rich text descriptions and comments in parts
- Support for multiple currencies and automatic update of exchange rates supported
- Powerful search and filter function, including parametric search (search for parts according to some specifications)
- Automatic thumbnail generation for pictures
- Use cloud providers (like Octopart, Digikey, Farnell, LCSC or TME) to automatically get part information, datasheets, and
prices for parts
- Retrieve part information from arbitrary shop websites, using either conventional data extraction from structured metadata, or AI based data extraction.
A browser plugin allows to quickly submit parts from any website to your Part-DB instance, and even allows to circumvent anti-bot measures on shop websites.
- Allow to create parts from datasheets using AI based data extraction, by uploading a PDF datasheet to Part-DB and let the AI extract the relevant information.
- API to access Part-DB from other applications/scripts
- Integration with KiCad: Use Part-DB as the central datasource for your
KiCad and see available parts from Part-DB directly inside KiCad.
- MCP Server for letting AI agents and chats access your Part-DB instance to allow them to answer questions about your inventory
With these features, Part-DB is useful to hobbyists, who want to keep track of their private electronic parts inventory,
or maker spaces, where many users should have (controlled) access to the shared inventory.
Part-DB is also used by small companies and universities for managing their inventory.
Requirements
- A web server (like Apache2 or nginx) that is capable of
running Symfony 7,
this includes a minimum PHP version of PHP 8.2
- A MySQL (at least 5.7) /MariaDB (at least 10.4) database server, or PostgreSQL 10+ if you do not want to use SQLite.
- Shell access to your server is highly recommended!
- For building the client-side assets yarn and nodejs (>= 22.0) is needed.
Installation
If you want to upgrade your legacy (< 1.0.0) version of Part-DB to this version, please
read this first.
This is the beginning of the README. Read the rest at the original. Read the full README ↗