Recommender

marola.Recommender
object Recommender

Answers "what's the best hour tomorrow to swim nearby?": find beaches near origin, fetch each one's forecast, score every hour that falls on tomorrow in that beach's own local timezone, and return every (beach, hour) ranked best-first.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def bestHoursTomorrow(origin: Coordinates, radiusKm: Double = ..., beachLimit: Int = ..., waterQuality: Option[WaterQualityClient] = ..., today: ZoneId => LocalDate = ..., accessibility: Option[AccessibilityClient] = ...): List[BestHour] < Sync
def bestPerBeachTomorrow(origin: Coordinates, radiusKm: Double = ..., beachLimit: Int = ..., waterQuality: Option[WaterQualityClient] = ..., today: ZoneId => LocalDate = ..., accessibility: Option[AccessibilityClient] = ...): List[BestHour] < Sync

One row per nearby beach (its single best hour tomorrow), ranked best-first — this is the "conditions for each of them" view Main prints.

One row per nearby beach (its single best hour tomorrow), ranked best-first — this is the "conditions for each of them" view Main prints.

Attributes

def scoreDays(origin: Coordinates, radiusKm: Double = ..., beachLimit: Int = ..., waterQuality: Option[WaterQualityClient] = ..., today: ZoneId => LocalDate = ..., days: Int = ..., accessibility: Option[AccessibilityClient] = ...): List[BestHour] < Sync

MIP-0005: every scored (beach, hour) for days consecutive days starting today — index 0 is today, 1 tomorrow — from one forecast fetch per beach (the site builder needs both days; calling bestHoursTomorrow twice would double the Open-Meteo calls).

MIP-0005: every scored (beach, hour) for days consecutive days starting today — index 0 is today, 1 tomorrow — from one forecast fetch per beach (the site builder needs both days; calling bestHoursTomorrow twice would double the Open-Meteo calls).

Attributes