Skip to content

Commit

Permalink
Main page documentation update
Browse files Browse the repository at this point in the history
Replace incorrect usage of `it`.
  • Loading branch information
nkescec committed Jul 19, 2022
1 parent 39eecff commit 0e63b48
Showing 1 changed file with 36 additions and 26 deletions.
62 changes: 36 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@

# nrich

Nrich is a Java library developed at CROZ whose purpose is to make development of applications on the JVM a little easier.
It contains modules that were found useful on projects and as such were combined
to a common library.
It is based on Spring Framework, and it also provides Spring Boot starters for most of the modules to make the configuration easier.
Nrich is a Java library developed at CROZ whose purpose is to make development of applications on the JVM a little
easier.
It was created by combining modules that were found useful on multiple projects into a common library.
The library is based on the Spring Framework, and as such provides Spring Boot starters for most of the modules
to make the configuration easier.

Most modules are composed of multiple submodules:

- api - has the `api` suffix and contains classes that represent API of the module (service interfaces, parameters, return types...)
- implementation - contains actual api implementation
- spring boot starter - has the `spring-boot-starter` suffix and contains Spring Boot autoconfiguration of the specified module

In Spring Boot environment only spring boot starter modules should be added as dependencies.
In the Spring Boot environment only spring boot starter modules should be added as dependencies.

## Compatibility

Expand All @@ -36,35 +37,41 @@ Nrich is composed of following modules:

### [nrich-bom](nrich-bom/README.md)

Provides managed dependencies for all nrich modules as well as for libraries used inside those modules that are not covered by Spring Boot dependencies.
Provides managed dependencies for all nrich modules as well as for libraries used inside those modules that are not
covered by Spring Boot dependencies.

### [nrich-core-api](nrich-core-api/README.md)

It contains common classes that are used throughout the library.
This module contains common classes that are used throughout the library.

### [nrich-encrypt](nrich-encrypt/README.md)

Provides easier encryption and decryption of data.
It can encrypt method results and decrypt method arguments.
Methods whose results should be encrypted and/or arguments decrypted can be marked using annotations or as properties specified in the property file (such as `application.yml` file).
The module achieves easier encryption and decryption by being able to encrypt method results and
decrypt method arguments.
Methods whose results should be encrypted and/or arguments decrypted can be marked using annotations or as
properties specified in the property file (such as `application.yml` file).

### [nrich-excel](nrich-excel/README.md)

Provides easier generation of excel reports from provided data and templates. Default implementation uses `Apache POI` library but tries to simplify usage.
Provides easier generation of excel reports from provided data and templates.
Default implementation uses `Apache POI`library but tries to simplify usage.

### [nrich-form-configuration](nrich-form-configuration/README.md)

Provides mapping of server-side class constraints to client-side form constraints.
Its purpose is to provide a central place for constraint definitions.
The Client registers a form to the class that defines constraints, which enables him to request information for the registered form.
The purpose of `nrich-form-configuration` is to provide a central place for constraint definitions.
The Client registers a form to the class that defines constraints, which enables him to request information for
the registered form.
Supplied information contains constraints with their error messages, which are specified in the class.
The client is then responsible for processing and applying them to the form.

### [nrich-jackson](nrich-jackson/README.md)

Sets commonly used defaults for standard Jackson properties (as an example `FAIL_ON_EMPTY_BEANS: false`) to avoid repetition in projects.
It also provides Jackson modules that serialize empty strings to
null and serialize class names to fully-qualified class names for classes that are annotated with `@Entity` annotation or are from a package defined in a given list.
Sets commonly used defaults for standard Jackson properties (as an example `FAIL_ON_EMPTY_BEANS: false`) to avoid
repetition in projects.
The module also provides Jackson modules that serialize empty strings to null and serialize class names to
fully-qualified class names for classes that are annotated with `@Entity` annotation or are from a package defined
in a given list.

### [nrich-logging](nrich-logging/README.md)

Expand All @@ -75,27 +82,29 @@ This module is used in [webmvc](nrich-webmvc/README.md) module for exception log
### [nrich-notification](nrich-notification/README.md)

Intended for addition of specified notifications into the server-side response, which can later be shown on the client-side.
It supports three different notification severity levels and can also include a list of validation errors.
`nrich-notification` supports three different notification severity levels and can also include a list of validation
errors.
Definition and resolution of messages is realized with Spring's `MessageSource` feature.

### [nrich-registry](nrich-registry/README.md)

Simplifies the administration of specified JPA entities and provides a formatted representation of them that client-side can interpret and create dynamic forms and grids.
Generated forms and grids can be used for entity editing without additional implementation on server-side.
The Module also provides methods for searching, creating, updating and deleting entities through a REST API.
The module also provides methods for searching, creating, updating and deleting entities through a REST API.

### [nrich-search](nrich-search/README.md)

Simplifies the querying of entities.
It is based on top of the Spring Data JPA library and it was created as a means of
`nrich-search` is based on top of the Spring Data JPA library and was created as a means of
simplifying the creation of queries for various search forms on the client-side.
Queries can be automatically formed from different types of inputs, such as the property holding class, a string or from a list of search fields, and additional query properties can be defined using
the special configuration class.
Queries can be automatically formed from different types of inputs, such as the property holding class,
a string or from a list of search fields, and additional query properties can be defined using the special
configuration class.

### [nrich-security-csrf](nrich-security-csrf/README.md)

Intended as a replacement for Spring Security csrf functionality.
It works with Spring Web MVC and WebFlux libraries.
`nrich-security-csrf` works with Spring Web MVC and WebFlux libraries.
Clients should define the initial token url and after that send the generated token with each request in a header or as a parameter.

### [nrich-spring-boot](nrich-spring-boot/README.md)
Expand All @@ -113,7 +122,8 @@ Contains additional `jakarta-validation-api` constraints and validators that pro
### [nrich-webmvc](nrich-webmvc/README.md)

Provides additional functionality built on top of the Spring Web MVC framework.
Main purpose is to handle exceptions through `NotificationErrorHandlingRestControllerAdvice` that handles exceptions by
logging them, and then creating and sending notifications to the client-side with exception's description.
The Module uses the [nrich-notification](nrich-notification/README.md) module for notification handling and [nrich-logging](nrich-logging/README.md) for log handling.
It also adds additional classes that handle binding (in other words transforming empty string to null), locale resolving and the like.
Main purpose is to handle exceptions through `NotificationErrorHandlingRestControllerAdvice` that handles exceptions
by logging them, and then creating and sending notifications to the client-side with exception's description.
The module uses the [nrich-notification](nrich-notification/README.md) module for notification handling and [nrich-logging](nrich-logging/README.md) for log handling.
`nrich-webmvc` also adds additional classes that handle binding (in other words transforming empty string to null) and
locale resolving.

0 comments on commit 0e63b48

Please sign in to comment.