Skip to content

Latest commit

 

History

History
55 lines (44 loc) · 3.58 KB

CONTRIBUTING.md

File metadata and controls

55 lines (44 loc) · 3.58 KB

How to contribute

Thank you for consider to contribute to Part-DB! Please read the text below, so your contributed content can be contributed easily to Part-DB.

You can contribute to Part-DB in various ways:

Translations

The recommended way to create/improve translations is to use the online platform Crowdin. Register an account there and join the Part-DB team.

If you want to start translation for a new language that does not have an entry on Crowdin yet, send a message to @jbtronics.

Part-DB uses translation keys (e.g. part.info.title) that are sorted by their usage, so you will most likely have to lookup, how the key was translated in other languages (this is possible via the "Other languages" dropdown in the translation editor).

Project structure

Part-DB uses symfony's recommended project structure. Interesting folders are:

  • public: Everything in this directory will be publicy accessible via web. Use this folder to serve static images.
  • assets: The frontend assets are saved here. You can find the javascript and CSS code here.
  • src: Part-DB's PHP code is saved here. Note that the sub directories are structured by the classes purposes (so use Controller Controllers, Entities for Database models, etc.)
  • translations: The translations used in Part-DB are saved here
  • templates: The templates (HTML) that are used by Twig to render the different pages. Email templates are also saved here.
  • tests/: Tests that can be run by PHPunit.

Development environment

For setting up an development you will need to install PHP, composer, a database server (MySQL or MariaDB) and yarn (which needs an nodejs environment).

  • Copy .env to .env.local and change APP_ENV to APP_ENV=dev. That way you will get development tools (symfony profiler) and other features that will simplify development.
  • Run composer install (without -o) to install PHP dependencies and yarn install to install frontend dependencies
  • Run yarn watch. The program will run in the background and compile the frontend files whenever you change something in the CSS or TypeScript files
  • For running Part-DB it is recommended to use Symfony CLI. That way you can run a correct configured webserver with symfony serve

Coding style

Code should follow the PSR12-Standard and symfony's coding standards.

Part-DB uses Easy Coding Standard to check and fix coding style violations:

  • To check your code for valid code style run vendor/bin/ecs check src/
  • To fix violations run vendor/bin/ecs check src/ (please checks afterwards if the code is valid afterwards)

GitHub actions

Part-DB uses GitHub actions to run various tests and checks on the code:

  • Yarn dependencies can compile
  • PHPunit tests run successful
  • Config files, translations and templates has valid syntax
  • Doctrine schema valid
  • No known vulnerable dependecies are used
  • Static analysis successful (phpstan with --level=2)

Further the code coverage of the PHPunit tests is determined and uploaded to CodeCov.