Skip to content

pibuxd/epidemic-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epidemic Simulator

Agent-based epidemic simulation engine. Agents move on a hex grid, infect neighbors based on distance-weighted probabilities, and recover over time.

Quick Start

Full stack run

# terminal 1: Backend
sbt "runMain simulator.SimulatorServer"

# terminal 2: Frontend
cd src/main/frontend && npm install && npm run dev

Headless CLI:

sbt "runMain simulator.Main"

Configuration

Edit application.conf:

Architecture

  • Board — Hex grid with preprocessed neighbor layers for fast distance queries
  • Person — Agent with hex movement patterns and infection state
  • Disease — Trait defining transmission rules (distance decay, recovery time, mortality)
  • InfectionMap — Spatial infection probability calculator using independent event composition
  • SimulatorServer — Akka HTTP WebSocket server streaming simulation state to frontend

Extensibility

  • Add new diseases by implementing the Disease trait
  • Customize movement patterns in the Person class
  • Modify infection logic in InfectionMap for different transmission models

About

University team project for the Scala course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors