Skip to content

Repository files navigation

Saudi Retraction Explorer

An interactive web application for exploring and analyzing retracted academic papers from Saudi Arabian universities. Built with Next.js, SQLite, Leaflet, and Recharts.

Features

  • Dashboard — Key statistics on Saudi university retractions with charts
  • Interactive Map — Leaflet-based map with clustered markers for all Saudi universities
  • University Search — FTS5-powered autocomplete search across 48 Saudi universities
  • University Detail Pages — Per-university breakdown with:
    • Retraction reasons (pie chart)
    • Timeline (area chart)
    • Subject distribution
    • Top journals
    • Full retraction table with author names, department affiliations, and reason badges
  • Filtering — By reason category, date range, and sort order

Data Sources

  • Retraction Watch Database (via Crossref) — ~69,000 retracted papers worldwide
  • OpenAlex API — Institution geocoding and metadata enrichment
  • Crossref API — Funding/grant verification
  • University websites — Faculty position verification

Tech Stack

  • Next.js 14 (App Router, TypeScript)
  • SQLite via better-sqlite3 (self-contained, no external DB needed)
  • Leaflet.js via react-leaflet + react-leaflet-cluster
  • Recharts for charts
  • Tailwind CSS for styling

Getting Started

Prerequisites

  • Node.js 18+
  • The SQLite database file (data/retraction-explorer.db) — not included in the repo due to size

Setup

npm install

Database Setup

To build the database from scratch:

# 1. Initialize schema
npx tsx scripts/init-db.ts

# 2. Download Retraction Watch CSV
npx tsx scripts/download-csv.ts

# 3. Ingest CSV data
npx tsx scripts/ingest-csv.ts

# 4. Enrich with OpenAlex geocoding
npx tsx scripts/enrich-institutions.ts

# 5. Build university aggregation layer
node scripts/build-universities.js

# 6. Find and add any missing retractions
node scripts/add-missing-tabuk.js
node scripts/add-found-missing.js

Development

npm run dev

Open http://localhost:3000.

Project Structure

src/
  app/
    api/                    # API routes
      saudi/                # Dashboard stats
      search/               # University search
      map-data/             # Map markers
      universities/[id]/    # University detail + retractions
    search/                 # Search page
    map/                    # Map page
    university/[id]/        # University detail page
  components/
    Dashboard.tsx           # Main dashboard
    map/                    # Map components (RetractionMap, MapFilters, etc.)
    ui/                     # Shared UI (SearchBar, charts)
    university/             # UniversityRetractionTable
  lib/
    db.ts                   # SQLite connection
    queries/
      saudi.ts              # All Saudi-focused queries
      institutions.ts       # General institution queries
scripts/                    # Data ingestion and analysis scripts
data/                       # SQLite database (gitignored)

Saudi University Coverage

  • 48 universities mapped with name pattern matching
  • 2,200+ retractions linked to universities (81% coverage of Saudi retractions)
  • Remaining ~500 are from hospitals, government agencies, and non-university research centers

License

MIT

About

Interactive explorer for retracted academic papers from Saudi Arabian universities

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages