Part-DB is an Open source inventory management system for your electronic components
Find a file
Jan Böhmer 6405dee0ac Made tests compatible with phpunit 8
The new simple-phpunit wrapper is selects the best phpunit version automatically and removes all the void return types if needed.
2019-11-23 19:12:49 +01:00
.docker Add Dockerfile. 2019-11-17 19:07:07 +01:00
.github Added GitHub sponsor to funding list. 2019-11-01 12:48:25 +01:00
assets Fixed an exception on part tables, when an attachment is external. 2019-11-10 19:58:35 +01:00
bin Made tests compatible with phpunit 8 2019-11-23 19:12:49 +01:00
config Let doctrine detect its driver and db_version automatically. 2019-11-23 18:01:45 +01:00
public Updated copyright headers. 2019-11-01 13:40:30 +01:00
src Fixed an deprecation message. 2019-11-23 17:00:16 +01:00
templates Use format_datetime filters from twig core instead of deprecated twig/extensions 2019-11-23 14:48:21 +01:00
tests Made tests compatible with phpunit 8 2019-11-23 19:12:49 +01:00
translations Updated translations. 2019-11-10 19:48:59 +01:00
.dockerignore Add Dockerfile. 2019-11-17 19:07:07 +01:00
.env Added an demo mode option, where the user password change dialog is disabled. 2019-10-20 00:01:06 +02:00
.env.test Added tests for RedirectController 2019-10-20 14:35:19 +02:00
.gitignore Allow to restrict the file extensions for a attachment type. 2019-10-31 22:37:54 +01:00
.php_cs.cache Added an PHP CS fixer config file and applied it to files. 2019-11-09 00:47:20 +01:00
.php_cs.dist Added an PHP CS fixer config file and applied it to files. 2019-11-09 00:47:20 +01:00
.scrutinizer.yml Really fixed .scrutinizer.yml 2019-11-09 14:35:54 +01:00
.travis.yml Revert "Try to fix some travis issue" 2019-11-23 18:31:28 +01:00
.yarnclean Updated yarn dependencies... 2019-03-19 15:24:44 +01:00
CODE_OF_CONDUCT.md Added code of conduct. 2019-03-27 16:36:16 +01:00
composer.json Use format_datetime filters from twig core instead of deprecated twig/extensions 2019-11-23 14:48:21 +01:00
composer.lock Use format_datetime filters from twig core instead of deprecated twig/extensions 2019-11-23 14:48:21 +01:00
Dockerfile Add Dockerfile. 2019-11-17 19:07:07 +01:00
LICENSE.md Added License file 2019-02-23 22:43:14 +01:00
package.json Implemented different themes for Part-DB. 2019-10-13 17:48:18 +02:00
phpunit.xml.dist Added tests for RedirectController 2019-10-20 14:35:19 +02:00
Procfile Added procfile for heroku deployment. 2019-03-25 16:47:26 +01:00
psalm.xml Added psalm to dev dependencies. 2019-09-23 13:29:51 +02:00
README.md Added coverage badge to Github README page. 2019-10-20 20:05:11 +02:00
symfony.lock Use format_datetime filters from twig core instead of deprecated twig/extensions 2019-11-23 14:48:21 +01:00
VERSION Show the version number of Part-DB on homepage. 2019-03-12 13:34:33 +01:00
webpack.config.js Updated copyright headers. 2019-11-01 13:40:30 +01:00
yarn.lock Upgraded yarn dependencies. 2019-11-01 14:02:58 +01:00

Scrutinizer Code Quality Build Status codecov GitHub License PHP Version

Part-DB

Part-DB is an Open-Source inventory managment 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. In the moment it lacks many features from the old Part-DB and the testing and documentation is not finished, so this version is not recommendend for productive work!!

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: user.

Every change to the master branch gets automatically deployed, so it represents the currenct development progress and is maybe not completly 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

  • TODO

Requirements

  • A web server (like Apache2 or nginx) that is capable of running Symfony 4, this includes a minimum PHP version of PHP 7.1.3
  • A MySQL/MariaDB database server
  • Shell access to your server is highly suggested!
  • For building the client side assets yarn and nodejs is needed.

Installation

Caution: It is possible to upgrade the old Part-DB databases. Anyhow, the migrations that will be made, are not compatible with the old Part-DB versions, so you must not use the old Part-DB versions with the new database, or the DB could become corrupted. Also after the migration it is not possible to go back to the old database scheme, so make sure to make a backup of your database beforehand.

  1. Copy or clone this repository into a folder on your server.
  2. Configure your webserver to serve from the public/ folder. See here for additional informations.
  3. Copy the global config file cp .env .env.local and edit .env.local:
    • Change the line APP_ENV=dev to APP_ENV=prod
    • Change the value of DATABASE_URL= to your needs (see here) for the format.
  4. Install composer dependencies and generate autoload files: composer install --no-dev
  5. Install client side dependencies and build it: yarn install and yarn build
  6. Optional (speeds up first load): Warmup cache: php bin/console cache:warmup
  7. Upgrade database to new scheme (or create it, when it was empty): php bin/console doctrine:migrations:migrate and follow the instructions given. Caution: This steps tamper with your database and could potentially destroy it. So make sure to make a backup of your database.
  8. (If you update from an older Part-DB Version (< 1.0) run php bin/console app:convert-bbcode to convert the BBCode used in comments and part description to the newly used markdown.)

When you want to upgrade to a newer version, then just copy the new files into the folder and repeat the steps 4. to 7.

Built with

Authors

  • Jan Böhmer - Inital work - Github

See also the list of contributors who participated in this project.

Based on the original Part-DB by Christoph Lechner and K. Jacobs

License

Part-DB is licensed under the General Public License 2 (or at your opinion any later). This mostly means that you can use Part-DB for whatever you want (even use it commercially) as long as you publish the source code for every change you make under the GPL, too.

See License.md for more informations.