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).