Техническое задание: Программа для анализа 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, при условии корректной работы итогового продукта.

Верстка страницы журнала на OJS по дизайну из Figma

Требуется адаптировать стандартный шаблон Open Journal Systems под предоставленный дизайн-макет. Необходимо реализовать верстку, соответствующую макету по стилям, типографике и структуре, с сохранением полной адаптивности.

Настройка раздельного VPN на роутере Keenetic для двух Wi-Fi сетей

Требуется настроить роутер Keenetic для работы с VPN WireGuard. Нужно, чтобы одна Wi-Fi сеть работала через VPN, а вторая - без него, с автоматическим включением VPN при подключении к определённой сети. Также необходима проверка стабильности интернета и работы игровой консоли.