You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Originally developed in 2021, this application has been **modernized in 2025** to showcase contemporary web development practices while maintaining its core vanilla JavaScript foundation. The app visualizes global population data through interactive charts, allowing users to explore demographic trends for any country using World Bank data.
3
+
A vanilla JavaScript application that visualizes global population data through interactive charts, using World Bank API data. Zero framework dependencies — only Chart.js for visualization.
4
+
5
+
Originally developed in 2021, modernized in 2024–2026 with portfolio-synced design, accessibility support, and responsive layout.
4
6
5
7
## Features
6
8
7
-
-**Country Code Input**: Enter any three-letter country code (ISO 3166-1 alpha-3)
8
-
-**Comprehensive Indicators**: Choose from 34 demographic indicators including:
9
-
- Population totals and growth rates
10
-
- Age distribution and dependency ratios
11
-
- Birth and death rates, fertility rates
12
-
- Life expectancy and mortality rates
13
-
- Urban and rural population data
14
-
- Population density and survival rates
15
-
-**Interactive Charts**: Beautiful, responsive charts powered by Chart.js with custom styling
16
-
-**Accessibility First**: WCAG 2.1 AA compliant with screen reader support and keyboard navigation
17
-
-**Responsive Design**: Optimized for all devices from mobile to desktop
18
-
-**Modern UI**: Clean, professional design with a cohesive pink color palette
19
-
-**Real-time Data**: Fetches latest demographic data from the World Bank API
9
+
-**Country Code Input** — enter any three-letter ISO 3166-1 alpha-3 code
10
+
-**34 Demographic Indicators** — population totals, growth rates, age distribution, dependency ratios, birth/death rates, fertility, life expectancy, mortality, urban/rural data, density, survival rates
11
+
-**Interactive Charts** — responsive bar charts powered by Chart.js with custom portfolio-themed colors
12
+
-**Input Validation** — 3-letter code validation with error feedback
13
+
-**Loading States** — button state changes during API fetch
-**Google Fonts (Inter)** — consistent typography across portfolio
23
+
-**Chart.js 4.5.0** — interactive data visualization
24
+
-**World Bank API** — real-time demographic data
25
+
-**Zero Framework Dependencies** — no Bootstrap, no npm packages
26
+
27
+
## Getting Started
28
+
29
+
1. Open `index.html` in any modern web browser
30
+
2. Enter a valid three-letter country code (e.g., `JPN`, `USA`, `FIN`)
31
+
3. Select a population indicator from the dropdown
32
+
4. Click "Generate Chart" or press Enter
29
33
30
-
## Quick Start
34
+
## Project Structure
31
35
32
-
1.**Enter Country Code**: Input a valid three-letter country code (e.g., `JPN`, `USA`, `FIN`)
33
-
2.**Select Indicator**: Choose from population metrics in the dropdown
34
-
3.**Generate Chart**: Click "Generate Chart" or press Enter
35
-
4.**Explore Data**: View interactive charts with hover details and responsive design
36
+
```
37
+
├── index.html # Main HTML document
38
+
├── styles.css # All styles with CSS custom properties
39
+
├── app.js # API integration, chart rendering, validation
40
+
├── copyright.js # Dynamic footer copyright year
41
+
├── LICENSE # CC BY-NC-SA 4.0
42
+
└── README.md
43
+
```
36
44
37
-
## 2025 Modernization Updates
45
+
## Browser Support
38
46
39
-
- Enhanced error handling and input validation
40
-
- Improved accessibility with ARIA labels and keyboard navigation
41
-
- Modern responsive design with CSS Grid and Flexbox
42
-
- Loading states and user feedback improvements
43
-
- Security enhancements (noopener, noreferrer)
44
-
- Professional color scheme and typography
45
-
- Performance optimizations and code refactoring
47
+
- Chrome 88+
48
+
- Firefox 85+
49
+
- Safari 14+
50
+
- Edge 88+
51
+
- Mobile: iOS Safari, Chrome Mobile, Samsung Internet
46
52
47
53
## License
48
54
49
55
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the [LICENSE](LICENSE) file for details.
50
56
51
57
---
52
58
53
-
**Created with love by [yumeangelica](https://yumeangelica.github.io) | 2021-2025**
59
+
**Created with love by [yumeangelica](https://yumeangelica.github.io) | 2021–2026**
<title>Global Population Charts - Interactive Data Visualization Tool</title>
8
8
<metaname="description"
9
-
content="Create interactive population charts for any country using World Bank data. Beautiful, modern data visualization tool with accessibility features.">
10
-
<metaname="keywords" content="population charts, data visualization, world bank data, interactive charts, country statistics">
9
+
content="Create interactive population charts for any country using World Bank data. Modern data visualization tool with accessibility features.">
0 commit comments