Skip to content

Интеграция с живым API ИТМО для актуальных данных #5

Description

@qrver

Цель

Добавить возможность загрузки данных напрямую из открытого API ИТМО, чтобы CLI всегда работал с актуальной информацией о программах и конкурсных группах без необходимости вручную обновлять JSON-снимки.

Контекст

Сейчас данные хранятся в статических JSON-файлах (data/2024/, data/2025/, data/2026/). Это надёжно и быстро, но требует периодического ручного обновления. API ИТМО позволит получать свежие данные по запросу.

Что нужно реализовать

Этап 1. Исследование API

  • Изучить эндпоинты API abit.itmo.ru
  • Определить форматы запросов и ответов
  • Документировать найденные эндпоинты

Этап 2. Реализация загрузчика

  • Новый модуль src/api.ts для HTTP-запросов к API
  • Команда --fetch для загрузки свежих данных
  • Кэширование ответов в локальные JSON (опционально)
  • Сохранение совместимости с существующим форматом снимков

Этап 3. Умное обновление

  • Команда --diff для сравнения снимков разных лет
  • Подсветка изменений: новые программы, изменившиеся баллы, убранные группы
  • Экспорт диффа в JSON для автоматизации

Результат

CLI может работать как с локальными снимками (offline), так и с живыми данными (online), автоматически конвертируя ответ API во внутренний формат.

Связь с другими задачами

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestroadmapPlanned features and project vision

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions