Abstract
Part DB Server is an open-source Full Stack Web Development project. Part-DB is an Open source inventory management system for your electronic components. 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. It is built using PHP, MySQL. Key capabilities include: Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer,; 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. The complete source code is publicly available on GitHub under the GNU Affero General Public License v3.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.
1. Introduction
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.
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.
2. Objective
Part-DB is an Open source inventory management system for your electronic components
This project demonstrates how PHP, MySQL can be applied to a real-world Full Stack Web Development problem.
3. Key Features / Modules
- Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer,
- 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.
- Optional support for single sign-on (SSO) via SAML (using an intermediate service
- 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
- Event log: Track what changes happen to your inventory, track which user does what. Revert your parts to older
- 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
4. Technology Stack
- Symfony 6: The main framework used for the serverside PHP
- Bootstrap 5 and Bootswatch: Used as website theme
- Fontawesome: Used as icon set
- Hotwire Stimulus and Hotwire Turbo: Frontend
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- PHP 7.4+ with a web server (XAMPP / WAMP / LAMP)
- MySQL / MariaDB
- phpMyAdmin (optional)
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/Part-DB/Part-DB-server.git
cd Part-DB-server- Copy or clone this repository into a folder on your server.
- Configure your webserver to serve from the public/ folder.
- Copy the global config file cp .env .env.local and edit .env.local:
- Change the line APP_ENV=dev to APP_ENV=prod
- If you do not want to use SQLite, change the value of DATABASE_URL= to your needs (
- Install composer dependencies and generate autoload files: composer install -o --no-dev
- Install client side dependencies and build it: yarn install and yarn build
- _Optional_ (speeds up first load): Warmup cache: php bin/console cache:warmup
Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add role-based access control
- Deploy on a VPS or cPanel hosting with a custom domain
- Add automated tests and a CI pipeline
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Explain the frontend, backend and database layers of this application.
- How is user authentication and authorisation implemented?
- Describe the main database tables / collections and their relationships.
- Which REST APIs or routes are exposed and what do they return?
- How would you deploy this application to production?
9. Source Code & License
This project is developed by Part-DB and published on GitHub under the GNU Affero General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Full Stack Web Development Internship