CROP
ProjectsPDF Parser

Weaviate Event Sourcing Dashboard

React dashboard for viewing and analyzing Event Sourcing data from Weaviate Service.

Weaviate Event Sourcing Dashboard

React dashboard for viewing and analyzing Event Sourcing data from Weaviate Service.

🎯 Answer to Grafana Question

❌ Grafana WON'T work if:

  • Events are stored in memory (in-memory) - Grafana requires persistent storage
  • Direct database access is needed (MongoDB/PostgreSQL)
  • Events are lost on service restart

✅ Custom Dashboard WORKS:

  • ✅ Works with API (regardless of storage)
  • ✅ Works even with in-memory events
  • ✅ Works with MongoDB
  • ✅ Works with PostgreSQL
  • ✅ Full control over UI
  • ✅ Easy to customize

💡 Recommendation:

  • If events are in memory → Custom Dashboard (only option)
  • If MongoDB → Custom Dashboard or Grafana (both work)
  • Custom Dashboard always works!

Features

  • 📊 Event History - View all events with filtering
  • 📈 Statistics - Analytics and insights
  • 🔍 State Reconstruction - Time-travel queries
  • 🎨 Modern UI - Clean and responsive design

Setup

Install Dependencies

npm install

Configure API URL

Create .env file:

VITE_API_URL=http://localhost:8002

Or set environment variable:

export VITE_API_URL=http://your-weaviate-service:8002

Run Development Server

npm run dev

Dashboard will be available at http://localhost:3000

Build for Production

npm run build

Usage

View Events

  • Navigate to /events to see all events
  • Use filters to find specific events
  • Click on an event to see details

View Statistics

  • Navigate to /stats to see event statistics
  • View charts and analytics

Reconstruct State

  • Navigate to /events/{aggregateId}/state
  • Optionally set a time to see state at that moment
  • View reconstructed state from events

API Integration

The dashboard connects to Weaviate Service API endpoints:

  • GET /events - Get event history
  • GET /events/stats - Get statistics
  • GET /events/{id}/state - Reconstruct state

Notes

  • In-memory events: If Event Sourcing uses in-memory storage, events will be lost on service restart
  • MongoDB/PostgreSQL: For persistent storage, configure EVENT_BACKEND in Weaviate Service
  • Grafana: Requires persistent storage (MongoDB/PostgreSQL), not compatible with in-memory

On this page