Skip to content

Commit b720d2a

Browse files
committed
update readme
1 parent e92abe1 commit b720d2a

1 file changed

Lines changed: 77 additions & 51 deletions

File tree

README.md

Lines changed: 77 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,97 @@
1-
# BRI vs Non-BRI Development Visualization
1+
# BRI vs Non-BRI Development Dashboard
22

3-
Website link: https://com-480-data-visualization.github.io/DVX/
3+
Live demo: https://com-480-data-visualization.github.io/DVX/
44

55
## Overview
66

7-
This project explores whether countries participating in the Belt and Road Initiative (BRI) show different development trajectories compared to non-BRI countries. Instead of focusing on a single metric, we consider multiple dimensions such as economic growth, infrastructure, technology adoption, trade, and governance.
7+
This project is an interactive data story about the Belt and Road Initiative (BRI), launched in 2013. It asks whether BRI countries follow development trajectories that differ from non-BRI countries across multiple socio-economic dimensions, rather than relying on a single headline indicator.
88

9-
## Data
9+
The dashboard is designed for students, researchers, and general readers who want a spatial and longitudinal view of global development. It combines a global map, time-series comparison, a country-level snapshot view, and a post-2013 change summary into one scrolling narrative.
1010

11-
The main dataset is the World Development Indicators (WDI) from the World Bank, which provides long-term socio-economic data for over 200 countries.
11+
## Intended Use
1212

13-
We also use external sources to identify BRI countries and regional groupings. Official BRI data was considered, but due to download limitations, it is only used as a supplementary source to fill missing values.
13+
The site is meant to be explored interactively.
1414

15-
## Method
15+
You can use it to:
1616

17-
- Countries are grouped into BRI (treatment) and non-BRI (control); they are also grouped by sub-continental groups
18-
- 2013 is treated as the intervention year and the total range is from 2000 to 2025
19-
- Small gaps are filled using limited interpolation
17+
- compare BRI and non-BRI countries across time
18+
- inspect a country's classification and development profile from the world map
19+
- examine long-run trends for selected indicators and regions
20+
- study cross-country variation in a single year with the scatterplot snapshot
21+
- summarize how regional averages changed after the 2013 BRI announcement
2022

21-
## Variables
23+
The interface is intentionally descriptive rather than predictive. It supports exploratory analysis, classroom discussion, and process-book style presentation of the final findings.
2224

23-
We rename raw WDI indicators into shorter and more consistent variable names:
25+
## Technical Setup
2426

25-
- Country Name → `country`
26-
- Country Code → `country_code`
27-
- Year → `year`
27+
The project is a static front-end application built with:
2828

29-
### Infrastructure & Transport
30-
- Access to electricity (% of population) → `electricity_access`
31-
- Air transport, freight → `air_freight`
32-
- Air transport, passengers → `air_passengers`
33-
- Container port traffic → `container_traffic`
34-
- Railways freight → `rail_freight`
35-
- Railways passengers → `rail_passengers`
29+
- HTML5 for the page structure
30+
- CSS Grid and responsive CSS for the layout
31+
- D3.js for all data loading, scales, axes, map rendering, and chart interactions
32+
- vanilla JavaScript for navigation, filtering, and dashboard logic
3633

37-
### Economy & Trade
38-
- GDP growth (annual %) → `gdp_growth`
39-
- GDP per capita (current US$) → `gdp_pc`
40-
- GNI per capita (Atlas method) → `gni_pc_atlas`
41-
- Current account balance (% of GDP) → `cab_gdp_pct`
42-
- Current account balance (US$) → `cab_usd`
34+
The main entry point is [index.html](index.html). The interactive logic is split between [js/script.js](js/script.js), which handles page behavior, and [js/vis.js](js/vis.js), which renders the visualizations.
4335

44-
- Exports growth → `exports_growth`
45-
- Exports (US$) → `exports_usd`
46-
- Export value index → `export_value_idx`
47-
- Export volume index → `export_volume_idx`
36+
There is no build step and no package manager configuration in this repository. The site can be deployed directly as static files, which is why it works well with GitHub Pages.
4837

49-
- Imports (% of GDP) → `imports_gdp_pct`
50-
- Import value index → `import_value_idx`
51-
- Import volume index → `import_volume_idx`
38+
## How To Run Locally
5239

