Sobre el proyecto
Visión general
Rybbit Mobile es una aplicación Flutter mantenida por la comunidad que se conecta a un servidor de analítica Rybbit. Proporciona una experiencia móvil nativa para visualizar datos de analítica web con un enfoque en la privacidad y el desarrollo de código abierto.
Capturas de pantalla
La aplicación incluye pantallas para la visión general del panel, gráficos de analítica, listas de sesiones, configuración del sitio y más. Otras capturas muestran mapas de países, listas de páginas y vistas detalladas de sesiones.
Características
- Panel con recuentos de visitantes en tiempo real, filtrado por organización y selector de rango de tiempo.
- Gráficos de series temporales para usuarios, sesiones, vistas de página, tasa de rebote, duración y más.
- Métricas detalladas: páginas principales, referentes, países (con banderas), dispositivos, navegadores, SO.
- Monitoreo de Core Web Vitals (LCP, CLS, FCP, TTFB, INP) con calificaciones codificadas por colores y gráficos de tendencia.
- Visión general de eventos personalizados, desgloses por propiedad y seguimiento de enlaces salientes.
- Creación de objetivos (basados en ruta y en eventos) y visualización de embudos con tasas de conversión.
- Lista de sesiones con bandera del país, información del navegador, página de entrada; detalle de sesión muestra la línea de tiempo completa de eventos y reproducción.
- Seguimiento de errores JavaScript con recuentos de ocurrencias y sesiones afectadas.
- Configuración del sitio (alternar seguimiento, excluir IPs/países) y gestión de miembros de la organización.
- Ajustes de tema oscuro/claro/automático, selección de idioma (11 idiomas), URL del servidor y método de autenticación.
Idiomas compatibles
English (en), Japanese (ja), Czech (cs), Korean (ko), German (de), Polish (pl), Spanish (es), Portuguese (pt), French (fr), Chinese (zh), Italian (it).
Primeros pasos
Requisitos previos
- Flutter SDK 3.38+.
- Android SDK (API 21+) o Xcode para iOS (12+).
- Acceso a una instancia de Rybbit en funcionamiento.
Configuración
1. Clona el repositorio.
2. Ejecuta `flutter pub get` para instalar dependencias.
3. Genera código con `flutter pub run build_runner build --delete-conflicting-outputs`.
4. Genera los archivos de localización usando `flutter gen-l10n`.
5. Copia `.env.example` a `.env` y completa las variables requeridas.
6. Ejecuta la aplicación con `flutter run --dart-define-from-file=.env` o construye un APK/IPA de forma similar.
Autenticación
Se admiten dos métodos: inicio de sesión con correo + contraseña y autenticación mediante API‑key. Introduce la URL del servidor Rybbit y las credenciales en la pantalla de inicio de sesión.
Pila tecnológica
- Framework: Flutter 3.38+ / Dart 3.10+
- Gestión de estado: Riverpod
- Enrutamiento: go_router
- Cliente HTTP: Dio con manejo de cookies
- Almacenamiento local: Hive y Flutter Secure Storage
- Gráficos: fl_chart
- Serialización: Freezed + json_serializable
- Localización: Flutter gen‑l10n (archivos ARB)
- Seguimiento de errores opcional: Sentry (configurado vía `SENTRY_DSN`)
Arquitectura
El proyecto sigue una estructura modular orientada a funcionalidades:
lib/
core/ // configuración, red, enrutamiento, tema, almacenamiento, Sentry
features/ // cada funcionalidad de analítica (panel, sesiones, rendimiento, etc.)
l10n/ // archivos ARB de traducción
shared/ // modelos comunes, utilidades, widgets reutilizables
Cada funcionalidad está organizada en capas de datos (API), aplicación (estado) y presentación (UI).
Comandos de desarrollo
- Depuración: `flutter run --dart-define-from-file=.env`
- Construir APK: `flutter build apk --debug|--release --dart-define-from-file=.env`
- Generación de código: `flutter pub run build_runner build --delete-conflicting-outputs`
- Regenerar traducciones: `flutter gen-l10n`
- Análisis: `flutter analyze`
- Pruebas: `flutter test`
Añadir un nuevo idioma
Crea un nuevo archivo ARB basado en `app_en.arb`, traduce todas las claves, agrega el código de locale a la lista de locales soportados en el punto de entrada de la app y luego ejecuta `flutter gen-l10n`.
Compatibilidad
- Android: API 21 (Lollipop) y superiores.
- iOS: versión 12.0 y superiores.
- Backend: compatible con Rybbit v1.0 o posterior.
Contribuciones
Las contribuciones son bienvenidas. Haz fork del repositorio, crea una rama de característica, realiza commits, sube los cambios y abre un pull request. Sigue el estilo de código existente y ejecuta pruebas antes de enviar.
Licencia
Este es un proyecto comunitario no oficial. La plataforma subyacente Rybbit es desarrollada por la organización rybbit‑io. La aplicación se publica bajo la misma licencia que el repositorio (ver archivo LICENSE).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.