Skip to content

codegomes/kadence

Repository files navigation

🏃 Kadence — Encontre sua próxima corrida

Agregador de corridas de rua no Brasil.

Lê uma planilha pública (CSV) do Google Sheets e monta cards de eventos com busca e filtros (UF, cidade, mês e fonte), exibindo link direto de inscrição.


✨ Destaques

  • Fonte de dados única (CSV público): basta trocar a constante PLANILHA_CSV para apontar sua planilha.
      O carregamento usa fetch com { cache: 'no-store' } para evitar cache agressivo.

  • Busca e filtros inteligentes:   - Busca por título com normalização (acentos/maiúsculas)   - Estado (UF) e Cidade (habilita após escolher um estado)   - Mês (01–12) e Fonte (com nomes “bonitos”)

  • Endereços bagunçados? Sem crise: heurísticas extraem cidade e UF mesmo com endereços despadronizados (ex.: “Estádio X, Bairro Y — Araguari - MG”).

  • Link de inscrição confiável: seleção do “melhor link” entre várias colunas do CSV (URL válida, domínio reconhecido e termos como “inscrição/ingresso”).

  • Paginação incremental: 12 cards por página + botão “Carregar mais eventos”.

  • Contadores no topo: total de Eventos e de Fontes.


🖼️ Print do Projeto

Tela Inicial

Tela Inicial


🧠 Como funciona (pipeline)

  1. Carrega CSV da planilha pública → faz parsing robusto de linhas e colunas.
  2. Normaliza e enriquece:   - Datas (parse flexível + formatação pt-BR)
      - Cidade/UF (regras para “provar” que um trecho é cidade)
      - Fonte (normaliza domínio e aplica rótulos legíveis)
  3. Cria cards com título, data, local e botão INSCREVA-SE (target="_blank").
  4. Renderiza e pagina com “Carregar mais” e atualiza contadores/resultados.

📁 Estrutura

/ (raiz)

├─ index.html # Estrutura, filtros e containers dos cards/contadores
├─ script.js # Lógica de importação, parsing, filtros e renderização
├─ styles.css # Estilos (referenciado no index.html)
└─ imagens/ # Logotipos, prints e ícones (ex: inicio.png)


🧪 Rodando localmente

  1. Clone este repositório.
  2. Abra index.html em um servidor estático
      (exemplo: npx http-server ou extensão Live Server do VSCode).
  3. (Opcional) Troque a URL da constante PLANILHA_CSV para usar sua própria planilha.

⚙️ Configuração

  • Planilha: publique sua planilha como CSV e cole a URL na constante PLANILHA_CSV.
  • Filtros disponíveis: Estado, Cidade (só habilita após Estado), Mês e Fonte.
  • Campo de busca com normalização por nome de corrida.

🛣️ Roadmap (ideias futuras)

  • Salvar filtros na URL (deep-link)
  • Mapa com geocodificação opcional
  • Marcar favoritos com localStorage
  • PWA para instalação em mobile

🪪 Licença

MIT — use, modifique e contribua livremente.

Créditos técnicos: HTML sem framework, JavaScript vanilla para data pipeline, heurísticas e UI.
A listagem e os filtros são construídos dinamicamente no cliente, sem backend.

About

Front-end para ler e filtrar dados de planilhas do google Sheets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published