Nrich is a Java library developed at CROZ whose purpose is to make development of applications on JVM a little easier.

Overview

License Build

nrich

Nrich is a Java library developed at CROZ whose purpose is to make development of applications on JVM a little easier. It contains modules that were found useful on projects and as such were extracted to a common library. It is based on Spring Framework it also provides Spring Boot starters for most of the modules to make 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 auto configuration of the specified module

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

nrich is composed of following modules:

nrich-core-api

Contains common classes that are used throughout library

nrich-encrypt

Provides easier encryption of data, it can encrypt method results and decrypt method arguments. Method for encryption/decryption can be marked using annotations or as properties (i.e. in application.yml files).

nrich-excel

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

Allows for resolving of server side constraints (jakarta-validation-api) on client side. Its purpose is to have a central place for constraint definitions. On the server side client provides a mapping between client form and class containing constraints. After that when client asks request for form, all constraints with error messages defined for a class are returned to the client that is then responsible for processing and applying them to the form.

nrich-jackson

Sets commonly used defaults for standard Jackson properties (i.e FAIL_ON_EMPTY_BEANS: false) to avoid repeating it in every project. It also provides Jackson modules that serialize empty strings to null and that serialize class name for @Entity annotated classes or classes from defined package list.

nrich-logging

Provides a logging service logging errors in a standard format and can also resolve verbosity and logging levels for each exception. It is used in webmvc module for logging exceptions but can easily be replaced with custom implementation.

nrich-notification

Allows for resolving of client notifications from server side. Notifications can be resolved for controller actions (i.e. Entity has successfully been saved), for exceptions (i.e. Error occurred) and for validation errors (i.e. Validation errors found in request). Validation notification also return a list of validation errors with properties that failed validation. Notification messages are resolved by message keys or exception class names from Springs MessageSource. Users can also return responses with notification. webmvc module uses this module to send notification responses to client on exceptions with registered @RestControllerAdvice.

nrich-registry

Purpose of this module is transforming JPA entities in a format that client can interpret and create dynamic forms and grids for editing of entities without additional implementation on server side. On the server side providing methods for searching, creating, updating and deleting entities through REST API. Configuration consists only from defining included entities and (optionally) providing property label/header messages in messsage.properties.

nrich-search

Allows for easier querying of entities. For its input it uses a class holding values that will be used in a query and a parameter (SearchConfiguration) that defines how those values will be added to query (i.e. what operators should be used, mapping of those properties on entities etc.) it also defines what result type will be returned, what associations should also be fetched etc. It also allows for using string as an input (instead of class holding the value), and a list of fields that should be searched from the entity (for quick search functionality). It was created as a means of simplifying creation of queries for various search forms on client side. Spring Data JPA library is used in implementation and module functionality is added through two repositories interfaces that users can add to their repository interface.

nrich-security-csrf

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

nrich-spring-boot

Adds additional functionality to Spring Boot. i.e. ConditionalOnPropertyNotEmpty annotation that checks if a property is not empty.

nrich-spring-util

Contains utility classes for Spring access. i.e. ApplicationContextHolder for resolving of ApplicationContext from static context.

nrich-validation

Contains additional jakarta-validation-api constraints and validators (i.e ValidFile, MaxSizeInBytess etc).

nrich-webmvc

Provides additional functionality built on top of Spring Web MVC framework. Main purpose is handling exceptions through NotificationErrorHandlingRestControllerAdvice that handles exceptions by logging them and sending notifications to client with exception descriptions. It also adds additional classes that handle binding (i.e. transforming empty string to null), locale resolving etc.

Comments
  • Feature form configuration annotation support

    Feature form configuration annotation support

    Basic information

    • nrich version: 1.4.1
    • Module: nrich-form-configuration-api, nrich-form-configuration, nrich-form-configuration-spring-boot-starter

    Additional information

    Description

    Summary

    Added support for form configuration registration through annotation (@FormConfigurationHolder)

    Details

    Added support for form configuration registration through annotation (@FormConfigurationHolder)

    Related issue

    https://github.com/croz-ltd/nrich/issues/124

    Types of changes

    • Enhancement (non-breaking change which enhances existing functionality)

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [x] My change requires a change to the documentation
    • [x] I have updated the documentation accordingly
    • [x] I have added tests to cover my changes
    • [x] All new and existing tests pass.
    opened by agrancaric 3
  • Feature add logging spring boot starter

    Feature add logging spring boot starter

    Basic information

    • nrich version: 1.3.0
    • Module: nrich-logging

    Additional information

    Description

    Summary

    Added Spring Boot starter module for nrich-logging, changed nrich-webmvc-spring-boot-starter dependencies to use that starter instead of manually creating LoggingService bean.

    Details

    Added Spring Boot starter module for nrich-logging, changed nrich-webmvc-spring-boot-starter dependencies to use that starter instead of manually creating LoggingService bean.

    Related issue

    https://github.com/croz-ltd/nrich/issues/32

    Types of changes

    • New feature (non-breaking change which adds functionality)

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [x] My change requires a change to the documentation
    • [x] I have updated the documentation accordingly
    • [x] I have added tests to cover my changes
    • [x] All new and existing tests pass.
    opened by agrancaric 3
  • Add logger implementation in test scope to avoid slf4j warnings and t…

    Add logger implementation in test scope to avoid slf4j warnings and t…

    …o see the logs when running tests

    Basic information

    • nrich version: 1.1.1
    • Module: Project

    Additional information

    Description

    Currently in test only a Slf4j warning is logged, no logs are present.

    Summary

    Added logback as logger implementation in test scope.

    Details

    Added logback as logger implementation in test scope.

    Related issue

    https://github.com/croz-ltd/nrich/issues/20

    Types of changes

    • Enhancement (non-breaking change which enhances existing functionality)

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • ~~My change requires a change to the documentation~~
    • ~~I have updated the documentation accordingly~~
    • ~~I have added tests to cover my changes~~
    • [x] All new and existing tests pass.
    opened by agrancaric 3
  • Sorting in SearchExecutor withouth Pageable

    Sorting in SearchExecutor withouth Pageable

    Basic information

    • nrich version: v1.6.0
    • Module: net.croz.nrich.search.api.repository.SearchExecutor
    • Link to the complete executable reproducer if available (e.g. GitHub Repo):

    Bug description

    In method <R, P> List

    findAll(R request, SearchConfiguration<T, P, R> searchConfiguration) if request has sorting implemented it does not work. If we do that in method <R, P> Page

    findAll(R request, SearchConfiguration<T, P, R> searchConfiguration, Pageable pageable); everything work as intended (sort is applied).

    Steps to reproduce

    ... Request request1 = new Request(); request1.setSortPropertyList(List.of(new SortProperty("dateOfCreation", SortDirection.DESC)));

    SearchConfiguration<Activity, Activity, Request> builder = SearchConfiguration.<Activity, Activity, Request>builder()
        .resolvePropertyMappingUsingPrefix(true)
        .build();
    
    List<Activity> a1 = activityRepository.findAll(request1, builder);
    
    request1.setPageSize(2);
    request1.setPageNumber(0);
    Page<Activity> a2 = activityRepository.findAll(request1, builder, PageableUtil.convertToPageable(request1));
    

    Expected behavior

    a1 = newerTask, olderTask a2 = newerTask, olderTask

    Actual behavior

    a1 = olderTask , newerTask (no sort applied) a2 = newerTask, olderTask

    bug 
    opened by lkrapinec 2
  • Ommit message if not specified in notification response

    Ommit message if not specified in notification response

    Basic information

    • nrich version: 1.6.0

    • Module: nrich-notification

    Additional information

    Java version: 11.0.6

    Enhancement description

    Messages that are missing for notification should not be substituted with default messages if some messages for that notification are already specified.

    Current behaviour

    When message for a notification with action code entity.create is specified as so:

    entity.create.title=This entity has been created!
    

    default value for content is also included, even when not specified. In this case content part of notification is not needed so default message is also not needed.

    Wanted behaviour

    Wanted behaviour is that if there are messages (title or content) defined in the messages for that notification then only those specified messages are included into the notification. Otherwise default messages are used. This mode of work could be enabled with a new notification property.

    Possible workarounds

    The workaround around this issue is to include this message into the file:

    entity.create.content=
    

    This clutters the message.properties file with needless additional properties that are empty.

    enhancement 
    opened by nkescec 2
  • Validation message resolution not working for specified attribute names

    Validation message resolution not working for specified attribute names

    Basic information

    • nrich version: 1.4.1
    • Module: notification

    Additional information

    JDK version: 11.0.6

    Bug description

    When wanting to resolve validation messages for attributes whose values is invalid with property specified as {attribute-name}.{validator}.invalid message is not resolved.

    Steps to reproduce

    For class specified as bellow:

    package example;
    
    @Getter
    @Setter
    public class ExampleEntity {
    
        @NotNull
        private String value;
    
    }
    

    with a property:

    value.NotNull.invalid=Invalid message
    

    when validating with @Validated as a method parameter the resolved message is the default one.

    The described usage as a method parameter is as such:

        @PostMapping
        @ResponseStatus(HttpStatus.CREATED)
        public NotificationDataResponse<Long> createEntity(@RequestBody @Validated ExampleEntity entity) {
            // entity creation...
        }
    

    Expected behavior

    The resolved message should be Invalid message.

    Actual behavior

    The error message that is resolved is javax.validation.constraints.NotNull.message.

    bug 
    opened by nkescec 2
  • Search page documentation update

    Search page documentation update

    Basic information

    • nrich version: 1.4.1
    • Module: nrich-search

    Additional information

    Description

    Summary

    Changed documentation for nrich-search modules so that it contains more examples and is easier to follow.

    Details

    Documentation that was changed and the changes made:

    • nrich-search-api -> changed overview
    • nrich-search-repository-api -> changed overview
    • nrich-search-spring-boot-starter -> reformatted and reworded documentation
    • nrich-search -> added examples, explanations, restructured the README.md so that it is easier to follow when reading and searching

    Related issue

    Types of changes

    • Docs change

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • ~~I have checked my code with the project's static analysis tooling~~ (not required as I did not change any code)
    • ~~I have formatted my code with the project's IDEA code-style configuration~~ (not required as I did not change any code)
    • ~~I have checked my code for misspellings~~ (not required as I did not change any code)
    • [x] I have organized my changes in easy-to-follow commits
    • ~~My change requires a change to the documentation~~ (not required as I did not change any code)
    • [x] I have updated the documentation accordingly
    • ~~I have added tests to cover my changes~~ (not required as I did not change any code)
    • ~~All new and existing tests pass.~~ (not required as I did not change any code)
    documentation 
    opened by nkescec 2
  • Notification page documentation update

    Notification page documentation update

    Basic information

    • nrich version: 1.4.1
    • Module: nrich-notification

    Additional information

    Description

    Summary

    Changed documentation for nrich-notification submodules so that it contains more examples and is easier to follow.

    Details

    Documentation that was changed and the changes made:

    • nrich-notification-api changed overview
    • nrich-notification-spring-boot-starter reformatted and reworded documentation
    • nrich-notification added examples, restructured the README.md so that it is easier to follow when reading and searching

    Related issue

    Types of changes

    • Docs change

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • ~~I have checked my code with the project's static analysis tooling~~ (not required as I did not change any code)
    • ~~I have formatted my code with the project's IDEA code-style configuration~~ (not required as I did not change any code)
    • ~~I have checked my code for misspellings~~ (not required as I did not change any code)
    • [x] I have organized my changes in easy-to-follow commits
    • ~~My change requires a change to the documentation~~ (not required as I did not change any code)
    • [x] I have updated the documentation accordingly
    • ~~I have added tests to cover my changes~~ (not required as I did not change any code)
    • ~~All new and existing tests pass.~~ (not required as I did not change any code)
    documentation 
    opened by nkescec 2
  • Feature sync date and date time format separator

    Feature sync date and date time format separator

    Basic information

    • nrich version: 1.2.1
    • Module: nrich-search, nrich-registry

    Additional information

    Description

    Summary

    Sync date and date time format separators.

    Details

    Sync date and date time format separators.

    Related issue

    https://github.com/croz-ltd/nrich/issues/77

    Types of changes

    • Refactoring

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [x] My change requires a change to the documentation
    • [x] I have updated the documentation accordingly
    • ~~I have added tests to cover my changes~~
    • [x] All new and existing tests pass.
    opened by agrancaric 2
  • Feature support searching by any level of nested path

    Feature support searching by any level of nested path

    Basic information

    • nrich version: 1.2.1
    • Module: nrich-search

    Additional information

    Description

    It would be good to support searching by any level of nested path by prefix.

    Summary

    Added support for searching by any level of nested path by prefix.

    Details

    Added support for searching by any level of nested path by prefix.

    Related issue

    https://github.com/croz-ltd/nrich/issues/49

    Types of changes

    • Enhancement (non-breaking change which enhances existing functionality)

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • ~~My change requires a change to the documentation~~
    • ~~I have updated the documentation accordingly~~
    • [x] I have added tests to cover my changes
    • [x] All new and existing tests pass.
    opened by agrancaric 2
  • Feature use output stream instead of file in excel module

    Feature use output stream instead of file in excel module

    Basic information

    • nrich version:
    • Module: nrich-excel

    Additional information

    Description

    Changes nrich-excel API to use OutputStream instead of File.

    Summary

    Changed nrich-excel API to accept OutputStream, simplified tests to use ByteArrayOutputStream (thus avoiding the need for creating temporary files).

    Details

    Changed nrich-excel API to accept OutputStream, simplified tests to use ByteArrayOutputStream (thus avoiding the need for creating temporary files)

    Related issue

    https://github.com/croz-ltd/nrich/issues/44

    Types of changes

    • Breaking change (fix, enhancement or feature that would cause existing functionality to change in backward-incompatible way)

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [x] My change requires a change to the documentation
    • [x] I have updated the documentation accordingly
    • [x] I have added tests to cover my changes
    • [x] All new and existing tests pass.
    opened by agrancaric 2
  • Feature update licence header and readme

    Feature update licence header and readme

    Basic information

    • nrich version: 1.7.0
    • Module: project

    Additional information

    Description

    Summary

    Updated licence header to include year 2023 and added version 1.7.x to readme.

    Details

    Updated licence header to include year 2023 and added version 1.7.x to readme.

    Related issue

    Types of changes

    • Docs change

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [x] My change requires a change to the documentation
    • [x] I have updated the documentation accordingly
    • ~~I have added tests to cover my changes~~
    • [x] All new and existing tests pass.
    opened by agrancaric 1
  • Feature spring boot3

    Feature spring boot3

    Basic information

    • nrich version: 1.6.0
    • Module: project

    Additional information

    Description

    Summary

    Upgrade to Spring Boot 3.

    Details

    Upgrade to Spring Boot 3.

    Related issue

    Types of changes

    • Dependency upgrade

    Checklist

    • [x] I have read the project's CONTRIBUTING document
    • [x] I have checked my code with the project's static analysis tooling
    • [x] I have formatted my code with the project's IDEA code-style configuration
    • [x] I have checked my code for misspellings
    • [x] I have organized my changes in easy-to-follow commits
    • [ ] My change requires a change to the documentation
    • [ ] I have updated the documentation accordingly
    • ~~I have added tests to cover my changes~~
    • [x] All new and existing tests pass.
    opened by agrancaric 1
  • Integrate JReleaser

    Integrate JReleaser

    Basic information

    • nrich version: v1.2.1
    • Module: project

    Additional information

    Enhancement description

    We want to enhance the release process of our libraries, in a way that a release can be automatically triggered with a GitHub Action. We could replace the existing "Publish" action with a new "Release" action which would both generate a GitHub release and publish the artifacts to Maven Central. Also, we would like to enhance/beautify the changelog generation for releases, and JReleaser seems like the perfect fit.

    Current behaviour

    • Default GitHub release changelog generator
    • No automatic release process via GitHub actions, releases have to be created manually

    Wanted behaviour

    • Enhanced GitHub release changelog generator via JReleaser
    • Automatic release process via GitHub actions using JReleaser, no need for manual release creation

    Possible workarounds

    enhancement 
    opened by jsajlovic 0
  • Optimising search query creation

    Optimising search query creation

    Basic information

    • nrich version: 1.2.1
    • Module: nrich-search

    Additional information

    Enhancement description

    It would be good to find a way to optimise query creation in nrich-search module. Currently each query will always check all properties being searched against entity. It would be better to analyse just once all the possible mappings between class holding restrictions and JPA entity and then cache and reuse those mappings depending on the property values.

    Current behaviour

    Wanted behaviour

    Possible workarounds

    enhancement 
    opened by agrancaric 0
Releases(v1.7.0)
  • v1.7.0(Jan 3, 2023)

    What's Changed

    • Remove default notification messages (this way users can actually dis… by @agrancaric in https://github.com/croz-ltd/nrich/pull/142
    • Add some leniency to PR coverege checks by @agrancaric in https://github.com/croz-ltd/nrich/pull/144
    • Feature registry fetch join on any depth by @agrancaric in https://github.com/croz-ltd/nrich/pull/145
    • Update README with version 1.6 by @agrancaric in https://github.com/croz-ltd/nrich/pull/147

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.6.0...v1.7.0

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Oct 4, 2022)

    What's Changed

    • Feature allow for javascript type customization by @agrancaric in https://github.com/croz-ltd/nrich/pull/140
    • Add HTTP method when resolving notifications from request since HTTP … by @agrancaric in https://github.com/croz-ltd/nrich/pull/126

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.5.0...v1.6.0

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Sep 27, 2022)

    What's Changed

    • Feature upgrade dependencies by @agrancaric in https://github.com/croz-ltd/nrich/pull/132
    • Update README.md to include new Spring Boot version by @agrancaric in https://github.com/croz-ltd/nrich/pull/138

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.4.4...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.4(Sep 26, 2022)

    What's Changed

    • Feature add additional message codes for form configuration by @agrancaric in https://github.com/croz-ltd/nrich/pull/136

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.4.3...v1.4.4

    Source code(tar.gz)
    Source code(zip)
  • v1.4.3(Sep 15, 2022)

    What's Changed

    • Feature support join by custom id name by @agrancaric in https://github.com/croz-ltd/nrich/pull/133

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.4.2...v1.4.3

    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Sep 7, 2022)

    What's Changed

    • Main page documentation update by @nkescec in https://github.com/croz-ltd/nrich/pull/119
    • Form configuration page documentation update by @nkescec in https://github.com/croz-ltd/nrich/pull/125
    • Feature ignore empty collections when searching by @agrancaric in https://github.com/croz-ltd/nrich/pull/129
    • Feature form configuration annotation support by @agrancaric in https://github.com/croz-ltd/nrich/pull/127
    • Notification page documentation update by @nkescec in https://github.com/croz-ltd/nrich/pull/120
    • Feature improvements for native image run by @agrancaric in https://github.com/croz-ltd/nrich/pull/130
    • Feature support searching by element collection by @agrancaric in https://github.com/croz-ltd/nrich/pull/131
    • Search page documentation update by @nkescec in https://github.com/croz-ltd/nrich/pull/121

    New Contributors

    • @nkescec made their first contribution in https://github.com/croz-ltd/nrich/pull/119

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.4.1...v1.4.2

    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(Jul 14, 2022)

    What's Changed

    • Update compatibility table to include version 1.4.x by @agrancaric in https://github.com/croz-ltd/nrich/pull/112
    • Add missing readme files by @agrancaric in https://github.com/croz-ltd/nrich/pull/36
    • Feature refactor form configuration by @agrancaric in https://github.com/croz-ltd/nrich/pull/116
    • Add Notification timestamp to allow frontend display and easier handling by @agrancaric in https://github.com/croz-ltd/nrich/pull/115
    • Refactor SearchExecutorJpaRepositoryFactoryBean initialization by @agrancaric in https://github.com/croz-ltd/nrich/pull/118
    • Feature support loading requests from request package by @agrancaric in https://github.com/croz-ltd/nrich/pull/113

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.4.0...v1.4.1

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(May 6, 2022)

    What's Changed

    • Update Apache POI library to latest stable version by @jsajlovic in https://github.com/croz-ltd/nrich/pull/97
    • Feature deploy javadoc to GitHub pages by @agrancaric in https://github.com/croz-ltd/nrich/pull/99
    • Fix Javadoc badge URL by @jsajlovic in https://github.com/croz-ltd/nrich/pull/101
    • Feature optimise exist queries by @agrancaric in https://github.com/croz-ltd/nrich/pull/98
    • Document minimum Java and Spring versions used by Nrich library versions by @agrancaric in https://github.com/croz-ltd/nrich/pull/103
    • Feature add logging spring boot starter by @agrancaric in https://github.com/croz-ltd/nrich/pull/102
    • Add copyright to source files by @agrancaric in https://github.com/croz-ltd/nrich/pull/105
    • Feature add natural id search executor by @agrancaric in https://github.com/croz-ltd/nrich/pull/108
    • Remove not needed condition (Java 8) from workflow since we're only b… by @agrancaric in https://github.com/croz-ltd/nrich/pull/110
    • Feature add missing unit tests by @agrancaric in https://github.com/croz-ltd/nrich/pull/104
    • Feature implement yaml property source factory by @agrancaric in https://github.com/croz-ltd/nrich/pull/106
    • Feature encryption improvements by @agrancaric in https://github.com/croz-ltd/nrich/pull/109
    • Add description for nrich-logging-spring-boot-starter by @agrancaric in https://github.com/croz-ltd/nrich/pull/111

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.3.0...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Apr 20, 2022)

    What's Changed

    • Feature add missing test for form configuration controller by @agrancaric in https://github.com/croz-ltd/nrich/pull/41
    • Add missing conditional on bean by @agrancaric in https://github.com/croz-ltd/nrich/pull/37
    • Introduce architecture decision records by @agrancaric in https://github.com/croz-ltd/nrich/pull/27
    • Feature support customising path in controllers by @agrancaric in https://github.com/croz-ltd/nrich/pull/43
    • Feature add module descriptions by @agrancaric in https://github.com/croz-ltd/nrich/pull/48
    • Feature use output stream instead of file in excel module by @agrancaric in https://github.com/croz-ltd/nrich/pull/45
    • Feature rename message files by @agrancaric in https://github.com/croz-ltd/nrich/pull/51
    • Feature support searching by any level of nested path by @agrancaric in https://github.com/croz-ltd/nrich/pull/50
    • Feature rename spring util module by @agrancaric in https://github.com/croz-ltd/nrich/pull/60
    • Feature easier initialisation of flat data for excel report by @agrancaric in https://github.com/croz-ltd/nrich/pull/62
    • Feature add form configuration mapping to configuration properties by @agrancaric in https://github.com/croz-ltd/nrich/pull/61
    • Add explicit builder class to CreateExcelReportRequest to avoid error… by @agrancaric in https://github.com/croz-ltd/nrich/pull/67
    • Feature add registry configuration to configuration properties by @agrancaric in https://github.com/croz-ltd/nrich/pull/66
    • Fix issue with using the parameter name instead of filename by @agrancaric in https://github.com/croz-ltd/nrich/pull/71
    • Feature improve notification service generics by @agrancaric in https://github.com/croz-ltd/nrich/pull/70
    • Fix status and arguments resolving for unwrapped exceptions in Notifi… by @agrancaric in https://github.com/croz-ltd/nrich/pull/80
    • Feature refactor controller tests by @agrancaric in https://github.com/croz-ltd/nrich/pull/83
    • Rename gradle rootProject to "nrich" by @jsajlovic in https://github.com/croz-ltd/nrich/pull/87
    • Feature change resolving of form and column display values by @agrancaric in https://github.com/croz-ltd/nrich/pull/84
    • Fix parsing of dates by @agrancaric in https://github.com/croz-ltd/nrich/pull/82
    • Upgrade Spring Boot to 2.6.6 by @agrancaric in https://github.com/croz-ltd/nrich/pull/89
    • Feature serialize javascript type as lowercase by @agrancaric in https://github.com/croz-ltd/nrich/pull/88
    • Feature reduce number of info messages on startup by @agrancaric in https://github.com/croz-ltd/nrich/pull/85
    • Feature sync date and date time format separator by @agrancaric in https://github.com/croz-ltd/nrich/pull/90
    • Replace Kordamp Jacoco plugin for generating aggregated reports with… by @agrancaric in https://github.com/croz-ltd/nrich/pull/94
    • Remove principal since it is not used in DefaultDataEncryptService an… by @agrancaric in https://github.com/croz-ltd/nrich/pull/93
    • Use Spring's @Cacheable annotation instead of manaul caching in Defau… by @agrancaric in https://github.com/croz-ltd/nrich/pull/92
    • Feature support range queries in string search by @agrancaric in https://github.com/croz-ltd/nrich/pull/91
    • Remove not needed extend from springBom and explicit assignment to su… by @agrancaric in https://github.com/croz-ltd/nrich/pull/95
    • Bugfix fix dependencies by @agrancaric in https://github.com/croz-ltd/nrich/pull/65

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.2.1...v1.3.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Mar 10, 2022)

    What's Changed

    • Feature introduce bom by @agrancaric in https://github.com/croz-ltd/nrich/pull/29
    • Codecov report by @jsajlovic in https://github.com/croz-ltd/nrich/pull/31

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Mar 3, 2022)

    What's Changed

    • Feature upgrade dependencies by @agrancaric in https://github.com/croz-ltd/nrich/pull/23

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.1.2...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Mar 3, 2022)

    What's Changed

    • Refactor checkboxes and instructions in Pull Request template by @jsajlovic in https://github.com/croz-ltd/nrich/pull/10
    • Replace @PostConstructor annotations with InitializingBean interface … by @agrancaric in https://github.com/croz-ltd/nrich/pull/11
    • Polishing, remove easy to fix sonar warnings by @agrancaric in https://github.com/croz-ltd/nrich/pull/12
    • Feature add editor config and align coding style by @agrancaric in https://github.com/croz-ltd/nrich/pull/14
    • Fix issues templates that were wrongly formatted by @agrancaric in https://github.com/croz-ltd/nrich/pull/17
    • Resolve sonar warnings by @agrancaric in https://github.com/croz-ltd/nrich/pull/16
    • Feature improve test coverage and fix found issues by @agrancaric in https://github.com/croz-ltd/nrich/pull/19
    • Add logger implementation in test scope to avoid slf4j warnings and t… by @agrancaric in https://github.com/croz-ltd/nrich/pull/22
    • Feature code style improvement by @agrancaric in https://github.com/croz-ltd/nrich/pull/24

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.1.1...v1.1.2

    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Jan 31, 2022)

    What's Changed

    • Add missing open source community health files by @jzrilic in https://github.com/croz-ltd/nrich/pull/5
    • Add Maven Central badges by @jsajlovic in https://github.com/croz-ltd/nrich/pull/7
    • Automate maven central release process by @jsajlovic in https://github.com/croz-ltd/nrich/pull/6
    • Fix Nexus Staging Repository URL for Publish Plugin by @jsajlovic in https://github.com/croz-ltd/nrich/pull/8
    • Explicitly set Nexus Staging Profile ID by @jsajlovic in https://github.com/croz-ltd/nrich/pull/9

    New Contributors

    • @jzrilic made their first contribution in https://github.com/croz-ltd/nrich/pull/5

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.1.0...v1.1.1

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Dec 13, 2021)

    What's Changed

    • Open source setup by @jsajlovic in https://github.com/croz-ltd/nrich/pull/1
    • Publish to maven central by @jsajlovic in https://github.com/croz-ltd/nrich/pull/2

    New Contributors

    • @jsajlovic made their first contribution in https://github.com/croz-ltd/nrich/pull/1

    Full Changelog: https://github.com/croz-ltd/nrich/compare/v1.0.1...v1.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
CROZ
CROZ
JDA Commands is an extension for JDA to make commands easier and clearer to develop.

JDA Commands JDA Commands is an extension for JDA to make commands easier and clearer to develop. With the API you can easily create commands for the

Dominik 12 Oct 14, 2022
Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Áureo Carmelino 10 Nov 27, 2022
Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

null 6 Dec 6, 2022
This project was developed with the intention of improving my knowledge of Java in application development in Android Studio.

This project was developed with the intention of improving my knowledge of Java in application development in Android Studio.

Henrique Marinho Teixeira 2 Jan 26, 2022
CIRCUS - a Java and Spring Boot application for creating rooms with the purpose of watching YouTube videos together, similar to Watch2Gether

CIRCUS Video rooms application built using Apache Kafka, Java, Spring Boot, Spring Security and PostgreSQL About CIRCUS is a Java and Spring Boot appl

Castanho Correia 1 Jun 5, 2022
Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configuration file formats.

Ethylene Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configura

Steank 7 Aug 9, 2022
Implementation of Greedy Particle Swarm Optimization, HSGA and Hybrid(GA+PSO) for the purpose of Task Scheduling in cloud computing environment using CloudSim

Implementation of Greedy Particle Swarm Optimization, HSGA and Hybrid(GA+PSO) for the purpose of Task Scheduling in cloud computing environment using CloudSim

Yash Jain 5 Dec 18, 2022
An advanced, multi-purpose Discord bot

TechnoBot An advanced, multi-purpose bot for Discord Explore this project » Visit Wiki · Report Bug · Request Feature Table of Contents About The Proj

Thomas 13 Dec 28, 2022
A little of Java content every day for a hundred days.

100 Days of Java Table of Contents Day 1 - Generating a random number within a specific range. Day 2 - Formatting a LocalDateTime object. Day 3 - Sche

Helber Belmiro 164 Dec 27, 2022
This is a little self hosted shared planner application server.

VPR-Backend This project includes the backend for the VPR-project. Installation and Getting Started To run the server you first have to install a MySQ

Marc Beyer 2 Feb 5, 2022
Fun little program to generate worlds in Excel

Basic world generation for Excel! How to use (For windows): Download the latest release from Releases run java -jar WorldGenExcelVersion.jar "path_to_

Steven Zhu 1 Feb 12, 2022
Rails like error pages for Spring Boot applications that are only active in development.

Better Error Pages Table of Contents Introduction Demo Quick Start Configuration Limitations License Introduction This is a Spring Boot Starter projec

Kod Gemisi 13 Jan 2, 2022
JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservice architectures, step by step.

JHipster Lite ⚡ Description JHipster is a development platform to quickly generate, develop & deploy modern web applications & microservice architectu

JHipster 255 Jan 3, 2023
Supports the development of Spryker applications with Intellij Integration.

SprykerKit - intellij plugin for spryker file generation integrated into your ide Supports the development of Spryker applications with Intellij IDEA.

valantic CX 3 Oct 13, 2022
Flights metasearch engine simulation using Java, GraphQL and React.js, developed for COMP30220 Distributed Systems.

Distributed Airways For the full project report, see ./report.pdf. A demonstration video is available here. Requirements Docker JDK 8 and Apache Maven

Rajit Banerjee 3 Dec 29, 2022
This project contains a full example of an application developed using Spring Boot and GraphQL within the Java.

Spring boot GraphQL Example This project contains a full example of an application developed using GraphQL within the Java. The project includes a com

Haoqiao Wang 3 Jul 20, 2022
Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

control_financial Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

Vinicius Cassaro 1 May 27, 2022
The project aim at easier to start a spring boot/cloud project.

easy-starters 是一个公共 starter 集合,旨在帮助 java 开发者快速构建 Springboot 与 Spring Cloud 项目. lx-starters的环境要求 JDK requirement: JDK 1.8+ Spring booter 2.x,+ 如何引用lx-s

null 3 Jul 11, 2022