💡 Examples
🏦 Banking

🏦 Banking

Real-world banking example showing EventModule for payments, transfers and notifications.

🔐 Transfer Flow

class BankingModule extends EventModule {
  @override
  void listen() {
    on<TransferMoneyEvent>((TransferMoneyEvent event, BuildContext? context) {
      print('🏦 Transferring $${event.amount} to ${event.toAccountId}');
      ModularEvent.fire(NotificationEvent(message: '✅ Transfer completed'));
    }, exclusive: true); // only one transfer at a time
  }
}
 
// Fire
ModularEvent.fire(TransferMoneyEvent(toAccountId: 'ACC-123', amount: 100.0));

🛡️ Fraud Check

class FraudModule extends EventModule {
  @override
  void listen() {
    on<TransferMoneyEvent>((TransferMoneyEvent event, BuildContext? context) {
      if (event.amount > 10000) {
        print('⚠️ High value transfer, extra checks...');
      }
    });
  }
}