A research tool that lets you explore, compare, and track African countries β their economic indicators, geographic data, demographics, and regional groupings.
# AfriPulse π
A research and comparison intelligence dashboard covering all 59 African countries.
Built as a production-grade Vue 3 application mirroring the architecture of real-world
African economic data platforms.
π **Live Demo:**
afripulse-eight.vercel.app
---
## Overview
AfriPulse gives researchers, analysts, and curious minds a fast, clean interface to
explore African countries by geography, population, languages, currencies, regional
blocs, and economic indicators. It is not a tutorial project β it is a shippable
portfolio product built with the same tools and patterns used in production Vue 3 teams.
---
## Features
### β
Live (Week 1)
- Country listing for all 54 African nations sourced from the REST Countries API
- Live search with reactive filtering by country name
- Subregion sidebar navigation with active state highlighting
- Pinia store managing global state β selected region, search query, filtered results
- Country detail page with full metadata β flag, capital, population, languages, currencies
- Vue Router 4 navigation with dynamic route segments
- Full TypeScript interfaces across components, stores, and API responses
- Tailwind CSS throughout β dark mode, responsive grid, utility-first styling
### π§ In Progress (Week 2)
- Multi-country comparison tool
- 10-year GDP time-series charts via World Bank Indicators API (Chart.js)
- Pinia-persisted favourites and watchlist
- Suspense + async components for deferred data loading
- Responsive grid and dark mode refinements
### π
Planned (Weeks 3β4)
- Cmd+K command palette (Teleport + provide/inject)
- Reactive SVG choropleth map of Africa
- Virtualised list with v-memo and IntersectionObserver
- Vitest unit tests for composables and stores
- EN/FR internationalisation with vue-i18n
- PWA support via vite-plugin-pwa
---
## Tech Stack
| Layer | Technology |
| ---------------- | ----------------------- |
| Framework | Vue 3 (Composition API) |
| Language β¦