a tracker dashboard for all scientific publication outputs of Africa CDC,by authors, date of publication, journal name, title of the article, and division (business unit).
# Africa CDC Publications Tracker (Shiny)
A Shiny web app that fetches and visualizes **Africa CDC–affiliated** publications from PubMed. It features a polished UI, background (non-blocking) refresh, skeleton placeholders on first load, and clean charts with counts shown **inside** bars only.
---
## Table of Contents
- Features
- Screens
- Tech Stack
- Folder Structure
- Requirements
- Quick Start (Local)
- Configuration
- NCBI API Key (optional)
- Batch Size / Limits
- Deploy to shinyapps.io (Manual)
- CI/CD: Auto-deploy from GitHub (Optional)
- 1) Create shinyapps.io Token/Secret
- 2) Add GitHub Repo Secrets
- 3) Add GitHub Actions Workflow
- Troubleshooting
- Repo Checklist
- License
- Acknowledgements
---
## Features
- **Fast UX & Resilience**
- Background refresh using `promises` + `future::multisession` (UI never blocks)
- First-load **skeleton placeholders** so the page never looks empty
- Overlay **spinner card** during manual refresh (site remains usable)
- **Clean Visuals**
- Counts displayed **inside bars only**, with hover tooltips (no duplicated labels)
- Adaptive left margin & height so **long author names** fit on the y-axis
- Consistent **Africa CDC** color palette and polished CSS
- **Better Author Handling**
- Strips stray “Author/Authors” tokens
- Case-insensitive de-duplication for unique author counts
- **Robust PubMed Fetching**
- Uses `rentrez` with `use_history = TRUE` and batching
- PubMed query:
```text
(Africa Centres for Disease Control[Affiliation] AND Prevention[Affiliation]) OR (Africa CDC[Affiliation])
```
---
## Screens
- **Dashboard**: KPIs, publications over time (bars + trend line), top journals, top authors
- **Author Explorer**: author picker, yearly trend, top journals, and a publications table
- **Publications Table**: searchable/exportable DT table with PubMed/DOI links
---
## Tech Stack
- R / **Shiny**
- **dplyr**, **stringr**, **lubridate**
- **plotly** (charts), **DT** (tables)
- **rentrez** (PubMed API)
- …