Sobre o projeto
Smart-analytics é um sistema de análise web auto-hospedado, minimalista e focado em privacidade, derivado do tiny-analytics 0.1.3, com destaque para suporte a multi-sites e multi-tenants: uma única conta pode gerenciar vários sites, cada um com seu próprio script de rastreamento e isolamento total de dados.
A stack tecnológica é Python FastAPI + SQLite (single database, multi-tenant), rodando em processo único, sem dependência de serviços externos ou banco de dados adicional. O funcionamento básico: quando um visitante carrega a página, o script de rastreamento envia uma requisição POST ao servidor; este gera um identificador anônimo de visitante através do hash de "siteID:IP:UA", sem armazenar o IP original; ao sair da página, um beacon reporta a duração da visita; o painel consolida e visualiza os dados por site.
Recursos principais:
- Foco em privacidade: sem Cookies, sem localStorage, sem fingerprinting — sem rastreamento cross-site
- Multi-site/multi-tenant: token independente por site, dados completamente isolados; suporte a múltiplos usuários e membros por站点
- Sistema de contas: registro e login por e-mail e senha, interface web para gerenciamento de sites e membros
- GeoIP offline: baseado na biblioteca DB-IP, fornece dados geográficos em nível de país/província/cidade, sem APIs de terceiros
- Filtragem de bots: identifica e separa automaticamente tráfego de robôs
- Módulo de IPs frequentes: detecta IPs com alta frequência de acesso e exibe localização geográfica
- Duração na página: registra o tempo real de interação
- Distribuição geográfica e de dispositivos: estatísticas de origem dos visitantes e tipos de dispositivos utilizados
- Páginas populares e fontes de tráfego: ranking das Top páginas, domínios de proveniência e palavras-chave de busca
- Distribuição horária: padrão de tráfego por 24 horas / por semana
- Comparação interperiodo: variação de visitantes únicos, visualizações e tempo médio de permanência
- Online em tempo real: contagem de pessoas online nos últimos 5 minutos, com auto-refresh no dashboard
- Novos vs. recorrentes: distinção com base no identificador anônimo
- Rastreamento UTM: estatísticas por dimensão de origem/meio/campanha
- Análise de sessões: taxa de rejeição, duração média da sessão, página de entrada/saída (valores estimados)
- Distribuição de navegador/sistema operacional: análise grosseira via User-Agent
- Faixa horária flexível: opções de 1h, 2h, 24h, 7 dias, 30 dias; intervalo de agregação selecionável em 1/5/15 minutos ou 1 hora
- Interface dark mode
Configuração via variáveis de ambiente: SMART_ANALYTICS_PASSWORD (senha do admin), SMART_ANALYTICS_SECRET_KEY (chave de assinatura de sessão), SMART_ANALYTICS_ALLOWED_ORIGINS (restrição de domínio CORS), SMART_ANALYTICS_DB_PATH (caminho do banco de dados), entre outras.
Deploy: script de configuração automática em deploy/linux/setup.sh, com suporte a serviço systemd, proxy reverso nginx e origins Cloudflare (com leitura automática de cabeçalhos cf-connecting-ip, etc.). Também pode ser executado com uma linha via uvx ou construído a partir do código fonte.
Licença: MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.