Welcome to SimulationBank
SimulationBank is a comprehensive discrete event simulation (DES) platform designed to model and analyze bank queue operations. Built with Python (Flask) on the backend and React on the frontend, it provides real-time visualization and analytics for understanding customer flow, resource utilization, and service efficiency in banking environments.What is SimulationBank?
SimulationBank simulates the dynamics of a bank branch where:- Customers arrive following a Poisson process with configurable arrival rates
- Priority queuing ensures high-priority customers (elderly, pregnant) are served first
- Tellers act as finite resources that serve customers with varying service times
- Events drive the simulation: arrivals, service starts, and service completions
Key Features
Discrete Event Simulation
Event-driven architecture using a priority queue (heap) for chronological event processing
Priority Queuing System
Three-tier priority system (High/Medium/Low) with FIFO within each priority level
Poisson Arrivals
Realistic customer generation using exponential inter-arrival times
Real-time Visualization
Live queue display showing customer priorities and teller states
Metrics Dashboard
Comprehensive analytics: wait times, throughput, saturation, queue length
Configurable Parameters
Tune arrival rates, service times, teller count, and priority distributions
Who is SimulationBank For?
Operations Researchers
Operations Researchers
Model queueing systems, validate theoretical models (M/M/c queues), and optimize resource allocation strategies.
Bank Operations Managers
Bank Operations Managers
Understand staffing requirements during peak hours, analyze the impact of priority service policies, and forecast service levels.
Students & Educators
Students & Educators
Learn discrete event simulation concepts, queueing theory, and stochastic processes through interactive visualization.
Software Engineers
Software Engineers
Explore event-driven architecture, domain-driven design patterns, and real-time data visualization techniques.
Use Cases
Capacity Planning
Determine the optimal number of tellers needed to maintain acceptable wait times during different times of day or seasonal peaks.Policy Analysis
Evaluate the impact of priority queuing policies on overall customer satisfaction and wait time distributions across customer segments.Performance Benchmarking
Establish baseline performance metrics and identify bottlenecks in customer service workflows.What-If Scenarios
Simulate high-load conditions, teller breakdowns, or changes in customer arrival patterns to assess system resilience.Architecture Overview
Technology Stack
Backend:- Python 3.x
- Flask (REST API)
- flask-cors (cross-origin support)
- heapq (priority queue implementation)
- React 19.2.0
- Vite 7.3.1 (build tool)
- React Hooks (state management)
- Real-time API polling
Core Concepts
Before diving in, familiarize yourself with these foundational concepts:- Discrete Event Simulation: How events drive the simulation forward
- Priority Queuing: Multi-level queue management with heap-based implementation
- Poisson Arrivals: Stochastic customer generation using exponential distributions
- Resource Management: Teller allocation and state transitions
Getting Started
Install Dependencies
Set up both backend (Python/Flask) and frontend (Node.js/React) environments.See Installation Guide
Quick Start
Run your first simulation in under 5 minutes.See Quickstart Guide
Explore Features
Learn about the simulation engine, visualization, and metrics.Browse Features Documentation
SimulationBank uses a virtual clock that advances in discrete jumps between events. One second of real time does not equal one second of simulation time.
Next Steps
Quickstart
Run your first simulation
Installation
Detailed setup instructions
Concepts
Learn the fundamentals
Guides
Step-by-step tutorials