Skip to content

Add Semantic Scholar or PubMed as source parsers #5

@akuligowski9

Description

@akuligowski9

Summary

Add new data source parsers for Semantic Scholar and/or PubMed to expand the range of available research feeds.

Context

The SourcePreviewer service supports 5 parser types via key-based dispatch in the fetch() method. Each parser is a private method that makes an HTTP request, parses the response, and returns normalized items (title, summary, url). Adding a new source means writing a new parser method and registering sources in config/sources.php.

Candidates

  • Semantic Scholar APIhttps://api.semanticscholar.org/graph/v1/paper/search (JSON, free, rate-limited)
  • PubMed E-utilitieshttps://eutils.ncbi.nlm.nih.gov/entrez/eutils/ (XML/JSON, free, rate-limited)

What to do

  1. Add a fetchSemanticScholar() or fetchPubMed() method to SourcePreviewer
  2. Add source entries to config/sources.php with appropriate disciplines
  3. Add Http::fake() canned responses in AppServiceProvider for Dusk isolation
  4. Add unit tests in SourcePreviewerTest (follow existing parser test pattern)
  5. Update source count in README if it changes

Reference

Look at fetchEuropePmc() as the closest pattern — both are JSON REST APIs with similar response structures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions