Техническое задание: Программа для анализа CSV-отчетов

Цель проекта

Разработать автономное приложение с графическим интерфейсом пользователя (GUI) для автоматической обработки отчетов в формате CSV, их анализа и формирования структурированных текстовых сводок по заданным шаблонам.

Основные требования к функционалу

1. Обработка входных данных

  • Программа должна самостоятельно определять и разбивать колонки в предоставленных CSV-файлах, так как данные могут поставляться без явного разделения.
  • Поддержка двух типов отчетов:
    • Файлы по чатам: Необходимо суммировать количество всех чатов в определенный момент времени по всем колонкам. Время для записи брать максимальное из строк с соответствующим timestamp.
    • Файлы по звонкам: Значения ожидания могут отсутствовать - такие случаи должны интерпретироваться как 0.

2. Фильтрация и настройки

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

3. Форматы итоговых отчетов

Программа должна генерировать понятный, «человекочитаемый» отчет в одном из трех вариантов на выбор пользователя:

  • Вариант 1: «Каждое увеличение ожидания» - фиксация всех случаев роста времени ожидания.
  • Вариант 2: «Объединение по пикам с разделением на экстремумах в зонах уменьшения ожидания» - агрегация данных вокруг пиковых значений.
  • Вариант 3: «Каждые 15/20/30 минут» - срез данных с заданным временным интервалом.

4. Структура выходного отчета (образец)

  • Раздел «Чаты»: Вывод записей в формате: «[Время] - Очередь до [X] мин, [Y] чатов в очереди.» Если инцидентов нет, раздел можно опустить или указать, что замечаний нет.
  • Раздел «Звонки»: Вывод записей в формате: «[Время] - [N] [принят/потерян] до [Z] минут». Если потерь звонков нет, в разделе следует указать «Без замечаний».

5. Требования к программе

  • Портативность: Приложение должно работать без установки (portable). Запуск из папки или с USB-носителя.
  • Автономность: Не должно требовать установки дополнительных библиотек или сред выполнения, кроме стандартных компонентов операционной системы.
  • Интерфейс: Обязателен графический пользовательский интерфейс (GUI), интуитивно понятный для конечного пользователя.
  • Надежность: Код должен быть рабочим и оттестированным. Допускается использование любых инструментов для разработки, включая AI, при условии корректной работы итогового продукта.

Разработка контента и прототипа страницы Обучение за рубежом

Требуется архитектор контента для анализа конкурентов, создания SEO-текста и технического задания на дизайн продающей страницы для языковой школы. Задача - обновить раздел сайта об обучении за границей.