Cratis is an Event Sourcing platform built with ease of use, productivity, compliance and maintainability in mind. It provides the core platform, referred to as the Kernel with client SDK (.NET only for the time being) and tooling built into it. In addition Cratis offers an application model aimed towards productivity and bringing in concepts such as CQRS; opinionated and completely optional.
Read the documentation on our site https://cratis.io for all the details. For general guidance on the core values and principles we @ Aksio use, read more here.
If you want to jump into building this repository and possibly contributing, please refer to contributing.
If you prefer to browse the code in VSCode, you can do so by clicking here.
Make sure you have the following installed:
The sample consists of a backend and a frontend. Navigate to the Bank Sample folder.
Before running the microservice backend and frontend, we will need to run the Cratis Kernel.
docker compose up -d
This will bring up the Cratis Kernel and expose the following ports:
Port | Description |
---|---|
27017 | MongoDB - used for events and projection results |
8080 | Workbench and API for kernel |
11111 | Clustering port |
30000 | Client to Kernel connectivity |
Within here you'll see a folder called Main, which represents the backend startup. Navigate to this and start the backend by running:
dotnet run
The frontend is located in the Web folder. While the backend is running in another terminal, navigate to that folder and start it by running:
yarn start:dev
Open a browser and navigate to http://localhost:9100/ and you can start playing around with the sample.
Note: The Cratis workbench is available http://localhost:8080/
If you're looking to either contribute or dive into the code by building and running the Cratis Kernel locally, you can read more here.