Skip to content

Latest commit

 

History

History
59 lines (36 loc) · 3.07 KB

CONTRIBUTING.md

File metadata and controls

59 lines (36 loc) · 3.07 KB

Contributing to the Endpoint-Auth-Service

Thanks for checking out the Endpoint-Auth-Service. In order to contribute, please check the general FIWARE development guidelines.

Coding guidelines

The Endpoint-Auth-Service consists of multiple components, using different technologies and languages. Please check the individual guidelines for them. If a new one is added in the contribution, please add a rationale for that(f.e. in the form of an ADR). For component specific information, check their folders.

Java

Your contributions should try to follow the google java coding guidelines. The structure of your code should fit the principles of Domain Driven Design and use the DI-mechanisms of Mirconaut. Be aware of the framework and make use of its functionalities wherever it makes sense. Additional tooling for code-generation is included in the project(lombok, openAPI-codegen, mapstruct) in order to reduce boiler-plate code.

Golang

Your contributions should try to follow the idioms and recommendations from effective_go. Gin is used as a web-framework. Be aware of the framework and make use of its functionalities wherever it makes sense.

Cucumber

For the overall integration-testing, cucumber is used together with junit5.

Testing

Pull Request

Since this project uses automatic versioning, please apply one of the following labels to your pull request:

  • patch - the PR contains a fix
  • minor - the PR contains a new feature/improvement
  • major - the PR contains a breaking change

The PRs enforce squash merge. Please provide a proper description on your squash, it will be used for release notes.

Vulnerabilities

Please report vulnerabilities as bugs or email the authors.

Bugs & Enhancements

If you find bug or searching for a new feature, please check the issues and pull requests first.

Bug

If your bug is not already mentioned, please create either a PR or a new issue. The issue should contain a brief description on the observed behaviour, your expectation and a description on how to reproduce it (bonus points if you provide a testcase for reproduction;).

Enhancement

Create an issue including a proper description for the new feature. You can also start with a PR right away, but it would be easier to align on the details before and save unnessary work if discussed before. If new functionality is added, the integration-testsuite needs to be extended.