A multi-page interactive dashboard analyzing Central Asian regional threat perception and defense systems using Plotly visualizations.
Visit the dashboard: https://akfave99.github.io/Data_Dashboards/
Beautiful landing page with all available charts displayed as interactive cards.
- Threat Perception - Central Asian Regional Threat Perception Analysis (3D density map with flag images)
- Supplier Influence - Defense Supplier Influence 3D Surface
- Defense Systems - Defense Systems Analysis (Polar/Radar chart)
- Multi-Country Radar - Multi-Country Radar Comparison
- Priorities Heatmap - Defense Priorities Heatmap
- Supplier Connections - Supplier Connections Sankey Diagram
- ✅ Responsive Design - Works on desktop, tablet, and mobile
- ✅ Dark Theme - Professional dark blue color scheme
- ✅ Interactive Charts - Zoom, pan, rotate, and download as PNG
- ✅ Navigation Bar - Quick access to all charts with mobile menu
- ✅ Beautiful Styling - Gradient backgrounds, smooth transitions, hover effects
Data_Dashboards/
├── docs/ # GitHub Pages source
│ ├── index.html # Home page
│ ├── chart0.html through chart5.html # Individual chart pages
│ ├── chart*.html # Raw Plotly chart data
│ └── .nojekyll # GitHub Pages config
├── geopolitical-dashboard/ # Source code
│ ├── Transcaspian_Defense_Data_app.py # Main Dash app
│ ├── geopolitical_app.py # Chart generation functions
│ ├── chart_data.py # Data module
│ ├── pages/ # Dash page components
│ ├── generate_all_charts.py # Generate all charts as HTML
│ ├── create_dashboard_html.py # Create multi-page dashboard
│ ├── upload_charts_to_plotly.py # Upload to Plotly Cloud
│ ├── requirements.txt # Python dependencies
│ ├── Procfile # Deployment config
│ └── .env # API credentials (not committed)
├── .github/workflows/
│ └── deploy-pages.yml # GitHub Actions deployment
└── README.md # This file
The dashboard is automatically deployed to GitHub Pages via GitHub Actions whenever changes are pushed to the main branch.
- Source:
/docsfolder - Branch:
main - URL: https://akfave99.github.io/Data_Dashboards/
- Workflow:
.github/workflows/deploy-pages.yml
- Python 3.8+
- pip or conda
- Clone the repository:
git clone https://github.com/akfave99/Data_Dashboards.git
cd Data_Dashboards- Install dependencies:
cd geopolitical-dashboard
pip install -r requirements.txt- Generate charts:
python generate_all_charts.py
python create_dashboard_html.py- Copy to docs folder:
cp *.html ../docs/- Commit and push:
cd ..
git add docs/
git commit -m "Update dashboard"
git push origin mainTo update the dashboard:
- Modify chart generation code in
geopolitical-dashboard/ - Run
python generate_all_charts.pyto generate new charts - Run
python create_dashboard_html.pyto create dashboard pages - Copy HTML files to
/docsfolder - Commit and push to GitHub
- GitHub Actions will automatically deploy the changes
- API credentials are stored in
.envfile (not committed) .envis in.gitignoreto prevent accidental commits- All sensitive data is kept local
- Plotly - Interactive visualizations
- Bootstrap 5 - Responsive UI framework
- GitHub Pages - Static site hosting
- GitHub Actions - Automated deployment
- Python - Data processing and chart generation
Created by: A.K. Faver
This project is open source and available under the MIT License.
Dashboard URL: https://akfave99.github.io/Data_Dashboards/