Domain model language is Ubiquitous not only in people interactions, but in computer communications, too. The model is defined and maintained in protobuf. Most of the domain model code is automatically generated for all the programming languages of your project.
Unlike some CQRS/ES frameworks which treat commands and events as Json objects, Spine promotes strong typing of all parts of a business model. The model can be extended without breaking binary compatibility with client applications.
The framework promotes writing code which does not depend on storage media or deployment platform. You can start with JDBC-based storage and later switch to Google Cloud Platform Datastore by changing one line of code.
Permissive Apache License allows using the framework in closed-source projects. You are welcome to contribute to the framework development.
We aim to free developers from creating boilerplate code as much as possible.
We wanted to create a framework that can help us and development groups like ours to build CQRS/ES apps easier.
Building on top of Protobuf and gRPC allowed us to provide many infrastructure solutions, so that developers can focus on business logic, and web and mobile UI.
We wanted to simplify delivering events and data to web and mobile clients.
We maintain a set of examples that evolve as we add new features and languages. This is done in order to help people who are new to Spine get started easily. If you’ve tried something you think would be useful to the community, please add it.
Contribute to our blog. Maybe you’ve used Spine for your company project, or you’ve analyzed how a feature works. If you write about experiences like these, we’d love to add them to the Spine blog.
If you enjoy analyzing how something works, whether it’s an API or a feature, please use this talent to help us improve our documentation.
Contribute code to Spine! All repositories are hosted on GitHub. Before you start, please read the Contributor’s Guide.