Sobre o projeto

ECK(Ethereum Collective Korea) é uma equipe sem fins lucrativos que cria bens públicos para o ecossistema Ethereum da Coreia, e este repositório é sua página inicial oficial e hub de pesquisa, notícias e eventos. 'The Ticker is ETH' é a iniciativa de canal do Telegram operada por essa equipe. A stack técnica consiste em React 19 + TypeScript + Vite, Tailwind CSS 3 + Framer Motion, Three.js/React Three Fiber (3D), React Router DOM 7, react-i18next (alternância entre coreano e inglês). A autenticação é feita pelo Privy (login de carteira, Google, Twitter e carteira embarcada), as funcionalidades on-chain utilizam o thirdweb (selos ERC-1155, multi-chain Base·Ethereum). Os testes são realizados com Vitest + Testing Library, a sanitização de entrada é feita pelo DOMPurify (proteção contra XSS), as notificações são toast do Sonner e o tema suporta modo claro/escuro usando variáveis CSS e classes Tailwind dark:. As principais telas e funcionalidades incluem a seção Hero com animação de avatar de membros, perfis do Core Team·Contributors (links sociais, heatmap de contribuição, banner de estatísticas), o blog Research onde é possível escrever e ler (autenticação por frase‑secreta, categoria do Telegram, carregamento dinâmico e paginação Load More, filtro por autor e busca com debounce), a página News baseada em RSS (relatório semanal de pesquisa Ethereum), a página Events, a página de perfil, a página 404 e o ErrorBoundary. No desktop, há um cursor personalizado em forma de diamante Ethereum e efeito de rastro, além do fluxo de reivindicação/criação de selos on‑chain para contribuidores com feedback de toast de sucesso/falha e botões de compartilhamento social nas páginas detalhadas de Research/News. Em relação à acessibilidade, são mencionados navegação de pulo i18n, armadilha de foco, associação de label e aria‑live. O código é dividido por rota usando React.lazy + Suspense. A sincronização de dados é feita por um cron do GitHub Actions que, todos os dias às 09:00 KST, coleta e pré‑processa os dados do canal do Telegram, gerando arquivos .md individuais para cada article, depois coleta o feed de notícias RSS e faz o commit. Também é possível executar manualmente na aba Actions, sendo necessários os segredos TELEGRAM_API_ID, TELEGRAM_API_HASH e TELEGRAM_SESSION. A análise de contribuição é baseada nas mensagens do canal do Telegram. O método de desenvolvimento consiste em executar npm install, copiar .env.example para .env.local, definir VITE_PRIVY_APP_ID e então rodar npm run dev. São fornecidos os scripts dev, build, preview, test, test:run, test:coverage, lint, analyze (análise de tamanho do bundle), fetch:telegram, preprocess:telegram e fetch:news. O deploy automático ocorre no Vercel ao fazer push na branch main. As variáveis de ambiente utilizadas são o ID do app Privy, o ID do cliente thirdweb e os endereços dos contratos de selos ERC-1155 respectivamente para Base e Ethereum. No TODO atual permanecem: design das imagens dos quatro tipos de selos (Core Contributor, Translator, Event Attendee, Research Author), implantação do contrato ERC-1155 na Ethereum Mainnet, aplicação da separação das variáveis de ambiente para o endereço do contrato de selos e sincronização das variáveis de ambiente do Vercel. A licença é MIT e são fornecidos o CONTRIBUTING.md e os modelos de issue para relatos de bugs e sugestões de funcionalidades.