Ghana Road Transport Network Challenge 2026
# Ghana Road Transport Network 2026
A JavaFX application for analyzing and visualizing road networks in Ghana, featuring shortest path algorithms, cost analysis, and interactive graph visualization.
## 🚀 Quick Start
### Prerequisites
- Java 21 or higher
- Maven 3.6+
### Running the Application
**Main Application (Interactive GUI):**
```bash
mvn clean javafx:run
```
**Complexity Analysis (Generate Performance Plots):**
```bash
mvn compile exec:java -Dexec.mainClass="ComplexityAnalysis"
```
**Run Tests:**
```bash
mvn test
```
## 📦 Dependencies
This project uses the following libraries:
- **JavaFX 21.0.5** - GUI framework for interactive visualization
- `javafx-controls` - UI components
- `javafx-graphics` - Graphics rendering
- `javafx-fxml` - FXML support
- **JFreeChart 1.5.4** - Chart generation for complexity analysis plots
All dependencies are managed via Maven and will be automatically downloaded when you build the project.
## 🎯 Key Features
- **Interactive Graph Visualization** - Force-directed layout of road networks
- **Shortest Path Algorithms** - Dijkstra's algorithm for fastest routes
- **Top 3 Path Analysis** - Find and compare multiple route options by total cost
- **Cost Breakdown** - Fuel cost (GHS/km) + Time cost (GHS/min)
- **Route Recommendation** - Compare fastest vs. cheapest routes
- **Complexity Analysis** - Performance testing and prediction up to 5000 nodes
## 📁 Data Format
The application accepts `.csv` or `.txt` files with the following format:
**CSV Format** (with header):
```csv
source,destination,distance_km,avg_time_min
Accra,Kumasi,250,180
Kumasi,Tamale,380,240
```
**TXT Format** (no header):
```
Accra,Kumasi,250,180
Kumasi,Tamale,380,240
```
## 📚 Documentation
### Full Documentation
For comprehensive documentation including architecture, algorithms, and implementation details, see:
- **[Project Documentation (Word)]** *(Add your Word document link here)*
### JavaDoc API Documentation
Generate JavaDoc documentation: …