# PluriWave

Radio mundial con ecualizador personalizable, reconocimiento de canciones y UI premium.

## Features

- **+53.000 emisoras** de 238 países (Radio Browser API)
- **Ecualizador por emisora** — guarda tu preset favorito para cada radio
- **Reconocimiento de canciones** — "¿Qué suena?" sin salir de la app
- **Timer de auto-apagado** — perfecto para dormir
- **Reproducción en segundo plano** — sigue sonando con la pantalla apagada
- **Favoritos** — acceso rápido a emisoras preferidas
- **Compartir** — envía emisoras a tus amigos
- **UI premium** — Material You, visualizador de audio, animaciones fluidas

## Monetización

- **14 días PRO gratis** al instalar
- **Free**: radio + favoritos + timer + background (con ads)
- **PRO €2.99/año**: sin ads + ecualizador + reconocimiento ilimitado

## Stack

- **Frontend**: Flutter (Android + iOS)
- **Radio API**: Radio Browser (gratis, +53K emisoras)
- **Audio**: just_audio + audio_service
- **Ecualizador**: just_audio equalizer (Android nativo)
- **Reconocimiento**: AudD API (1000 req/mes free)
- **Ads**: Google AdMob
- **Compras**: in_app_purchase

## CI/CD

Workflow Gitea Actions en `.gitea/workflows/ci.yml`, runner `macmini-flutter`.

**Jobs:** `flutter pub get` → `flutter test` → `build apk --release` → `build appbundle --release`

**Artifacts:** APK y AAB guardados en Gitea con nombre `pluriwave-apk-<sha>` / `pluriwave-aab-<sha>`.

**Notificaciones:** Telegram al completar (éxito ✅ / fallo ❌).

**Secrets necesarios en el repo:**
| Secret | Uso |
|---|---|
| `TELEGRAM_BOT_TOKEN` | Notificaciones CI |
| `TELEGRAM_CHAT_ID` | Canal de destino |

> **Signing**: build de release usa clave debug (válido para CI interno). Para Play Store se requiere keystore como secret adicional.

## Desarrollador

FreeTimeLab — [freetimelab.es](https://freetimelab.es)

## Licencia

MIT

