Skip to content

TheAnton1/SummerPracticeTopSort

 
 

Repository files navigation

SummerPracticeTopSort

Приложение для визуализации алгоритма топологической сортировки
Разработано в рамках летней практики ETU 2022

Команда

Evgeny Shkvirya: Team-lead, UI, UI-logic, Program Architecture
Anton Toropygin: Algorithm, Testing, IO

Требования для запуска

JDK 11

Запуск

  • Создание JAR файла: (будет лежать в папке SummerPracticeTopSort/build/libs)
./gradlew buildFullJar
  • Запуск приложения из JAR файла: (из папки SummerPracticeTopSort/build/libs)
java -jar SummerPracticeTopSort-1.0-SNAPSHOT-all.jar
  • Сборка + Запуск:
./gradlew run

Тестирование

Запуск тестов:

 ./gradlew clean test

Результаты проверки будут загружены в директорию
SummerPracticeTopSort/build/test-results/jvmTest/

RoadMap

Version 0.1 (prototype):

  • Добавлен интерфейс приложения

Version 0.2

  • Добавлена возможность размещать элементы графа (вершины и рёбра)
  • Добавлена возможность удалять элементы графа (вершины и рёбра)
  • Поле для размещения элементов графа адаптируется под размер окна приложения

Version 0.3

  • Добавлена возможность запустить алгоритм топологической сортировки
  • Результаты применения алгоритма загружаются в левую нижнюю таблицу
  • Возможность загружать и сохранять данные графа (на данном этапе только из файла graphData.json)
  • Сброс состояния действия из панели редактирования при повторном нажатии кнопки

Version 0.4

  • Добавлено отображение шагов алгоритма в правой нижней таблицы
  • Добавлена блокировка запуска алгоритма при редактировании графа
  • Добавлена блокировка редактирования графа при запуске алгоритма
  • Добавлена возможность сохранять данные о графе в файл с указанием его имени
  • Добавлена возможности загружать данные о графе из файла с указанием его имени

Version 0.5

  • Добавлено ручное управление шагами алгоритма
  • Добавлена возможность запускать автоматическую визуализацию проекта, а также продолжить, приостановить, перейти в начало, перейти в конец
  • Добавлено графическое отображение вершин с помощью цветов
  • Добавлено отображение полного имени вершины при удержании ЛКМ на вершине
  • Добавлена проверка на наличие цикла в графе

Version 0.6

  • Исправление известных ошибок
  • Добавлена проверка данных, считываемых из файла
  • Добавлены тесты для алгоритмов на графе и работой с файлами

=============================================================================

В работе использовалось:

Kotlin: 1.6.10
Jetpack Compose: 1.1.0
Kotlin Coroutines: 1.6.0
Gradle: 7.3.3-bin
Gson: 2.9.0
Junit: 5.8.2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%