Stats Informer | Zhbert’s Home
Zhbert's Home
Домашняя страничка Zhbert'а

Stats Informer

  • Язык: Go
  • Тип: Веб-приложение
  • Стек технологий:
    • Gin Web Framework
    • Bootstrap

Stats Informer — веб-приложение для сбора статистики с репозиториев на GitHub.

Позволяет просматривать статистику по заданным репозиториям — количество звезд, watchers и так далее.

Интерфейс приложения адаптивный — и в десктопной, и в мобильной версии его удобно и интуитивно понятно использовать.

Главный экран

Запуск приложения

Для запуска подготовлен собранный Docker-контейнер: zhbert/stats-informer:0.2, доступный на Docker Hub.

Создайте файл docker-compose.yml со следующим содержимым:

version: "3"

services:
  server:
    image: zhbert/stats-informer:0.2
    container_name: stats
    environment:
      - ST_REPOS_FILE=/home/stats/repos.conf
    volumes:
      - /home/ubuntu/server/stats/repos.conf:/home/stats/repos.conf
    restart: always
    networks:
      - nginx_net

networks:
  nginx_net:
    external: true

Здесь используется внешний nginx-контейнер в качестве реверс-прокси, поэтому приложение смотрит в создаваемую им сеть.

Можно обойтись и без него, просто пробросив порт 8080 на 80.

Конфигурация приложения

Конфигурация приложения осуществляется тремя пунктами:

  • переменная окружения ST_REPOS_FILE, в которой указан путь к конфигурационному файлу внутри контейнера
  • проброшенный в указанный путь конфигурационный файл с хоста
  • непосредственно конфигурационный файл со списком репозиториев для отслеживания

Приложение не было допилено до конца на момент заморозки разработки, поэтому конфигурация осталась такой странной.

В конфигурационном файле необходимо указать перечень репозиториев в формате пути к их API:

https://api.github.com/repos/werf/werf
https://api.github.com/repos/deckhouse/deckhouse
https://api.github.com/repos/flant/shell-operator
https://api.github.com/repos/flant/addon-operator
https://api.github.com/repos/flant/grafana-statusmap
https://api.github.com/repos/flant/ovpn-admin
https://api.github.com/repos/flant/glaball
https://api.github.com/repos/werf/kubedog
https://api.github.com/repos/werf/trdl

Просмотри статистики

Статистика репозиториев отображается на странице /github-short:

Краткая статистика

Также можно просмотреть полную статистику, перейдя по адресу /github:

Полная статистика

Лицензия и код

Лицензия проекта: Apache-2.0 license

Код проекта: GitHub.