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.