Skip to content

Implement Publication Data Sync & Relationship Matching System #25

@TKanX

Description

@TKanX

Description:

Build an automated publication data synchronization system that fetches citation counts and keywords from OpenAlex/CrossRef APIs and rebuilds relationships between publications, members, and research areas using multi-signal matching algorithms. Provide a real-time admin interface with Server-Sent Events for monitoring sync progress and control over three sync modes (metadata-only, relationships-only, full sync).

Tasks:

  • Implement DOI-based metadata sync from OpenAlex/CrossRef with citation counts and keywords
  • Create Publication↔Member matcher (ORCID, full name, alias, fuzzy last-name+initial)
  • Create Publication↔ResearchArea matcher (forward-only keyword intersection, excluding abstract)
  • Build sync engine with state machine, progress callbacks, and global lock
  • Add SSE API endpoint (/api/admin/sync) for real-time progress streaming
  • Create sync dashboard with operation cards, live progress panel, and statistics
  • Add admin navigation entry and integrate with existing dashboard patterns
  • Fix matching algorithm bugs (remove reverse substring, exclude abstract noise)
  • Implement proper error handling and form validation across all components

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions