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 installConfigure API URL
Create .env file:
VITE_API_URL=http://localhost:8002Or set environment variable:
export VITE_API_URL=http://your-weaviate-service:8002Run Development Server
npm run devDashboard will be available at http://localhost:3000
Build for Production
npm run buildUsage
View Events
- Navigate to
/eventsto see all events - Use filters to find specific events
- Click on an event to see details
View Statistics
- Navigate to
/statsto 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 historyGET /events/stats- Get statisticsGET /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_BACKENDin Weaviate Service - Grafana: Requires persistent storage (MongoDB/PostgreSQL), not compatible with in-memory