Рубрики
Без рубрики

Состояние счастья вашего репо Github: Refostatus

Люди всегда спрашивают «почему это репо» и никогда не спрашивают «Как это репо», поэтому я создал приложение, которое находит Ho … Теги с WebDev, JavaScript, Python, Opensource.

Люди всегда спрашивают «почему это репо» и никогда не спрашивают «Как это репо», поэтому я создал приложение, которое находит как счастлив Репозиторий есть.

TLDR; Приложение запускает двигатель анализа настроений на вашем репо и находит, насколько это было счастливо. Проверьте репостат

Как?

Так как именно вы находите настроение не живой вещи? Ну, даже я имел эту мысль в моей голове. Любой репозиторий состоит из людей, которые способствуют этому репо, людям, которые взаимодействуют в комментариях репо.

Таким образом, если мы можем запустить двигатель анализа настроений на взаимодействия людей, которые способствуют этому репо, мы можем добраться куда-нибудь?

репостатус Извлекает три важных части репо (с помощью API GitHub):

  • Собственные сообщения
  • комментарии по вопросам
  • Комментарии к PR

Однажды у нас есть эти три вещи, мы можем объединить их, отфильтровать ненужные данные и запустить наш двигатель на нем.

Технология

Бэкэнда написана в Python (Fastapi) и интерфейс написан в Вариант

Сначала первые вещи, двигатель анализа настроений, используемый репостатус это TextBlob библиотека. Это очень легко использовать и отлично работает.

Так что теперь, когда у нас есть двигатель на нашу легкость, что дальше.

Отдохнуть

Мой стопку Goto Tech – это Питон, так что неудивительно, что я пошел с этим для API.

Я использовал Fastapi для бэкэнда. Поздно, я начал любить Fastapi Все больше и больше, и это было очевидно, чтобы не было мозговым, чтобы пойти с ним для бэкэнда. Это простота использования с эффективностью просто потрясающе. Если вы не проверили его, сделайте это, я уверен, что вам понравится, если вы разработчик Python.

Услуги

Услуги, которые предложат API:

  1. Внутренняя API для WebApp
  2. Общественный API.
  3. API Badge (yep, вы можете использовать значки Refostatus на вашем readme).

Я хотел предоставить публичному API, чтобы люди могли использовать его для своих собственных забавных проектов. API способен работать как с частным, так и общественным репо. Детали для этого можно найти здесь

Знак – это еще одна вещь, которую я думал, будет хорошим маленьким дополнением. Этот значок работает похожи на то, как Трэвис строить значки работы или любой значок. Вы можете просто использовать URL, чтобы встроить его в ваши репозитории Readme.

Подробнее о значке можно найти здесь Отказ

Внешний интерфейс

Я люблю использовать Vuejs. Было очевидно, что я бы использовал это, чтобы построить интерфейс. Теперь для Frestend я хотел убедиться, что он не ограничивает пользователь слишком много.

Таким образом, репостатус Работает как с частным, так и общественным репоим. Для частных REPOS OAUTH OAUTH THITHUB используется, который дает нам доступ к этому конкретному репо, а затем мы запускаем двигатель по репо.

Одним из проблем, с которыми я столкнулся при реализации ОАУТ, заключался в том, что я хотел сделать процесс бесшовным. Если вы идете на приложение сейчас и выберите на варианте OAUTH, вы увидите, что процесс довольно аккуратен.

Вот что это делает:

  1. Открывает новое окно и просит пользователя дать доступ
  2. Пользователь дает доступ и GitHub перенаправить пользователя на мои сайты Обратный вызов конечная точка.
  3. Окно закрывается, и приложение показывает все REPOS пользователей.

Вышеуказанные шаги заставляют это выглядеть настоящим бесшовным. Тем не менее, тяжелая часть для меня было выяснить, как я узнаю, когда OAUTH закончится, а затем показать окно.

Бесшовные Оат

