Skip to content

feat(contests): Enhance contest data by scraping WA7BNM details page #186

@arunderwood

Description

@arunderwood

Summary

The current iCal feed from WA7BNM only provides basic contest info. Enhance contest data by scraping additional details from the contest details page URL and caching the results.

Status

On Hold - Persistence layer MVP is complete, but a decision is needed on whether to scrape data to the persistence layer before implementation proceeds.

TODOs from Code

Location: src/main/java/io/nextskip/contests/internal/ContestServiceImpl.java:85-89

  • Scrape bands from contest details page
  • Scrape modes from contest details page
  • Scrape sponsor from contest details page
  • Scrape official rules URL from contest details page

Additional Data Points (from #196)

  • Extract exchange info for contest
  • Extract multiplier details for contest

Implementation Notes

  • Each ContestICalDto includes a detailsUrl pointing to the contest page
  • Use JSoup or similar to parse HTML and extract structured data
  • Cache scraped data to avoid hammering the WA7BNM server
  • Consider persisting to database for richer offline experience

Acceptance Criteria

  • Contest cards display bands (e.g., "160m-10m")
  • Contest cards display modes (e.g., "CW, SSB")
  • Contest cards display sponsor (e.g., "ARRL")
  • Contest detail view shows official rules link
  • Scraped data is cached appropriately

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions