Skip to content

Анализ GitHub-профиля и определение типа разработчика

Notifications You must be signed in to change notification settings

Roskud/github-personality-analyzer

Repository files navigation

🔍 GitHub Personality Analyzer

Анализирует GitHub-профиль и определяет тип разработчика на основе активности, языков и AI-анализа.

Проект сделан как инженерный инструмент, а не учебный скрипт:
CLI + Web, кэширование, fallback-логика, продакшн-подход.


🌐 Live Demo

👉 https://github-personality-analyzer.onrender.com
(может «просыпаться» 20–30 сек — это free-план Render)


✨ Возможности

  • 🔎 Анализ репозиториев GitHub
  • 🧠 Определение типа разработчика
  • 🔥 Подсчёт активности
  • 🤖 AI-описание (Groq / LLaMA 3.1)
  • 💾 Кэш AI-ответов (без повторных запросов)
  • 🌐 Web-интерфейс (Flask)
  • 💻 CLI-версия
  • 🛡️ Без падений при недоступности AI

🧠 Типы разработчиков

  • Backend Architect
  • Frontend Magician
  • Data Alchemist
  • Fullstack Adventurer

(определяется автоматически по языкам и активности)


⚙️ Архитектура проекта

github-personality-analyzer/ ├── analyzer.py # CLI-интерфейс ├── app.py # Web-приложение (Flask) ├── stats.py # Работа с GitHub API ├── personality.py # Логика + AI + cache ├── cache/ │ └── ai_cache.json # Кэш AI-ответов ├── templates/ │ └── index.html # UI ├── requirements.txt ├── start.sh # Запуск для Render └── .github/workflows/ └── ci.yml # GitHub Actions


🤖 AI и кэширование

AI-описание генерируется через Groq (LLaMA 3.1).

Как работает:

  1. Пользователь вводит GitHub-ник
  2. Проверяется локальный кэш (cache/ai_cache.json)
  3. Если запись есть → используется кэш
  4. Если нет → вызывается AI и результат сохраняется

👉 Это:

  • быстрее
  • дешевле
  • стабильнее
  • ближе к продакшну

🛡️ Fallback-логика

Проект никогда не падает:

  • если AI недоступен
  • если превышен лимит
  • если провайдер временно не отвечает

В этом случае:

  • основной анализ работает
  • пользователь видит статус AI

🚀 Запуск локально

Установка

pip install -r requirements.txt

About

Анализ GitHub-профиля и определение типа разработчика

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published