Volver a SongSpot Music Quiz

Cómo está hecha SongSpot Music Quiz

SongSpot es un quiz musical: escuchas un fragmento minúsculo y adivinas el tema. Si fallas o pasas, el fragmento crece: 0,5, 1, 3, 8 y 15 segundos. Incluye un catálogo de más de 700 éxitos que crece cada semana, un Reto Diario global, retos entre amigos por enlace y rankings por género, sobre un backend serverless en Firebase.

Versión
1.22
Requiere iOS
iOS 18.6
Tamaño
20.5 MB
Categoría
Música
Primer lanzamiento
2026

Arquitectura

Un cliente SwiftUI + MVVM con un backend en TypeScript sobre Firebase. La app reproduce previews de 30 segundos con AVPlayer y recorta las ventanas del fragmento en el cliente; el backend cura el catálogo y gestiona la parte competitiva.

  1. Cliente iOS

    Vistas SwiftUI y view models, con una veintena de servicios especializados (reproductor, catálogo, reto diario, ranking, escudos de racha, tienda, notificaciones). String Catalogs para EN/ES.

  2. Cloud Functions (TypeScript)

    Expansión y resolución del catálogo, descubrimiento de candidatas con Last.fm, generación del reto diario, rotación semanal de género, rankings, nombres de usuario, validación de compras y mantenimiento semanal.

  3. Datos y autenticación

    Cloud Firestore con reglas de seguridad e índices; Firebase Auth con Apple y Google; App Check para proteger el backend.

  4. Web

    Páginas estáticas para los enlaces de reto, soporte, privacidad y términos, desplegadas junto al backend.

Stack

Lenguajes

13.460líneas de código · 109 archivos fuente
Swift 62.7%TypeScript 15.8%HTML 14.6%JavaScript 5.2%Python 1.6%

Build

UI
SwiftUI-first (with UIKit interop)
Swift
5.0
Versión mínima
iOS 18.6

Frameworks de Apple

Interfaz

SwiftUIUIKit

Integración con el sistema

UserNotifications

Estado y concurrencia

Combine

Multimedia

AVFoundation

Compras

StoreKit

Seguridad

CryptoKitAuthenticationServices

Targets

App
songspot

Dependencias

PackageVersionSource
abseil-cpp-binary1.2024072200.0SPM
app-check11.3.1SPM
appauth-ios3.0.0SPM
firebase-ios-sdk12.19.1SPM
google-ads-on-device-conversion-ios-sdk3.7.0SPM
googleappmeasurement12.19.0SPM
googledatatransport10.1.1SPM
googlesignin-ios10.0.0SPM
googleutilities8.1.3SPM
grpc-binary1.69.1SPM
gtm-session-fetcher5.3.1SPM
gtmappauth6.0.0SPM
interop-ios-for-google-sdks101.0.0SPM
leveldb1.22.5SPM
nanopb2.30910.1SPM
promises2.4.1SPM

Patrones

ObservableObject / Combine bindingsSwift Concurrency (async/await)@MainActor isolationMVVMNavigationStack#Preview macrosString CatalogsCodable modelsGCD

Capacidades

Sign in with AppleAssociated domains / Universal linksApp Groups

Backend y servicios

FirebaseCloud FirestoreCloud Functions (Node.js)

Herramientas

GitHub ActionsSwift Package Manager

Stack detectado automáticamente del repositorio el 27 oct 2026.

Retos técnicos

Audio sin API de licencias musicales

Los fragmentos salen de previews públicas de 30 segundos resueltas en un catálogo curado, así el juego no necesita login en ningún servicio de streaming.

Lógica de juego serverless

Funciones programadas publican el Reto Diario y rotan el género semanal para todos los jugadores a la vez.

Compartir sin servidor

Los retos entre amigos son deep links autocontenidos; el backend solo se usa para los rankings.

Descárgala en la App StoreVolver a SongSpot Music Quiz