The Cardio Data Simulator is a Java-based application designed to simulate real-time cardiovascular data for multiple patients. This tool is particularly useful for educational purposes, enabling students to interact with real-time data streams of ECG, blood pressure, blood saturation, and other cardiovascular signals.
- Simulate real-time ECG, blood pressure, blood saturation, and blood levels data.
- Supports multiple output strategies:
- Console output for direct observation.
- File output for data persistence.
- WebSocket and TCP output for networked data streaming.
- Configurable patient count and data generation rate.
- Randomized patient ID assignment for simulated data diversity.
- Java JDK 11 or newer.
- Maven for managing dependencies and compiling the application.
-
Clone the repository:
git clone https://github.com/tpepels/signal_project.git
-
Navigate to the project directory:
cd signal_project
-
Compile and package the application using Maven:
mvn clean package
This step compiles the source code and packages the application into an executable JAR file located in the
target/
directory.
After packaging, you can run the simulator directly from the executable JAR:
java -jar target/cardio_generator-1.0-SNAPSHOT.jar
To run with specific options (e.g., to set the patient count and choose an output strategy):
java -jar target/cardio_generator-1.0-SNAPSHOT.jar --patient-count 100 --output file:./output
console
: Directly prints the simulated data to the console.file:<directory>
: Saves the simulated data to files within the specified directory.websocket:<port>
: Streams the simulated data to WebSocket clients connected to the specified port.tcp:<port>
: Streams the simulated data to TCP clients connected to the specified port.
This project is licensed under the MIT License - see the LICENSE file for details.
- Added UML class diagrams of Alert Generation System, Data Storage System, Patient Identification System, and Data-Access Layer.
- Added State and Sequence Diagrams for the Alert Generation System.
- Link: https://github.com/lwjay2003/signal_project/blob/master/uml_models
- student ID: i6314340 //Wenjie Liao
- student ID: i6336504 //Siyao Zhou