GitGarden превратил ваши вклады на GitHub в уникальный пиксельный сад, который меняется в зависимости от вашей активности. Всего за несколько секунд, введя имя пользователя, вы получите визуальный результат своих разработок, что может стать забавной альтернативой традиционным статистикам.
Как родился проект
Идея GitGarden возникла после знакомства с похожим проектом The Git City, который преобразует профили GitHub в 3D пиксельные здания. Однако авторы GitGarden решили создать более «живую» концепцию — сад, который растёт и изменяется в зависимости от вклада разработчика, что более точно отражает динамику работы программистов.
Технические детали и реализация
Главной проблемой на старте стала необходимость получать актуальные данные о вкладах. GitHub предоставляет API, но он возвращает лишь последние 100 событий, что не отображает реальной активности активных разработчиков. Для решения этой проблемы была использована GraphQL API от GitHub с запросом, который предоставляет данные об общем количестве вкладов и активности за определённый период.
Чтобы избежать проблемы с ограничениями по запросам, разработчики создали бэкенд на Supabase, где хранится токен GitHub для авторизации и кешируются данные о садах. Пользователи могут без регистрации получить доступ к своим садам, а если захотят настроить их, им потребуется войти в систему.
Как создаётся сад
Данные о вкладах используются для генерации уникального пиксельного сада для каждого пользователя. Цвета деревьев и цветов зависят от языков программирования, а элементы сада, такие как цветы или животные, появляются в зависимости от числа коммитов. Например, больше 100 коммитов — к вам прилетают бабочки, а за 500 коммитов — появляются птицы.
Каждый сад создаётся по заданному алгоритму, основанному на генераторе случайных чисел, что делает каждое изображение уникальным, но при этом предсказуемым для каждого конкретного пользователя.
Практическое значение для пользователей
Для разработчиков это не только способ визуализировать свою активность, но и улучшить мотивацию. GitGarden может послужить как инструмент саморефлексии — увидеть, как ваши усилия формируют уникальный образ, где каждый элемент соответствует вашим достижениям и уровню вовлечённости.
Следующий шаг для GitGarden — возможность настройки садов, что позволит пользователям проявить свою индивидуальность и создать ещё более уникальные визуальные представления своих вкладов.