A JavaFX-based desktop application that allows users to input detailed sports performance data and visualize it through graphs, tables, and history views.
Data is stored in Apache Cassandra (running via Docker Desktop), enabling scalable and efficient performance tracking.
- 📋 Multi-tab UI for input, graphs, and history view.
- 📊 Graphical representation of player performance over time.
- 🗄️ Cassandra integration for persistent data storage.
- 🖥 User-friendly interface built with JavaFX.
- 🔄 Works with multiple sports data formats.
| Tool / Technology | Version | Purpose |
|---|---|---|
| Java | JDK 23/11 | JavaFX UI development |
| Java | JDK 11 | Apache Cassandra compatibility |
| JavaFX SDK | 23.0.2 | UI framework for the application |
| Apache Cassandra | 4.x (Docker) | NoSQL database for storing player data |
| Docker Desktop | Latest | Running Cassandra container |
| IntelliJ IDEA | Latest | Integrated development environment |
You can view all screenshots in this PDF:
📄 Screenshots of Project
- User inputs performance data via the JavaFX UI.
- Data is validated and stored in Cassandra (via Docker container).
- Stored data can be retrieved and displayed in history or visualized in graphs.
This document explains how to:
- Start Apache Cassandra in Docker
- Run the Sports Performance Analysis JavaFX application
- View player data stored in Cassandra
- View saved user credentials (if needed)
docker start cassandra-container
"path\to\jdk-23\bin\java.exe" --module-path "path\to\javafx-sdk-23.0.2\lib" --add-modules javafx.controls,javafx.fxml,javafx.swing -jar "path\to\SportsPerformanceAnalysis\target\SportsPerformanceAnalysis-1.0-SNAPSHOT.jar"
"D:\jdk-23_windows-x64_bin\jdk-23.0.2\bin\java.exe" --module-path "A:\BDT\openjfx-23.0.2_windows-x64_bin-sdk\javafx-sdk-23.0.2\lib" --add-modules javafx.controls,javafx.fxml,javafx.swing -jar "A:\MPJ\SportsPerformanceAnalysis\target\SportsPerformanceAnalysis-1.0-SNAPSHOT.jar"
docker exec -it cassandra-container cqlsh 127.0.0.1 9042
docker exec -it cassandra-container cqlsh
USE sports_analysis;
SELECT * FROM player_performance;
SELECT player_id, player_name, runs_scored FROM sports_analysis.player_performance;
docker exec -it cassandra-container cqlsh 127.0.0.1 9042
DESCRIBE TABLES;
SELECT * FROM users;
- The application will NOT start directly from the IDE "Run" button; you must run it via CMD with the --module-path and --add-modules flags.
- The database connection will fail if the Docker container is not started before running the application.
- You must update the file paths in the run command for your local system.
- Source Code: Licensed under the MIT License.
- Apache Cassandra: This project uses Apache Cassandra, licensed under the Apache License 2.0.
- JavaFX: Licensed under the GPL v2 with Classpath Exception.
- Docker: Licensed under the Apache License 2.0.
All third-party tools and libraries are used in compliance with their respective licenses.