Об этом проекте
ECK (Ethereum Collective Korea) — это некоммерческая команда, создающая общественные блага для корейской экосистемы Ethereum, а этот репозиторий является их официальным домашним сайтом и хабом исследований, новостей и событий. 'The Ticker is ETH' — это инициатива Telegram-канала, управляемая этой командой.
Технический стек: React 19 + TypeScript + Vite, Tailwind CSS 3 + Framer Motion, Three.js/React Three Fiber (3D), React Router DOM 7, react-i18next (переключение корейский/английский). Аутентификация через Privy (кошелек, Google, Twitter вход и встроенный кошелек), ончейн-функции через thirdweb (ERC-1155 значки, мультичейн Base и Ethereum). Тестирование: Vitest + Testing Library, санитизация ввода: DOMPurify (защита от XSS), уведомления: Sonner toast, тема: CSS переменные и классы Tailwind dark: для поддержки тёмного/светлого режима.
Основные экраны и функции: Hero-секция с анимацией аватаров участников, профили Core Team и Contributors (социальные ссылки, тепловая карта вклада, статистические баннеры), блог Research с возможностью написания и чтения (аутентификация по парольной фразе, категории Telegram, динамическая загрузка и пагинация Load More, фильтр по авторам и поиск с дебаунсингом), страница News на основе RSS (еженедельные исследовательские отчёты Ethereum), страница Events, страница профиля, страница 404 и ErrorBoundary. На десктопе применяется кастомный курсор в виде алмаза Ethereum и эффект следа, также включены поток клейма/минта ончейн значков участников с тост-уведомлениями об успехе/ошибке, кнопки социального шаринга на детальных страницах Research/News. В плане доступности упоминаются: i18n skip-навигация, focus trap, связывание label, aria-live. Используется маршрутизационное разделение кода (React.lazy + Suspense).
Синхронизация данных: GitHub Actions cron ежедневно в 09:00 KST собирает данные Telegram-канала, предварительно обрабатывает их, создаёт отдельные .md файлы статей, затем собирает RSS-ленту новостей и коммитит. Ручной запуск возможен во вкладке Actions, требуются секреты TELEGRAM_API_ID, TELEGRAM_API_HASH, TELEGRAM_SESSION. Анализ вклада основан на сообщениях Telegram-канала.
Разработка: npm install, копирование .env.example в .env.local с настройкой VITE_PRIVY_APP_ID, запуск npm run dev. Предоставляются скрипты: dev, build, preview, test, test:run, test:coverage, lint, analyze (анализ размера бандла), fetch:telegram, preprocess:telegram, fetch:news. Автодеплой через Vercel при пуше в main. Переменные окружения: Privy App ID, thirdweb Client ID, адреса ERC-1155 контрактов значков для Base и Ethereum.
Текущие TODO: дизайн изображений 4 типов значков (Core Contributor, Translator, Event Attendee, Research Author), деплой ERC-1155 контракта в Ethereum Mainnet, разделение адресов контрактов значков по переменным окружения, синхронизация переменных окружения Vercel. Лицензия MIT, предоставляются CONTRIBUTING.md и шаблоны issue для баг-репортов и предложений функций.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.