Sobre el proyecto
ECK(Ethereum Collective Korea) es un equipo sin fines de lucro que crea bienes públicos para el ecosistema de Ethereum en Corea, y este repositorio es su página web oficial y también el centro de investigación, noticias y eventos. 'The Ticker is ETH' es la iniciativa de canal de Telegram operada por este equipo.
La pila tecnológica consiste en React 19 + TypeScript + Vite, Tailwind CSS 3 + Framer Motion, Three.js/React Three Fiber (3D), React Router DOM 7, react-i18next (cambio entre coreano e inglés). La autenticación se realiza mediante Privy (inicio de sesión de billetera, Google y Twitter, y billetera embebida), mientras que las funcionalidades on-chain utilizan thirdweb (badges ERC-1155, multi-cadena Base·Ethereum). Las pruebas se hacen con Vitest + Testing Library, la sanitización de entrada con DOMPurify (protección contra XSS), las notificaciones con toast de Sonner, y el tema se soporta en modo claro/oscuro mediante variables CSS y clases dark: de Tailwind.
Entre las principales pantallas y funcionalidades se encuentran la sección Hero con animación de avatares de miembros, los perfiles del Core Team y Contributors (enlaces sociales, mapa de calor de contribuciones, banner de estadísticas), el blog de Research donde se puede escribir y leer (autenticación con frase de paso, categorías de Telegram, carga dinámica y paginación Load More, filtro por autor y búsqueda con debounce), la página de News basada en RSS (informe semanal de investigación de Ethereum), la página de Events, la página de perfil, la página 404 y el ErrorBoundary. En escritorio se aplica un cursor personalizado y efecto de rastro de diamante de Ethereum, además del flujo de reclamo/acuñado de badges on-chain para contribuyentes con retroalimentación de toast de éxito o fracaso, y los botones de compartir en redes sociales en las páginas detalladas de Research/News. En cuanto a accesibilidad, se menciona la navegación omitida i18n, la trampa de foco, la asociación de etiquetas y aria-live. Se utiliza la división de código basada en rutas (React.lazy + Suspense).
La sincronización de datos se realiza mediante un cron de GitHub Actions que, todos los días a las 09:00 KST, recopila y preprocesa los datos del canal de Telegram para generar archivos .md individuales de artículo, luego recopila el feed de noticias RSS y lo confirma en el repositorio. También es posible ejecutarlo manualmente desde la pestaña de Actions, requiriendo los secretos TELEGRAM_API_ID, TELEGRAM_API_HASH y TELEGRAM_SESSION. El análisis de contribuciones se basa en los mensajes del canal de Telegram.
Para desarrollar, después de npm install copie .env.example a .env.local, configure VITE_PRIVY_APP_ID y ejecute npm run dev. Se proporcionan los scripts dev, build, preview, test, test:run, test:coverage, lint, analyze (análisis de tamaño de paquete), fetch:telegram, preprocess:telegram y fetch:news. El despliegue automático se activa en Vercel al hacer push a la rama main. Se utilizan variables de entorno para el ID de la aplicación Privy, el ID de cliente de thirdweb y las direcciones de los contratos de badges ERC-1155 correspondientes a Base y Ethereum.
En la lista actual de TODO quedan: diseño de imágenes para los cuatro tipos de badges (Core Contributor, Translator, Event Attendee, Research Author), despliegue del contrato ERC-1155 en Ethereum Mainnet, separación de la dirección del contrato de badges en variables de entorno, y sincronización de variables de entorno en Vercel. La licencia es MIT y se proporcionan CONTRIBUTING.md y plantillas de issues para reportes de bugs y sugerencias de características.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.