# Nigeria Economic Pulse
Interactive economic data dashboard for Nigeria, built with D3.js and Next.js.
## Data Sources
| Source | Access Method | Coverage | Update Frequency |
|--------|--------------|----------|-----------------|
| **World Bank API** | REST API (no key) | GDP, inflation, exchange rate, unemployment, trade balance, oil rents | ~Annual (lags 1-2 years) |
| **NBS (static)** | Curated JSON snapshots | GDP by sector, state-level GDP contribution, poverty rates | Manual (from NBS reports) |
| **CBN (static)** | Curated JSON snapshots | Supplementary data if needed | Manual (from CBN bulletins) |
| **geoBoundaries** | Downloaded GeoJSON | Nigeria state polygons (36 + FCT) | Static (boundaries stable) |
### Important Data Caveats
- **World Bank data typically lags 1-2 years.** The most recent data point may be from 2023 or 2024, not the current year. The dashboard displays the actual period for each metric.
- **State-level GDP figures are estimates.** Nigeria does not publish official state GDP annually. The figures in `static-datasets.ts` are compiled from various NBS publications and should be treated as indicative.
- **Poverty data is from the 2022 NBS survey.** Methodology and coverage vary between surveys.
- **Static data must be manually updated** when NBS/CBN publish new reports. Check `snapshotDate` in each dataset.
## Setup
```bash
# Install dependencies
npm install
# Download GeoJSON (runs automatically via postinstall, or manually):
npm run setup:geo
# Start dev server
npm run dev
```
## Architecture
```
src/
├── app/
│ └── api/
│ ├── indicators/route.ts # World Bank proxy + normalization
│ └── geo/route.ts # GeoJSON server
├── lib/
│ ├── world-bank.ts # World Bank API client
│ ├── data-fetcher.ts # Unified data layer (source priority)
│ └── d3-theme.ts # Shared D3 visual constants
├── data/
│ └── static-datasets.ts # NBS/CBN curated snapshots
├── types/
│ …