Contribute to tubee

Did you find a bug or would you like to contribute a feature? You are certainly welcome to do so. Please always fill an issue first to discuss the matter. Do not start development without an open issue otherwise we do not know what you are working on.

Bug

If you just want to fill a bug report, please open your issue. We are encouraged to fix your bug to provide best software in the opensource community.

Security flaw

Do not open an issue for a possible security vulnerability, to protect yourself and others please contact opensource@gyselroth.net to report your concern.

Get the base

git clone https://github.com/gyselroth/tubee.git

Development

The recomended way to get started in development is to use the available docker images. You need docker and docker-compose installed on your local machine.

For starters you can use the full stack development composing configuration docker-compose-dev.yml. Start the development stack docker-compose -f docker-compose-dev.yml up and you are ready to go. The dev container will automatically install dependencies at startup and initialize the server. At the first time this may take a while.

Note: You need the entire git base on your host to run the dev server since the base gets mounted in the dev container.

Your tubee server is now available at https://localhost:8090.

Note: The dev server gets started with a self-signed ssl certificate.

Make

Always execute make via docker exec if your are developing with the tubee docker image.

Update depenencies:

docker exec INSTANCE make -C /srv/www/tubee deps

(You do not need to install dependencies manually, the dev container automatically installs all depencies during start)

See Building bellow for other make targets.

Building

Besides npm scripts like build and start you can use make to build this software. The following make targets are supported:

  • build Build software, but do not package
  • clean Clear build and dependencies
  • deb Create debian packages
  • deps Install dependencies
  • dist Distribute (Create tar and deb packages)
  • tar Create tar package
  • test Execute testsuite
  • phpcs Execute phpcs check
  • phpstan Execute phpstan

Docs

Documentation is written in /docs and generated with mkdocs.

Git commit

Please make sure that you always specify the number of your issue starting with a hastag (#) within any git commits.

Pull Request

You are absolutely welcome to submit a pull request which references an open issue. Please make sure you're follwing coding standards and be sure all your modifications pass the build. Build Status

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

This software is freely available under the terms of GPL-3.0, please respect this license and do not contribute software parts which are not compatible with GPL-3.0.

Editor config

This repository gets shipped with an .editorconfig configuration. For more information on how to configure your editor please visit editorconfig.

Git pre commit hook

Add the following lines to your git pre-commit hook file, otherwise your build will fail if you do not following code style:

./vendor/bin/php-cs-fixer fix --config=.php_cs.dist -v

This automatically converts your code into the code style guidelines of this project otherwise your build will fail!