53-
### Society & Inequality
54-
- Gini index → `gini`
55-
- Unemployment (ILO) → `unemp_ilo`
56-
- Unemployment (national) → `unemp_national`
57-
- Internet users (% of population) → `internet_users_pct`
40+
Because the dashboard loads CSV and GeoJSON files with D3, it should be served over HTTP rather than opened directly from the file system.
5841

59-
### Governance
60-
- Control of corruption (estimate) → `corr_control_est`
61-
- Control of corruption (rank) → `corr_control_rank`
62-
- Government effectiveness (estimate) → `gov_eff_est`
63-
- Political stability (estimate) → `pol_stab_est`
42+
One simple option is to start a local web server from the project root:
6443

65-
### Trade Policy
66-
- Tariff rate (applied) → `tariff_applied_pct`
67-
- Tariff rate (MFN) → `tariff_mfn_pct`
44+
```bash
45+
python -m http.server 8000
46+
```
6847

69-
### Metadata
70-
- Region → `region`
71-
- DID group (BRI vs non-BRI) → `did_group`
48+
Then open:
49+
50+
```text
51+
http://localhost:8000/
52+
```
53+
54+
Any equivalent static server will also work.
55+
56+
## Project Structure
57+
58+
- [index.html](index.html): main landing page and scrolling narrative
59+
- [css/](css): shared styling, plot styling, and responsive rules
60+
- [js/script.js](js/script.js): navigation behavior, sticky header, and dashboard controls
61+
- [js/vis.js](js/vis.js): map, radar chart, line chart, snapshot scatterplot, and change chart logic
62+
- [data/](data): cleaned and imputed datasets, metadata, and the world map GeoJSON
63+
- [img/](img): logo and hero imagery
64+
- [milestone1/](milestone1): exploratory analysis notebook and archived data used during development
65+
- [milestone2/](milestone2): earlier static version of the website
66+
67+
## Data Pipeline
68+
69+
The main analytical dataset is [data/Final_Imputed_Panel_Data.csv](data/Final_Imputed_Panel_Data.csv). It contains country-year observations from 2000 onward and is used throughout the dashboard for the radar chart, time trends, snapshot scatterplot, and change chart.
70+
71+
Supporting files include:
72+
73+
- [data/bri_country_status.csv](data/bri_country_status.csv) for BRI, non-BRI, and China classification used by the world map
74+
- [data/world.geojson](data/world.geojson) for country boundaries
75+
- [data/Mapping_Dictionary.csv](data/Mapping_Dictionary.csv) for indicator name alignment
76+
- [data/WDI_Dataset.csv](data/WDI_Dataset.csv) and related WDI exports for the original World Bank source data
77+
78+
The data were cleaned and harmonized to make cross-country comparison possible. In the final dashboard, the visual story relies on a common set of normalized or comparable indicators, while preserving the original country-year structure.
79+
80+
## Main Visual Modules
81+
82+
The final page follows a top-to-bottom narrative with four core modules:
83+
84+
1. Geographic Overview: a choropleth world map that classifies countries by BRI participation, with a linked radar profile for the selected country.
85+
2. Time Trends Across Countries: a line chart comparing aggregated BRI, non-BRI, and China series, with reference markers for 2013 and 2019.
86+
3. Development Snapshot: a scatterplot showing country-level heterogeneity for a chosen year, with GDP per capita and internet usage as the main axes.
87+
4. Change Since the BRI Launch: a horizontal bar chart summarizing regional change between 2013 and a selected end year.
88+
89+
## Notes For Maintainers
90+
91+
- Keep the live site structure aligned with [index.html](index.html) and the scripts in [js/](js) if you add or remove sections.
92+
- If you update the datasets, keep the column names compatible with the parsing code in [js/vis.js](js/vis.js).
93+
- The map and charts depend on the files in [data/](data), so renaming or moving them requires updating the paths in the JavaScript code.
94+
95+
## License And Attribution
96+
97+
The dashboard is part of the COM-480 data visualization project. The visualization and data processing were created for academic presentation and evaluation purposes. Please retain attribution to the project when reusing the material.

0 commit comments

Comments
 (0)