Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tkit introduction guide #532

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

GuentherJulian
Copy link
Contributor

PR for #486

documentation/quarkus/guide-tkit.asciidoc Outdated Show resolved Hide resolved
documentation/quarkus/guide-tkit.asciidoc Outdated Show resolved Hide resolved
@maybeec maybeec requested a review from matus-m January 17, 2022 19:51
= tkit extensions

1000kit (tkit) is a set of extensions and plugins for Quarkus.
It was developed internally by Capgemini, so the source code of the extensions is not publicly available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all our quarkus libs and extensions have publicly available source code(there was issue with gitlab project visibility, fixed now, the group was public already) and are pushed to Maven OSS https://gitlab.com/1000kit/libs/quarkus


=== tkit-quarkus-log-json

`tkit-quarkus-log-json` provides automatic JSON formatting of log messages.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The json log extension provides some additional features that standard quarkus-json logger does not have - e.g. stacktrace spliting, field relabeling, env var output, nested json objects etc but for most projects it is recommended that they use the official json logger instead, unless they need those extra features (like we do in our projects). More info in the README of the lib project

The `tkit-quarkus-jpa` extension provides base classes for JPA entities (`org.tkit.quarkus.jpa.models.TraceableEntity`) and link:../guide-dao.asciidoc[DAOs] (`org.tkit.quarkus.jpa.daos.AbstractDAO<T>`).

The `TraceableEntity` implements a string based `ID` and traceable fields such as `version`, `creationDate`, `creationUser` or `modificationDate`. +
CRUD operation following the DAO pattern are provided by `AbstractDAO<T>`. Your DAO class can simply extend the base class and only needs to implement the business logic.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and support for paged queries

@QuarkusTestResource(DockerComposeTestResource.class)
public abstract class AbstractTest {

@DockerService("tkit-parameter")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is only required in native mode testing -when we test our application as a docker image i.e. full integration test. For ,,regular" jvm tests, it is sufficient to annotate a test class with @QuarkusTestResource(DockerComposeTestResource.class)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Campus_21_4_quarkus documentation Guides, tutorials, readmes, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants