https://github.com/commanded/eventstore-dashboard
Real-time dashboard for EventStore
https://github.com/commanded/eventstore-dashboard
Last synced: 11 months ago
JSON representation
Real-time dashboard for EventStore
- Host: GitHub
- URL: https://github.com/commanded/eventstore-dashboard
- Owner: commanded
- License: mit
- Created: 2020-05-16T08:38:03.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-03-10T14:44:26.000Z (almost 3 years ago)
- Last Synced: 2024-10-29T22:37:26.649Z (over 1 year ago)
- Language: Elixir
- Size: 15.6 KB
- Stars: 19
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EventStore Dashboard
EventStore Dashboard is a tool to analyze [`EventStore`](https://hexdocs.pm/eventstore) databases. It provides access to events, streams, snapshots, and subscriptions.
It works as an additional page for the [`Phoenix LiveDashboard`](https://hexdocs.pm/phoenix_live_dashboard).



## Integration with Phoenix LiveDashboard
You can add this page to your Phoenix LiveDashboard by adding as a page in the `live_dashboard` macro at your router file.
```elixir
live_dashboard "/dashboard",
additional_pages: [
eventstores: {EventStore.Dashboard, event_stores: [MyEventStore]}
]
```
The `:event_stores` option accept event store names (the `:name` option of your EventStore). By omitting the `:event_stores` option, EventStore Dashboard will try to auto discover your event stores.
```elixir
live_dashboard "/dashboard",
additional_pages: [
eventstores: EventStore.Dashboard
]
```
Once configured, you will be able to access the EventStore Dashboard at `/dashboard/eventstore`.
## Installation
Add the following to your `mix.exs` and run mix `deps.get`:
```elixir
def deps do
[
{:eventstore_dashboard, github: "commanded/eventstore-dashboard"}
]
end
```
After that, proceed with instructions described in **Integration with Phoenix LiveDashboard** above.
### Known limitations
* Dynamic event stores are not currently supported.
* Subscriptions and snapshots have not yet been implemented.
## Contributing
For those planning to contribute to this project, you can run a dev version of the dashboard with the following commands:
$ mix setup
$ mix dev
Alternatively, run `iex -S mix dev [flags]` if you also want a shell.
## Acknowledgment
This project is based on the [Broadway Dashboard](https://github.com/dashbitco/broadway_dashboard) tool which is used to analyse [Broadway](https://hex.pm/packages/broadway) pipelines. Thank you to the entire Dashbit team for their inspiration! It also builds upon the excellent [Phoenix LiveDashboard](https://github.com/phoenixframework/phoenix_live_dashboard) project, thank you to the Phoenix framework team.