Таким образом, чтобы сделать его бесшовным, я реализовал следующий поток:

  1. Пользователь нажимает на кнопку OAUTH, открывается новое окно, и приложение продолжает ждать его, чтобы закрыть.
  2. В новом окне пользователь перенаправляется на URL-адрес обратного вызова, который возвращает хорошую страницу HTML, которая показывает, что окно закроется в 5 секунд. Через 5 секунд окно закрывается, и приложение знает, что OAuth выполняется.
  3. Затем приложение пытается найти репо, о том пользователю и соответственно показывает пользователь все REPOS.

Я знаю, это не так много. Я должен сказать, однако, мне очень понравилось реализовать эту одну маленькую особенность и сделать его таким бесшовным. Я даже не шучу, я просто продолжал делать ОАУТ на повторении после его реализации.

Значок

Пример значка можно увидеть ниже.

Разве это не круто?! Он поддерживает такие варианты, как Стиль значка, где для значка может быть использован. Это меняет цвет значка на основе Состояние счастья репо.

Как точно рассчитано счастье

Как я упоминал ранее, счастье любого репо, зависит от определенных частей репо. Таким образом, когда-то совершать сообщения , Выдавать комментарии и Комментарии PR извлекаются, они проходят через фильтр.

Фильтрация данных

Этот шаг гарантирует, что данные очищаются от любого нечитаемого содержимого, как изображение, которое пользователь могло опубликовать в комментариях. Или какой-то код внутри блока кода, который пользователь мог добавить в отчете о проблемах.

Запуск двигателя

Как только данные будут очищены все нечитаемым контентом, он передается на TextBlob Библиотека, которая запускает двигатель на данных.

Теперь эта библиотека возвращает поплавок счет . Этот счет находится между -1 и +1, где +1 указывает счастлив и -1 указывает грустный Отказ

Таким образом, когда двигатель работает на комментариях, скажем, мы получим счет 0,8, это означает, основываясь на комментариях, репо не что счастливый Но это больше счастливее по сравнению с грустью. Итак, репостатус считает, что на основе комментариев репо – это счастлив Отказ

Мы делаем вышеупомянутый процесс на других аспектах репо, и и т. Д.

После того, как все отдельные результаты доступны, они добавляются, и рассчитывается среднее значение. Это среднее, математически, также между -1 и +1 . Это общий Состояние счастья репо.

Исходя из этого балла, решается, какой цвет должен быть назначен репо.

Кэширование

Поскольку двигатель берет довольно хрупкое количество памяти, оценка любого репо, кэшируется в течение 15 дней.

Значки кэшируются в течение 24 часов и только после этого они обновляются.

Это кэширование было необходимо для того, чтобы убедиться, что производительность API не выполнена.

Попробуйте репостату здесь

Источник

репостатус это открытый источник. Источник для бэкэнда и интерфейс можно найти ниже

троцкий/репостат

Получить статус счастья вашего репо

Получить статус счастья вашего репо

Backend для репостатус Отказ Repostatus позволяет рассчитать статус счастья вашего хранилища.

Что мы делаем?

Мы рассматриваем различные части репо, таких как Commit Comments, комментарии по вопросам, вытягивает и т. Д. и запустить двигатель анализа настроений на данные, чтобы узнать статус Happiens.

Настраивать

Вам нужно будет настроить переменную среды с именем Github_token Это будет содержать токен доступа. Для того, чтобы получить токен, следуйте за Это Статья и соответственно спасти ее в окружающую среду.

Один из способов спасти что-то в окружающую среду:

from os import environ
environ.set('GITHUB_TOKEN', '')

В противном случае он также может быть установлен через файл RC, I: E ZSHRC, Bashrc и т. Д.

Тесты

Для испытаний мы используем питиш

Если вы хотите запустить тесты сами, убедитесь, что у вас его установлено. Тесты могут быть запущены …

Оригинал: “https://dev.to/deepjyoti30/happiness-status-of-your-github-repo-repostatus-3516”