Compare commits
2 Commits
2fe1d60e23
...
feature/ci
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a739fb4162 | ||
|
|
4a83019f40 |
18
CHANGELOG.md
18
CHANGELOG.md
@@ -1,18 +0,0 @@
|
||||
# Changelog — PluriWave
|
||||
|
||||
## [0.2.0] — 2026-04-04
|
||||
|
||||
### Añadido
|
||||
- **CI/CD Gitea Actions** — workflow `.gitea/workflows/ci.yml` para el runner `macmini-flutter`. Jobs en secuencia: `flutter pub get` → `flutter test` → `flutter build apk --release` → `flutter build appbundle --release`. APK y AAB subidos como artifacts con el SHA del commit en el nombre (`pluriwave-apk-<sha>`, `pluriwave-aab-<sha>`). Notificación Telegram al finalizar: ✅ éxito con commit y rama, ❌ fallo con enlace al log. Activado en push a `main` y PRs contra `main`.
|
||||
- **`ARQ-REVISION-F1.md`** — revisión de arquitectura del stack Flutter. Veredicto: aprobado. Sin conflictos de dependencias (`audio_session` compartido entre `just_audio` y `audio_service` sin colisión; `rxdart` sin conflicto). Todas las licencias OSI-approved (MIT, Apache-2.0, BSD). Ajustes pendientes: actualizar `just_audio` a ^0.10.0 con Flutter ≥3.27.0, signing real para Play Store, `google_mobile_ads` comentado hasta tener Ad Unit IDs.
|
||||
|
||||
### Notas técnicas
|
||||
- **Signing**: `build.gradle.kts` usa clave debug para release (TODO preexistente). Válido para CI interno y testing. Play Store requiere keystore como secret en Gitea.
|
||||
- **Secrets necesarios**: `TELEGRAM_BOT_TOKEN` y `TELEGRAM_CHAT_ID` (Settings → Secrets del repo en Gitea).
|
||||
|
||||
### Ficheros añadidos
|
||||
| Fichero | Descripción |
|
||||
|---|---|
|
||||
| `.gitea/workflows/ci.yml` | Workflow CI/CD Flutter completo (+66 líneas) |
|
||||
| `ARQ-REVISION-F1.md` | Revisión arquitectura F1 — stack, licencias, ajustes (+143 líneas) |
|
||||
|
||||
39
README.md
39
README.md
@@ -1,17 +1,17 @@
|
||||
# PluriWave
|
||||
# 📻 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
|
||||
- 🌍 **+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** — accede rápido a tus emisoras preferidas
|
||||
- 📤 **Compartir** — envía emisoras a tus amigos
|
||||
- 🎨 **UI premium** — Material You, visualizador de audio, animaciones fluidas
|
||||
|
||||
## Monetización
|
||||
|
||||
@@ -22,31 +22,13 @@ Radio mundial con ecualizador personalizable, reconocimiento de canciones y UI p
|
||||
## Stack
|
||||
|
||||
- **Frontend**: Flutter (Android + iOS)
|
||||
- **Radio API**: Radio Browser (gratis, +53K emisoras)
|
||||
- **Radio API**: [Radio Browser](https://api.radio-browser.info/) (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)
|
||||
@@ -54,4 +36,3 @@ FreeTimeLab — [freetimelab.es](https://freetimelab.es)
|
||||
## Licencia
|
||||
|
||||
MIT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user