diff --git a/README.md b/README.md index 04d8a687..023dd012 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ If you want to test Part-DB without installing it, you can use [this](https://de You can log in with username: *user* and password: *user*. Every change to the master branch gets automatically deployed, so it represents the current development progress and is -maybe not completely stable. Please mind, that the free Heroku instance is used, so it can take some time when loading +may not 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. @@ -39,35 +39,35 @@ for the first time. ## Features -* Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer +* 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) +* 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 setup. + Password reset via email can be set up. * Optional support for single sign-on (SSO) via SAML (using an intermediate service like [Keycloak](https://www.keycloak.org/) you can connect Part-DB to an existing LDAP or Active Directory server) -* Import/Export system for parts and datastructure. BOM import for projects from KiCAD is supported. +* 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 happens to your inventory, track which user does what. Revert your parts to older +* 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 and SQLite supported as database backends +* Responsive design: You can use Part-DB on your PC, your tablet, and your smartphone using the same interface. +* MySQL and SQLite 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 or TME) to automatically get part information, datasheets and +* Use cloud providers (like Octopart, Digikey, Farnell, LCSC or TME) to automatically get part information, datasheets, and prices for parts * API to access Part-DB from other applications/scripts -* [Integration with KiCad](https://docs.part-db.de/usage/eda_integration.html): Use Part-DB as central datasource for your - KiCad and see available parts from Part-DB directly inside KiCad. +* [Integration with KiCad](https://docs.part-db.de/usage/eda_integration.html): Use Part-DB as the central datasource for your + KiCad and see available parts from Part-DB directly inside KiCad. -With these features Part-DB is useful to hobbyists, who want to keep track of their private electronic parts inventory, -or makerspaces, where many users have should have (controlled) access to the shared 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. @@ -78,7 +78,7 @@ Part-DB is also used by small companies and universities for managing their inve this includes a minimum PHP version of **PHP 8.1** * A **MySQL** (at least 5.7) /**MariaDB** (at least 10.2.2) database server if you do not want to use SQLite. * Shell access to your server is highly suggested! -* For building the client side assets **yarn** and **nodejs** (>= 18.0) is needed. +* For building the client-side assets **yarn** and **nodejs** (>= 18.0) is needed. ## Installation @@ -88,8 +88,8 @@ read [this](https://docs.part-db.de/upgrade_legacy.html) first. *Hint:* A docker image is available under [jbtronics/part-db1](https://hub.docker.com/r/jbtronics/part-db1). How to set up Part-DB via docker is described [here](https://docs.part-db.de/installation/installation_docker.html). -**Below you find some very rough outline of the installation process, see [here](https://docs.part-db.de/installation/) -for a detailed guide how to install Part-DB.** +**Below you find a very rough outline of the installation process, see [here](https://docs.part-db.de/installation/) +for a detailed guide on how to install Part-DB.** 1. Copy or clone this repository into a folder on your server. 2. Configure your webserver to serve from the `public/` folder. @@ -107,13 +107,13 @@ for a detailed guide how to install Part-DB.** 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. During the process the password for the admin is user is shown. Copy it. **Caution**: - This steps tamper with your database and could potentially destroy it. So make sure to make a backup of your + These steps tamper with your database and could potentially destroy it. So make sure to make a backup of your database. -8. You can configure Part-DB via `config/parameters.yaml`. You should check if settings match your expectations, after +8. You can configure Part-DB via `config/parameters.yaml`. You should check if settings match your expectations after you installed/upgraded Part-DB. Check if `partdb.default_currency` matches your mainly used currency (this can not be changed after creating price information). - Run `php bin/console cache:clear` when you changed something. -9. Access Part-DB in your browser (under the URL you put it) and login with user *admin*. Password is the one outputted + Run `php bin/console cache:clear` when you change something. +9. Access Part-DB in your browser (under the URL you put it) and log in with user *admin*. Password is the one outputted during DB setup. If you can not remember the password, set a new one with `php bin/console app:set-password admin`. You can create new users with the admin user and start using Part-DB. @@ -122,23 +122,23 @@ When you want to upgrade to a newer version, then just copy the new files into t and repeat the steps 4. to 7. Normally a random password is generated when the admin user is created during initial database creation, -however you can set the initial admin password, by setting the `INITIAL_ADMIN_PW` env var. +however, you can set the initial admin password, by setting the `INITIAL_ADMIN_PW` env var. You can configure Part-DB to your needs by changing environment variables in the `.env.local` file. See [here](https://docs.part-db.de/configuration.html) for more information. ### Reverse proxy -If you are using a reverse proxy, you have to ensure that the proxies sets the `X-Forwarded-*` headers correctly, or you +If you are using a reverse proxy, you have to ensure that the proxies set the `X-Forwarded-*` headers correctly, or you will get HTTP/HTTPS mixup and wrong hostnames. If the reverse proxy is on a different server (or it cannot access Part-DB via localhost) you have to set -the `TRUSTED_PROXIES` env variable to match your reverse proxies IP-address (or IP block). You can do this in +the `TRUSTED_PROXIES` env variable to match your reverse proxy's IP address (or IP block). You can do this in your `.env.local` or (when using docker) in your `docker-compose.yml` file. ## Donate for development If you want to donate to the Part-DB developer, see the sponsor button in the top bar (next to the repo name). -There you will find various methods to support development on a monthly or a one time base. +There you will find various methods to support development on a monthly or a one-time base. ## Built with