Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/king-tri-ton/github_trending_archive

GitHub Trending Archive is an application that daily collects information about popular repositories on GitHub and stores it in a database. With this application, you can track changes in trends for selected programming languages.
https://github.com/king-tri-ton/github_trending_archive

archive github pystray python scrapper sqlite3 trending

Last synced: about 2 months ago
JSON representation

GitHub Trending Archive is an application that daily collects information about popular repositories on GitHub and stores it in a database. With this application, you can track changes in trends for selected programming languages.

Awesome Lists containing this project

README

        

# Архив трендов GitHub

![github](https://github.com/user-attachments/assets/142a537b-b895-4df7-b2ed-bdec6f224cfa)

Архив трендов GitHub — это приложение, которое ежедневно собирает информацию о популярных репозиториях GitHub и сохраняет её в базу данных. С помощью этого приложения вы можете отслеживать изменения трендов для выбранных языков программирования.

## Структура проекта

- **app.py**: Основной скрипт, который запускает приложение Flask и иконку в системном трее. Также инициирует сбор данных о трендах ежедневно.
- **config.py**: Параметры конфигурации, включая путь к файлу `.env` и настройки приложения.
- **database.py**: Функции для взаимодействия с базой данных SQLite, включая создание таблиц и вставку данных.
- **scraper.py**: Скрипт для сбора данных со страниц трендов GitHub и их сохранения в базу данных.
- **webapp.py**: Приложение Flask для отображения данных о трендах через веб-интерфейс.
- **templates/**: Директория, содержащая HTML-шаблоны для веб-приложения.

## Установка и настройка

1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/king-tri-ton/github_trending_archive.git
cd github_trending_archive
```

2. **Установите зависимости:**
```bash
pip install -r requirements.txt
```

3. **Настройте параметры:**

Для версии 1.0.4 и более поздних версий создайте файл `.env` в директории `C:\Program Files\King-Triton\GTA` и укажите параметры:
```
SCAN_TIME=17:00
DATABASE_PATH=C:\\Program Files\\King-Triton\\GTA\\trends.db
LANGUAGES=python,java,javaScript
```

4. **Запустите приложение:**
```bash
python app.py
```

Это запустит сервер Flask и иконку в системном трее. Приложение будет автоматически собирать данные о трендах ежедневно в 03:00.

## Использование

- **Системный трей:** Щелкните правой кнопкой мыши по иконке в системном трее, чтобы открыть или закрыть веб-приложение.
- **Веб-интерфейс:** Откройте браузер и перейдите по адресу `http://127.0.0.1:5000`, чтобы просмотреть доступные даты трендов и информацию.

## Скриншоты

Вот несколько скриншотов веб-приложения:

1. ![Screenshot_67](https://github.com/user-attachments/assets/7f9f5bad-c06c-4658-93e4-ec02ebf9f17e)
2. ![Screenshot_68](https://github.com/user-attachments/assets/c1ea8b75-ba77-4ec2-990a-fdc42478fad2)
3. ![Screenshot_69](https://github.com/user-attachments/assets/46aca1b7-64de-42da-99f6-a605ff0bb3cd)

## Будущие планы

1. **Анализ трендов с помощью ИИ:** Интеграция с API OpenAI для анализа трендов и предоставления дополнительных инсайтов.

2. **Установщик с мастером конфигурации:** Создание установщика с графическим инструментом конфигурации для выбора языков программирования и настройки других параметров без редактирования файлов вручную.

## Лицензия

Этот проект лицензирован под [MIT License](https://choosealicense.com/licenses/mit/).

## Заметка автора

Я наткнулся на интересный проект под названием [GitHub Trending Archive](https://github.com/frodeaa/github_trending_archive), но не смог запустить его на Windows. Мне понравился сайт проекта ([archive](https://archive.faabli.com/)), и после некоторых размышлений я решил создать подобный проект полностью на Python. Думаю, получилось отлично. Спасибо [@frodeaa](https://github.com/frodeaa) за вдохновение!

## Контакт

Если у вас есть вопросы или предложения, не стесняйтесь обращаться ко мне через [telegram](https://t.me/king_triton).