https://github.com/rupurt/eve
Reactive event driven applications with bottomless storage
https://github.com/rupurt/eve
batch cqrs event-driven event-sourcing events kappa object-storage reactive streaming workflow
Last synced: 5 months ago
JSON representation
Reactive event driven applications with bottomless storage
- Host: GitHub
- URL: https://github.com/rupurt/eve
- Owner: rupurt
- License: mit
- Created: 2023-10-20T22:06:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-27T06:54:19.000Z (over 2 years ago)
- Last Synced: 2025-03-06T03:17:36.109Z (over 1 year ago)
- Topics: batch, cqrs, event-driven, event-sourcing, events, kappa, object-storage, reactive, streaming, workflow
- Language: TypeScript
- Homepage:
- Size: 356 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Eve
Reactive event driven applications with bottomless storage
## Packages
| Name | |
| --------------------------------------- | ------------------------------------------------ |
| [@evereactor/bloxy](./pkgs/bloxy) | Object storage proxy and metadata cache |
| [@evereactor/broker](./pkgs/broker) | Broker for event streaming |
| [@evereactor/client](./pkgs/client) | Typescript client SDK |
| [@evereactor/evectl](./pkgs/evectl) | Eve command line tool |
| [@evereactor/kafka](./pkgs/kafka) | Kafka API compatibility |
| [@evereactor/protocol](./pkgs/protocol) | Eve protocol library |
| [@evereactor/reactor](./pkgs/reactor) | Reactive event loop for timers and events |
| [@evereactor/storage](./pkgs/storage) | Storage abstraction for event message structure |
| [@evereactor/ucli](./pkgs/ucli) | Universal CLI single binary |
| [@evereactor/webui](./pkgs/webui) | Web management UI |
## Docker/OCI
Pre-built docker images are provided on [docker hub](https://hub.docker.com) as a
[universal image](https://hub.docker.com/r/evereactor/eve) and individual [components](https://github.com/rupurt/eve/tree/main/docker).
## Development
`eve` is a typescript monorepo targeting [bun](https://bun.sh) and recent versions of
[node](https://nodejs.org/en/about/previous-releases). This repository assumes you have [installed nix](https://determinate.systems/posts/determinate-nix-installer).
```shell
./scripts/bootstrap
```
Start a `nix` dev shell
```shell
nix develop -c $SHELL
```
Install dependencies from `npm`
```shell
npm install
```
Run dev mode for all packages
```shell
npm run dev
```
## Test
Run tests for all packages
```shell
npm run test
```
## Coverage
Generate a test coverage report for all packages
```shell
npm run coverage
```
## Build
`eve` compiles to a single binary on Linux, Mac & Windows
```shell
npm run build
```
## Release
`eve` can be packaged and compressed as gunzipped tarballs & zip files
```shell
npm run release
```
## License
`eve` is released under the [MIT license](./LICENSE)