Service Layer medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Encapsulates the business logic for accessing and organizing the talking card deck. It retrieves card data from the repository, applies thematic grouping and ordering, and exposes a clean API to the UI screens. Acts as the single access point so screens are decoupled from persistence details.

Feature: Talking Cards Toolbox

talking-cards-service

Sources & reasoning

Source matrix (line 159) marks Snakkekort as NICE priority in Phase 3, confirmed in the Fase 3 action list (line 359). Phase 3 is the third development phase, mapping to v1.1. All five organizations checked it, giving it broad cross-tenant relevance despite the lower priority. Included as could_have because the source explicitly defers it to growth/engagement phase.

Responsibilities

  • Fetch the full card collection from the repository
  • Group and sort cards by theme for display
  • Retrieve a single card by ID for the detail view
  • Provide adjacent card IDs to support sequential navigation

Interfaces

getAllCards(): Promise<TalkingCard[]>
getCardById(cardId: string): Promise<TalkingCard>
getCardsByTheme(theme: string): Promise<TalkingCard[]>
getAdjacentCardIds(cardId: string): { prev: string | null; next: string | null }