Sobre o projeto
Visão Geral
O Rybbit Mobile é um aplicativo Flutter mantido pela comunidade que se conecta a um servidor de análises Rybbit. Ele oferece uma experiência nativa móvel para visualizar dados de análise web com foco em privacidade e desenvolvimento de código aberto.
Capturas de tela
O aplicativo inclui telas para visão geral do painel, gráficos analíticos, listas de sessões, configurações do site e muito mais. Capturas adicionais mostram mapas de países, listas de páginas e visualizações detalhadas de sessões.
Recursos
- Painel com contagem de visitantes em tempo real, filtragem por organização e seletor de intervalo de tempo.
- Gráficos de série temporal para usuários, sessões, visualizações de página, taxa de rejeição, duração e mais.
- Métricas detalhadas: páginas principais, referentes, países (com bandeiras), dispositivos, navegadores, sistema operacional.
- Monitoramento de Core Web Vitals (LCP, CLS, FCP, TTFB, INP) com classificações coloridas e gráficos de tendências.
- Visão geral de eventos personalizados, divisões por propriedade e rastreamento de links externos.
- Criação de metas (baseadas em caminho e evento) e visualização de funil com taxas de conversão.
- Lista de sessões com bandeira do país, informações do navegador, página de entrada; detalhe da sessão mostra linha do tempo completa de eventos e reprodução.
- Rastreamento de erros JavaScript com contagens de ocorrência e sessões afetadas.
- Configuração do site (alternância de rastreamento, IPs/países excluídos) e gerenciamento de membros da organização.
- Configurações para tema escuro/claro/auto, seleção de idioma (11 idiomas), URL do servidor e método de autenticação.
Idiomas Compatíveis
Inglês (en), japonês (ja), tcheco (cs), coreano (ko), alemão (de), polonês (pl), espanhol (es), português (pt), francês (fr), chinês (zh), italiano (it).
Primeiros Passos
Pré-requisitos
- Flutter SDK 3.38+.
- Android SDK (API 21+) ou Xcode para iOS (12+).
- Acesso a uma instância Rybbit em execução.
Configuração
1. Clone o repositório.
2. Execute `flutter pub get` para instalar dependências.
3. Gere o código com `flutter pub run build_runner build --delete-conflicting-outputs`.
4. Gere os arquivos de localização usando `flutter gen-l10n`.
5. Copie `.env.example` para `.env` e preencha as variáveis necessárias.
6. Execute o aplicativo com `flutter run --dart-define-from-file=.env` ou construa um APK/IPA da mesma forma.
Autenticação
Dois métodos são suportados: login com e-mail + senha e autenticação por chave de API. Insira a URL do servidor Rybbit e as credenciais na tela de login.
Pilha Tecnológica
- Framework: Flutter 3.38+ / Dart 3.10+
- Gerenciamento de Estado: Riverpod
- Roteamento: go_router
- Cliente HTTP: Dio com tratamento de cookies
- Armazenamento Local: Hive e Flutter Secure Storage
- Gráficos: fl_chart
- Serialização: Freezed + json_serializable
- Localização: Flutter gen-l10n (arquivos ARB)
- Rastreamento Opcional de Erros: Sentry (configurado via `SENTRY_DSN`)
Arquitetura
O projeto segue um layout modular com foco em funcionalidades:
lib/
core/ // configuração, rede, roteamento, tema, armazenamento, Sentry
features/ // cada funcionalidade de análise (painel, sessões, desempenho, etc.)
l10n/ // arquivos ARB de tradução
shared/ // modelos comuns, utilitários, widgets reutilizáveis
Cada funcionalidade é organizada em camadas de dados (API), aplicação (estado) e apresentação (UI).
Comandos de Desenvolvimento
- Depuração: `flutter run --dart-define-from-file=.env`
- Construir APK: `flutter build apk --debug|--release --dart-define-from-file=.env`
- Geração de código: `flutter pub run build_runner build --delete-conflicting-outputs`
- Regenerar traduções: `flutter gen-l10n`
- Análise: `flutter analyze`
- Testes: `flutter test`
Adicionar Novo Idioma
Crie um novo arquivo ARB baseado em `app_en.arb`, traduza todas as chaves, adicione o código de localidade à lista de idiomas compatíveis no ponto de entrada do aplicativo e execute `flutter gen-l10n`.
Compatibilidade
- Android: API 21 (Lollipop) e superior.
- iOS: versão 12.0 e superior.
- Backend: compatível com Rybbit v1.0 ou posterior.
Contribuições
Contribuições são bem-vindas. Faça um fork do repositório, crie uma branch de funcionalidade, commite as mudanças, faça push e abra um pull request. Siga o estilo de código existente e execute testes antes de enviar.
Licença
Este é um projeto comunitário não oficial. A plataforma subjacente Rybbit é desenvolvida pela organização rybbit-io. O aplicativo é lançado sob a mesma licença do repositório (veja o arquivo LICENSE).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.