/bones

A work-in-progress CQRS/Rest frameworky thing.

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

icon

A work-in-progress CQRS/Rest frameworky thing.

The goal is to provide an easy way to get started writing clojure apps that will be immediately scalable. Embracing async and streaming throughout, bottlenecks and processing complications are mitigated. Embracing a data-oriented API the user is empowered to manage a small or massive project (theoretically; there hasn't been a massive project built with it, yet ;).

The components of this framework are designed to be stand-alone libraries that are also designed to fit together. The intent is for the programmer to focus on data specification and behavior, while the framework handles the plumbing aspects. These libraries will connect the user's handler functions with some data validation along the way.

There could potentially be a library that composes the component libraries. For now, they assist with the plumbing of building an app.

These are the components:
Examples:
  • todomvc front-end only

    This todomvc, quite possibly, has the fewest lines.

  • app using kafka as db all components combined

    Be sure to check this app out, it has been the target app that these libraries have been built around. It mostly resembles what an app would look like.

In play:

The design goal is to basically combine these awesome projects.

They share the values of data streaming and data as configuration; data all the way down, so to speak. So, you might ask, why not just use them directly? The intent of this framework is to provide sensible and helpful defaults, minimize the required configuration, and ensure those projects work well together. Hopefully, providing enough benefit, while also getting out of the way.

Influenced by:
Aspiring to be:

The plan is for this frameworky thing to embrace systems by offering support for Kafka and Redis; two integral parts of of this web app architecture. It would make sense to help with the provisioning of these systems, so maybe another library could come about doing that.

Architecture

Bones Architecture

License

Copyright © 2015 Chris Thompson

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.