Skip to content

spbu-coding-2022/trees-7

Repository files navigation

BST Visualizer

Application that lets you create, visualize, and perform operations on 3 types of binary search trees: Simple, AVL, Red-black.

Features

  • Support 3 types of BSTs
  • Insert, remove and search for elements in trees
  • Store BSTs in 3 different ways: in PostgreSQL or Neo4j db or locally in .json files
  • Drag nodes of the trees
  • Zoom and drag the screen for better viewing experience

Built with

  • Kotlin based, Coroutines for asynchronous execution
  • Compose Multiplatform: modern UI framework for Kotlin
  • Koin: pragmatic lightweight dependency injection framework
  • bstrees: library made specifically for the project that provides BSTs data structures and ways to save them in persistent storage. To learn more please read its own README

Getting started

You can download the latest version of the application on Releases page.

Build

This project uses Gradle build system. Here are commands for some of its most important tasks:

Command Description
./gradlew packageUberJarForCurrentOS Creates a single jar file, containing all dependencies for current OS
./gradlew run Runs the application
./gradlew assemble Builds without tests
./gradlew test Runs the unit tests
./gradlew tasks Displays all runnable tasks

Screenshots

License

Distributed under the MIT License. See LICENSE for more information.