This demo showcases SlipStream's real-time anomaly detection capabilities with a visual, colorful interface perfect for recording and demonstrations.
Run the complete interactive demo:
./demo.shThis script will:
- β Check and start Kafka infrastructure
- π Create necessary topics
- π¨ Build the application
- π Start the anomaly result monitor
- π― Launch SlipStream core engine
- π Generate realistic transaction data with anomalies
Generates realistic transaction streams including:
- Normal transactions (70%) - Regular purchases
- High amount anomalies (10%) - Unusually large transactions
- Velocity anomalies (10%) - Rapid successive transactions
- Location anomalies (5%) - Transactions from suspicious locations
- Time anomalies (5%) - Transactions at unusual hours
Beautiful real-time display of detected anomalies with:
- π¨ Color-coded alerts
- π Anomaly scores and confidence levels
- π Real-time timestamps
- π° Amount highlighting
- π Location information
Orchestrates the entire demo with:
- Automatic Kafka setup
- Multi-window terminal management
- Colorful progress indicators
- Graceful cleanup
For manual control or recording specific scenarios:
docker-compose up -dmvn exec:java -Dexec.mainClass='com.slipstream.demo.AnomalyResultConsumer'mvn exec:java -Dexec.mainClass='com.slipstream.SlipStreamApplication'# Generate transactions for 60 seconds
mvn exec:java -Dexec.mainClass='com.slipstream.demo.TransactionGenerator' -Dexec.args="60"- Terminal Setup: Use a dark theme with good contrast
- Font Size: Increase terminal font size for better visibility
- Window Layout: Arrange terminals side-by-side to show data flow
- Timing: Let each component start fully before proceeding
- Duration: 30-60 seconds provides good variety of anomalies
The demo includes:
- π Color-coded output for different transaction types
- π Real-time metrics and scoring
- π¨ Alert highlighting for high-severity anomalies
- π Statistical information in readable format
- β‘ Live data streaming demonstration
Modify demo parameters in TransactionGenerator.java:
- Transaction frequency (line 114:
Thread.sleep()) - Anomaly percentages (line 103-120)
- Amount ranges (lines 135, 149, 163, etc.)
- Location lists (lines 29-40)
Perfect for showcasing SlipStream's capabilities in presentations, demos, or GitHub documentation! π