Data interchange for the modern web + mobile stack.
Scala Java Swift TypeScript Groovy Lex Other
Clone or download
Permalink
Failed to load latest commit information.
android Update READMEs Mar 8, 2016
cli/src/main/scala/org/coursera/courier/cli Adds generator mixin capability so that we can customize template gen… Apr 18, 2018
generator-api Generator performance improvement: switch from scalariform to poor ma… Mar 9, 2016
gradle-plugin make version consistent Apr 18, 2018
idea-plugin Merge pull request #19 from jpbetz/fix-doc-comment-indentation Mar 18, 2016
java Extract project settings from Build.scala to per-project build.sbt files Feb 8, 2016
maven-plugin make version consistent Apr 18, 2018
project Adds generator mixin capability so that we can customize template gen… Apr 18, 2018
reference-suite/src/main allow apostrophes in single-line comments Apr 7, 2017
sbt-plugin extend script to publish to bintray as well Jul 22, 2017
scala Adds generator mixin capability so that we can customize template gen… Apr 18, 2018
schema-language allow apostrophes in single-line comments Apr 7, 2017
scripts Publishing workflow bugfixes Apr 5, 2016
swift Proof-of-concept for distributing executable binary (#22) May 28, 2016
typescript-lite Typescript: Fix bug that fails to transcribe symbol-level enum docs. (#… Jan 17, 2017
.gitignore add arc to .gitignore Nov 14, 2015
.travis.yml First cut at typescript-lite generator implementation. (#20) Apr 15, 2016
CONTRIBUTING.md Update docs to explain how to bump version Jan 27, 2016
LICENSE.txt Add apache 2.0 header files May 15, 2015
NOTICE Introduce Courier Jun 8, 2015
README.md Update README.md Feb 13, 2016
scalastyle_config.xml Add apache 2.0 header files May 15, 2015
version.sbt Adds generator mixin capability so that we can customize template gen… Apr 18, 2018

README.md

Build Status

Courier

Modern data interchange system for web + mobile stacks that combines an expressive schema language with language idiomatic data binding generators.


Website | Getting Started | Schema Language | Data Protocols

Why Courier?

Courier is the only comprehensive, schema based data system centered around JSON. Binary protocols, such as Protobuf and Thrift have proven that data schemas are an excellent way to share the structure of data messaged between multiple systems and programming languages. For JSON, however, there are few systems that take a schema driven approach and none that provide satisfactory type systems. Courier's solves this problem, providing a type safe, schema driven way of sharing JSON data between backends, web and mobile.

To learn more, see coursera.github.io/courier

License

Courier is Apache 2.0 Licensed.

Contributing

For development and submitting pull requests, please see the Contributing document.