A simple, composable framework for building RESTful services
Clone or download
Permalink
Failed to load latest commit information.
.github Update code owners (#97) Jul 11, 2018
.mvn/wrapper Support building with JDK 10+ (#95) Jul 10, 2018
.travis Support building with JDK 10+ (#95) Jul 10, 2018
archetype [maven-release-plugin] prepare for next development iteration Sep 12, 2018
avro [maven-release-plugin] prepare for next development iteration Sep 12, 2018
bom [maven-release-plugin] prepare for next development iteration Sep 12, 2018
client Add OffsetPaginatedListDto interface to the pagination module (#114) (#… Sep 24, 2018
common [maven-release-plugin] prepare for next development iteration Sep 12, 2018
configuration [maven-release-plugin] prepare for next development iteration Sep 12, 2018
core [maven-release-plugin] prepare for next development iteration Sep 12, 2018
deploy Support building with JDK 10+ (#95) Jul 10, 2018
docs [maven-release-plugin] prepare for next development iteration Sep 12, 2018
guice-dynamicbindings [maven-release-plugin] prepare for next development iteration Sep 12, 2018
guice [maven-release-plugin] prepare for next development iteration Sep 12, 2018
health [maven-release-plugin] prepare for next development iteration Sep 12, 2018
jackson [maven-release-plugin] prepare for next development iteration Sep 12, 2018
jaxrs-genericresponse [maven-release-plugin] prepare for next development iteration Sep 12, 2018
jaxrs [maven-release-plugin] prepare for next development iteration Sep 12, 2018
jooq [maven-release-plugin] prepare for next development iteration Sep 12, 2018
json-common [maven-release-plugin] prepare for next development iteration Sep 12, 2018
lifecycle-governator [maven-release-plugin] prepare for next development iteration Sep 12, 2018
lifecycle [maven-release-plugin] prepare for next development iteration Sep 12, 2018
newrelic-jaxrs [maven-release-plugin] prepare for next development iteration Sep 12, 2018
pagination Add OffsetPaginatedListDto interface to the pagination module (#114) (#… Sep 24, 2018
resteasy-genericresponse [maven-release-plugin] prepare for next development iteration Sep 12, 2018
resteasy [maven-release-plugin] prepare for next development iteration Sep 12, 2018
src/main/resources Update Travis configuration + release documentation (#3) Jan 24, 2017
stagemonitor [maven-release-plugin] prepare for next development iteration Sep 12, 2018
swagger1 [maven-release-plugin] prepare for next development iteration Sep 12, 2018
testing [maven-release-plugin] prepare for next development iteration Sep 12, 2018
.gitignore Changing archetype based on best practices (#18) Feb 16, 2017
.travis.yml Support building with JDK 10+ (#95) Jul 10, 2018
CHANGELOG.md Add OffsetPaginatedListDto interface to the pagination module (#114) (#… Sep 24, 2018
CODE_OF_CONDUCT.md Added additional templates to the project [skip ci] (#66) Jul 10, 2018
CONTRIBUTING.md Open sourced Jan 16, 2017
CONTRIBUTORS.md Add OffsetPaginatedListDto interface to the pagination module (#114) (#… Sep 24, 2018
LICENSE.txt Open sourced Jan 16, 2017
NOTICE.txt Open sourced Jan 16, 2017
README.md Add offset based pagination (#112) Sep 12, 2018
RELEASING.md Prepare of 3.1 release (#113) Sep 12, 2018
checkstyle-suppressions.xml Add jooq module with ThreadLocal Guice module (#57) Nov 1, 2017
dependency-check-suppressions.xml Add dependency-check plugin (#80) Jul 10, 2018
google_checks_1.8.xml Upgrade mockito to 2.10 (#56) Oct 12, 2017
mvnw Support building with JDK 10+ (#95) Jul 10, 2018
mvnw.cmd Support building with JDK 10+ (#95) Jul 10, 2018
pom.xml [maven-release-plugin] prepare for next development iteration Sep 12, 2018
spotbugs-exclude.xml Upgrade findbugs to spotbugs (#79) Jul 10, 2018

README.md

Beadledom

Beadledom is a bundle of common components required for building JAX-RS web services. It is the starting point for new services. The core of Beadledom provides health checks, monitoring via Stagemonitor, API docs via Swagger, JSON serialization via Jackson, and integration of these components with Guice. For more information on creating a service check out our documentation.

Beadledom is made up of the following components:

  • avro - Additional Avro functionality required for services.
  • client - HTTP client for communicating with the JAX-RS web services.
  • common - Common utilities.
  • Configuration - Centralized API to access the aggregated configurations from different sources.
  • core - Core Guice module that pulls in all the other recommended Beadledom modules.
  • guice - Additional Guice extensions.
  • guice-dynamicbindings - To retrieve annotated bindings at runtime.
  • health - Health checks for services.
  • jackson - JSON serialization for services.
  • jaxrs - Restful API additions (filters and providers)
  • lifecycle - Defines and manages the lifecyle hooks for an application or a container.
  • lifecycle-governator - An implementation of the beadledom-lifecycle using Governator.
  • pagination - Parameters and hypermedia for paginated endpoints.
  • resteasy - RESTEasy implementation and integration of Beadledom components.
  • stagemonitor - Performance monitoring and troubleshooting.
  • swagger1 - API documentation.
  • testing - Testing utilities for the services.

Additional Documentation:

Below is the list of documentations that are helpful to get started but outside the scope of the Beadledom documentation.

Contribute

You are more than welcome to Contribute to Beadledom.

Read our Contribution guidelines.

Releasing

Depending on the need for the release, every month or earlier the beadledom committer team reviews contributions in master that have not been released. The committer team then takes a quick vote on if a release of master should be made. If 2/3 of the committers agree on the release a release is cut.

To release Beadledom please follow our releasing documentation.

License

Copyright 2017 Cerner Innovation, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.