Modern Event-Driven Architecture demo with React + TypeScript. Real-time warehouse management with sophisticated event processing.
- Complete EDA Implementation - Event sourcing, aggregation, DLQ, replay
- Real-time Widgets - Orders, inventory, deliveries, analytics
- Advanced Event Bus - Interceptors, filters, retry logic, metrics
- Debug Tools - Event store viewer, DLQ manager, config panel
npm install && npm run devDebug Tools (floating buttons):
- 📚 Event Store (blue) - Browse/replay events
⚠️ Dead Letter Queue (red) - Failed events- ⚙️ Config Panel (purple) - Event filters
Core Services:
AdvancedEventBus- Central hub with priorities & retryEventStore- Event sourcing with replayEventAggregator- Complex workflowsDeadLetterQueue- Failed event handlingEnhancedMockWebSocket- Event simulation
Widgets:
NewOrdersWidget- Order trackingSimpleInventoryAlertsWidget- Stock alertsSimpleDeliveryStatusWidget- Shipment statusSimpleAnalyticsSummaryWidget- Business metricsSimpleNotificationsWidget- System alertsSimpleMetricsWidget- Technical stats
Listen for events:
import { eventBusInstance } from './utils/eventBusInstance';
useEffect(() => {
const handleOrder = (order) => setOrders(prev => [order, ...prev]);
eventBusInstance.on('order:created', handleOrder);
return () => eventBusInstance.off('order:created', handleOrder);
}, []);Emit events:
const selectOrder = (order) => {
eventBusInstance.emit('order:selected', order);
};Event aggregation:
eventBusInstance.eventAggregator.define(
'order_fulfillment',
['order:created', 'inventory:reserved', 'payment:processed'],
(events) => eventBusInstance.emit('order:ready_for_fulfillment', {
orderId: events[0].data.id,
aggregatedEvents: events.length
}),
{ timeout: 10000 }
);npm run dev # Development server
npm run build # Production build
npm run lint # ESLint check
npm run preview # Preview buildConsole commands:
eventBusInstance.getMetrics() // System metrics
eventBusInstance.getStoredEvents().slice(-10) // Recent events
eventBusInstance.deadLetterQueue.getFailedEvents() // Failed events- CONTRIBUTING.md - Development guide
- EVENT_MAPPING.md - Event reference
React 19 • TypeScript 5.8 • Vite 7 • TailwindCSS 4 • Lucide React
Learn: Event-driven architecture • React patterns • TypeScript • Real-time systems