October 3

Отображение данных в виде графа

Необходимо разработать программу для отображения .md-файлов в виде графа.
Программа должна состоять из двух частей.

Часть 1. Анализ файловой системы

Программа должна анализировать текущую директорию и рекурсивно обходить все вложенные папки. Для каждой директории необходимо собирать следующую информацию:

  • количество элементов (файлов и подпапок);
  • сведения о каждом файле: относительный путь от текущей директории, размер, дата создания.

Вся найденная информация должна индивидуально сохраняться в структуре графа.

Часть 2. Построение графа

На основе собранных данных необходимо построить граф, адаптированный для хранения информации о файлах. Требуется реализовать следующие возможности:

  • связывание .md-файлов по общим хэштегам;
  • связывание папок и файлов в соответствии с их иерархией (файл связан с папкой, внутри которой он находится);
  • сортировка данных по дате создания, размеру и в алфавитном порядке.

Часть 3. Пользовательский интерфейс

Программа должна содержать интерактивный интерфейс, который позволяет пользователю выполнять следующие действия:

  • выбирать операции из меню (например, сортировка данных по дате создания, размеру или алфавиту);
  • отображать содержимое выбранного файла относительно вершины графа;
  • искать файлы по хештегу;
  • получать список всех .md-файлов, связанных по хэштегу или иерархии;
  • обновлять данные в графе при изменении файловой системы.

Интерфейс должен быть удобным для пользователя и обеспечивать доступ ко всем основным функциям программы.