Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.

Commit

Permalink
Release 0.0.1 (#262)
Browse files Browse the repository at this point in the history
* Update AUTHORS
* Update Dockerfile
* Update README.md
* Generate CHANGELOG
* Set version to 0.0.1
  • Loading branch information
JesusMtnez authored Apr 17, 2020
1 parent 3dc8ac4 commit cb3cf5f
Show file tree
Hide file tree
Showing 6 changed files with 182 additions and 36 deletions.
14 changes: 11 additions & 3 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,16 @@ The maintainers of the project are:

These are the people that have contributed to the compendium project:

* [developer47deg](https://github.com/developer47deg)
* Ignacio Navarro Martin <[pirita](https://github.com/pirita)>
* Jesús Martínez <[JesusMtnez](https://github.com/JesusMtnez)>
* Jesús Martínez-B. H. <[JesusMtnez](https://github.com/JesusMtnez)>
* Juan Pedro Moreno <[juanpedromoreno](https://github.com/juanpedromoreno)>
* Pepe García <[pepegar](https://github.com/pepegar)>
* Pepe García <[pepegar](https://github.com/pepegar)>
* Santiago Cervantes <[Yawolf](https://github.com/Yawolf)>
* Roberto Serrano <[bilki](https://github.com/bilki)>
* Daniel Ochoa <[tzimisce012](https://github.com/tzimisce012)>
* Marta Martínez <[mrtmmr](https://github.com/mrtmmr)>
* Ben Fradet <[BenFradet](https://github.com/BenFradet)>
* Rebecca Mark <[rlmark](https://github.com/rlmark)>
* Juan Valencia <[calvellido](https://github.com/calvellido)>
* Ana Gómez <[angoglez](https://github.com/angoglez)>
* Antonio Mateo Gómez <[AntonioMateoGomez](https://github.com/AntonioMateoGomez)>
156 changes: 156 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Changelog

## 04/17/2020 - Version 0.0.1

Release Changes:

- Init project (#1)
- Adds sonatype default credential settings (#2)
- Fixes organization and groupId settings (#3)
- Add GET and POST endpoint for Domain (avro) (#8)
- Remove multipart (#23)
- Refactor code, creating an algebra with non-http logic (#26)
- Update spec2 to 4.4.1 (#32)
- Update Scala and SBT (#33)
- Basic structure for client (#34)
- Update Protocol model (#35)
- Reset internal state of avro parser (#39)
- Bump version for PureConfig from 0.10.1 to 0.10.2 (#43)
- Fix FileStorage doesn't store the protocols uploaded (#42)
- Minor refactor for DBService File System implementation (#44)
- Create a compendium client (#48)
- Compendium should returns Created the first time a protocol is uploaded (#51)
- Install jekyll-watch 2.1.2 manually (#53)
- Create basic structure for endpoint of creating client (#52)
- Starting with the Skeuomorph integration
- Minor fix in ProtocolParser
- Remove F from compendium client (#56)
- Postgres as DBService for metadata (#46)
- Update libraries (#60)
- Update kind-projector to 0.10.1 (#64)
- Update org.testcontainers::postgresql to 1.11.3 (#66)
- Replace FileDBService with PostgresDBGService (#62)
- Add health endpoint (#69)
- Modifiy travis config (#61)
- Use right repository in docker (#70)
- Add latest tag to the docker image (#71)
- Fix name of repository (#72)
- Downgrade mouse to 0.20 (#73)
- Update doobie to 0.7.0 (#74)
- Refactor models structure (#77)
- Integrate Skeuomorph
- Configuration tests (#78)
- Update kind-projector to 0.10.2 (#80)
- Update hammock to 0.9.2 (#81)
- Update cats to 1.6.1 (#79)
- Return BadRequest if the json is incorrect (#83)
- Remove useless Test file (#84)
- Add refined and protocol identifier type restrictions to compendium-server (#86)
- Add common module to aggregate list in root project (#87)
- Add PostgreSQL storage support (#95)
- Add configuration options to choose protocols storage (#104)
- Fix/Update CI Images (#106)
- Simple schema versioning (#105)
- Naming and structure refactor (#107)
- Use resource to handle Protobuf temp file creation (#108)
- Add transformation endpoint tests (#109)
- Transform protocol now accepts full protocols instead of retrieving them (#110)
- Storing transformed protocols
- Add proper README (#113)
- Update project (#141)
- Compendium client has polymorphic effect type (#117)
- Compendium website (#115)
- Expose DOCKER_USER (#147)
- Update flyway-core to 6.1.2 (#149)
- Update slf4j-simple to 1.7.30 (#150)
- Update cats-core to 2.1.0 (#151)
- Update flyway-core to 6.1.3 (#153)
- Update scalafmt-core to 2.3.2 (#156)
- Update mouse to 0.24 (#157)
- Update sbt to 1.3.6 (#158)
- Update enumeratum to 1.5.15 (#159)
- Update flyway-core to 6.1.4 (#160)
- Update specs2-core, specs2-scalacheck to 4.8.2 (#161)
- Update specs2-core, specs2-scalacheck to 4.8.3 (#162)
- Implemented a new way to handle errors (#164)
- [Proposal] - Context Applied addition (#166)
- Update sbt-microsites to 1.1.0 (#167)
- Update sbt to 1.3.7
- Update sbt-native-packager to 1.6.0
- Update sbt-org-policies to 0.12.3 (#170)
- Update http4s-blaze-server, http4s-circe, ... to 0.21.0-RC1 (#171)
- Update doobie to 0.8.8 (#163)
- Update pureconfig to 0.12.2 (#172)
- Update skeuomorph to 0.0.20 (#173)
- Update flyway-core to 6.2.0 (#174)
- Update postgresql to 1.12.5 (#175)
- Update refined, refined-scalacheck to 0.9.12 (#176)
- Update http4s-circe to 0.21.0-RC2 (#177)
- Update http4s-blaze-server, http4s-dsl to 0.21.0-RC2 (#178)
- Fix docker-compose env (#179)
- Port current website to use sbt-microsites (#180)
- Remove links from docker-compose.yaml (#181)
- Update sbt-native-packager to 1.6.1 (#182)
- Update flyway-core to 6.2.1 (#183)
- Drop client module (#184)
- Update sbt to 1.3.8 (#188)
- Update flyway-core to 6.2.2 (#191)
- Update circe-core, circe-generic to 0.13.0 (#192)
- Update sbt-mima-plugin to 0.6.4 (#193)
- Upgrade http4s to 0.21.0 (#197)
- Update flyway-core to 6.2.3 (#198)
- Update http4s to 0.21.1 (#199)
- Schema validation for proto and avro #189 (#196)
- Add Mergify for patch updates (#200)
- Update scalafmt-core to 2.4.1 (#203)
- Parallelize jobs in travis (#76)
- Update flyway-core to 6.2.4 (#206)
- Update sbt-org-policies to 0.13.0 (#210)
- Change travis configuration for docker publish (#211)
- Update sbt-microsites to 1.1.2 (#212)
- Update scalafmt-core to 2.4.2 (#214)
- Update enumeratum-circe to 1.5.23 (#213)
- Update sbt-org-policies to 0.13.1 (#215)
- Update sbt-tpolecat to 0.1.11 (#216)
- Update cats-core to 2.1.1 (#217)
- Update sbt-mima-plugin to 0.7.0 (#219)
- Update specs2-core, specs2-scalacheck to 4.9.1 (#222)
- Update cats-effect to 2.1.2 (#223)
- Update specs2-core, specs2-scalacheck to 4.9.2 (#224)
- Update pureconfig to 0.12.3 (#225)
- Update refined, refined-scalacheck to 0.9.13 (#227)
- Update flyway-core to 6.3.0 (#228)
- Initial documentation for compendium (#201)
- Mergify: Merge minors when they are approved by one collaborator (#229)
- Fix Mergify badge
- Update postgresql to 1.13.0 (#230)
- Add Scala Steward badge (#231)
- Update sbt-microsites to 1.1.3 (#232)
- Update sbt-org-policies to 0.13.2 (#233)
- Update flyway-core to 6.3.1 (#234)
- Update sbt-native-packager to 1.6.2 (#235)
- Use different databases for metadata and protocols (#226)
- Update sbt-native-packager to 1.7.0 (#236)
- Update to Scala 2.13.1 (#241)
- Only use OpenJDK 8 for every compilation (#242)
- Update sbt-microsites to 1.1.5 (#243)
- Set up microsite (#244)
- OpenAPI docs (#240)
- Ignore CI workflow on master branch for now (#245)
- Sbt plugin section (#237)
- Update flyway-core to 6.3.2 (#246)
- Execute CI workflow for external PRs and add check to Mergify(#247)
- Update http4s-blaze-server, http4s-circe, ... to 0.21.2 (#248)
- Use GitHub Actions I: Compilation and tests (#239)
- Update context-applied to 0.1.3 (#250)
- Update documentation for protobuf configuration (#249)
- Update sbt to 1.3.9 (#252)
- Update http4s-blaze-server, http4s-circe, ... to 0.21.3 (#253)
- Update specs2-core, specs2-scalacheck to 4.9.3 (#256)
- Update doobie-core, doobie-hikari, ... to 0.9.0 (#254)
- Update flyway-core to 6.3.3 (#255)
- Remove bundler cache from TravisCI (#257)
- Update postgresql to 1.14.0 (#258)
- Update sbt to 1.3.10 (#259)
- Features Documentation (#251)
- Update cats-effect 2.1.3 (#261)
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM hseeberger/scala-sbt:8u242_1.3.8_2.13.1 as builder
FROM hseeberger/scala-sbt:8u242_1.3.10_2.13.1 as builder
WORKDIR /build
COPY . .
RUN sbt universal:packageZipTarball
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright (C) 2018-2019 47 Degrees. <http://47deg.com>
Copyright (C) 2018-2020 47 Degrees. <http://47deg.com>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
42 changes: 12 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,25 @@
[comment]: # (Start Badges)

[![Build Status](https://travis-ci.org/higherkindness/compendium.svg?branch=master)](https://travis-ci.org/higherkindness/compendium) [![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://raw.githubusercontent.com/higherkindness/compendium/master/LICENSE) [![GitHub Issues](https://img.shields.io/github/issues/higherkindness/compendium.svg)](https://github.com/higherkindness/compendium/issues)
![Release](https://github.com/higherkindness/compendium/workflows/Release/badge.svg?branch=master)
![Docker Image Version (latest semver)](https://img.shields.io/docker/v/47deg/compendium?sort=semver)
![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/47deg/compendium?sort=semver)
![GitHub issues](https://img.shields.io/github/issues/higherkindness/compendium)
![License](https://img.shields.io/github/license/higherkindness/compendium?color=blue)
![Gitter](https://img.shields.io/gitter/room/higerkindness/compendium)
[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)
[![Mergify Status](https://img.shields.io/endpoint.svg?url=https://gh.mergify.io/badges/higherkindness/compendium&style=flat)](https://mergify.io)
![Mergify Status](https://img.shields.io/endpoint.svg?url=https://gh.mergify.io/badges/higherkindness/compendium&style=flat)

[comment]: # (End Badges)

# What is compendium?
compendium is a standalone solution, implemented as an HTTP service, that provides **storage, conversion and client generation for your schemas in a format-agnostic fashion**.

## Features and comparison with Schema Registry

|Feature |compendium |Schema Registry|
|------------------------------- |-----------|---------------|
|RESTful interface |yes |yes |
|Schema storage |yes |yes |
|Schema versioning |yes |yes |
|Pluggable storage backends |yes |no (Kafka) |
|Format-agnostic |yes |no (Avro) |
|Conversion between formats |yes |no |
|Client code generation |yes |no |

Pluggable storage backends means that you can use whatever storage fits your needs, being filesystem and PostgreSQL the current out of the box backends provided by compendium at the moment.

Format-agnostic ensures that you can use any of the most popular schema formats, ranging from binaries like Avro and Protocol Buffers, to more web related like OpenAPI, in a transparent manner.

Conversion between formats saves a ton of work trying to manually adapt schemas that you are already using, while retaining type safety and ensuring formats compatibility.

Finally, code generation (currently only Scala) is a very interesting feature that allows putting into use all those stored schemas without worrying about their future changes and evolutions.

# How to use compendium

compendium can be used calling the RESTful interface directly, just as you would use other schema solutions like Schema Registry.
compendium is a standalone solution, implemented as an HTTP service, that provides **storage, conversion and client generation for your schemas in a format-agnostic fashion**.

## SBT plugin (Scala)
# Documentation

In order to use code generation, an SBT plugin is also provided [here](https://github.com/higherkindness/sbt-compendium). This plugin handles all the hassle of calling the compendium server, leaving Scala files in the managed sources folders for your SBT project, ready to be compiled.
The full documentation is available at https://higherkindness.io/compendium

# Examples
# Demo

Take a look at this [example](https://github.com/higherkindness/compendium-example) to get a grasp on how to integrate your projects with compendium, making use of SBT plugin to generate Scala code from schemas.

Expand All @@ -50,7 +32,7 @@ Please review the [Contribution document](CONTRIBUTING.md) for information on ho

compendium is designed and developed by 47 Degrees

Copyright © 2018-2019 47 Degrees. <http://47deg.com>
Copyright © 2018-2020 47 Degrees. <http://47deg.com>

Licensed under Apache License. See [LICENSE](LICENSE) for terms.

Expand Down
2 changes: 1 addition & 1 deletion version.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version in ThisBuild := "0.0.1-SNAPSHOT"
version in ThisBuild := "0.0.1"

0 comments on commit cb3cf5f

Please sign in to comment.