Volver a PokeCard

Cómo está hecha PokeCard

PokeCard valora una colección de cartas coleccionables carta a carta, con el coste de compra junto a referencias de mercado fechadas. Su motor de precios no adivina: una carta solo recibe valor si coinciden fuente, edición, moneda y fecha; si no, queda sin precio.

Versión
1.2.1
Requiere iOS
iOS 17.0
Tamaño
8.4 MB
Categoría
Referencia
Primer lanzamiento
2026

Arquitectura

Una app SwiftUI sobre un paquete Swift local con la lógica de precios, búsqueda e histórico. Sin backend ni dependencias de terceros: el catálogo y los precios llegan directamente de una API pública de cartas.

  1. App SwiftUI

    Diseños adaptados a iPhone y iPad, estado con Observation, Swift Charts para el histórico de precios y de cartera, y StoreKit 2 para la suscripción Plus.

  2. Paquete Core

    Modelos, análisis de búsquedas, reglas de valoración e histórico de cartera viven en un paquete Swift aparte, probado sin la interfaz.

  3. Servicio de mercado

    Un actor que comparte peticiones idénticas, limita a tres en curso, reintenta una vez ante límites de uso y cachea búsquedas 24 h y fichas 4 h.

  4. Caché de imágenes

    Otro actor descarga el arte con un máximo de cuatro peticiones, reduce la resolución fuera del hilo principal y acota memoria y disco.

  5. Persistencia local

    Las escrituras se agrupan y codifican en su propio actor, se rechazan revisiones antiguas y un archivo dañado bloquea el guardado automático en lugar de sobrescribirse.

Stack

Lenguajes

4360líneas de código · 49 archivos fuente
Swift 79.8%Python 13.1%HTML 6.6%

Build

UI
SwiftUI-first (with UIKit interop)
Swift
5.0
Versión mínima
iOS 17.0
Tests
64 casos de test

Frameworks de Apple

Interfaz

SwiftUIUIKitCharts

Estado y concurrencia

Observation

Compras

StoreKit

Seguridad

CryptoKit

Gráficos

CoreGraphics

Swift packages locales

CardfolioCore

Targets

App
Cardfolio

Dependencias

Sin dependencias de terceros: solo SDKs de Apple.

Patrones

Observation (@Observable)Swift Concurrency (async/await)Actors@MainActor isolationNavigationStackXCTestURLSession networkingCodable modelsGCD

Herramientas

Swift Package ManagerPrivacy manifest

Stack detectado automáticamente del repositorio el 6 nov 2026.

Retos técnicos

Precios que nunca adivinan

Primero el valor manual; después, cotizaciones automáticas solo si coinciden identidad, edición, moneda y vigencia (48 h). Sin conversión de divisa implícita; el resto queda sin precio.

Colecciones de más de 2.000 cartas

Búsquedas indexadas, fusiones por lotes y resúmenes calculados fuera del hilo principal mantienen fluidas las carpetas grandes, con páginas de 50 posiciones.

Migración de datos segura

La actualización de datos v1 → v2 conserva cada posición, coste y nota, y guarda los archivos originales antes de tocar nada.

Histórico legible

Las gráficas reducen series largas a un máximo de 600 puntos conservando máximos y mínimos, y nunca inventan días sin observación.

Descárgala en la App StoreVolver a PokeCard