Celem projektu było stworzenia oprogramowania mechanizmu zarządzania strukturą drzewiastą
Aplikacja została stworzona za pośrednictwem następujących technologii:
- -PHP
- -HTML/CSS
- -Mysql
- -JS
Główny widok aplikacji został podzielony na 2 sekcje. Lewa sekcja zawiera elementy zarządzające aplikacją a prawy za wyświetlanie informacji o drzewach w formie "schodków".
Lewy moduł został podzielony na kilka mniejszych elementów:
– dodawanie węzła do bazy danych w poszczególne miejsce.
– przenoszenie węzła/węzłu.
– zmiana nazwy węzłu.
– usuwanie węzła/węzłu z bazy danych.
– Sortowanie elementów prawego modułu.
Poprzez wprowadzenie nazwy oraz ustalenie rodzica można wpisać nowy węzeł do bazy danych. Oczywiście została zdeklarowana walidacja, nie pozwalająca na wprowadzenie pustej nazwy oraz tylko małe duży litery włącznie ze spacją. W przypadku istniejącego już węzła, nie zostanie wprowadzony poprzez zdefiniowany w bazie danych pole o nazwie text z wartością unikatową.
Poprzez wybranie interesującego nas węzła oraz wskazanie miejsca docelowego (nowego rodzica) jest możliwe przeniesienie. W przypadku kiedy węzeł jest na tym samym poziomie co węzeł rodzica, operacja nie powiedzie się jak i również w przypadku kiedy przenoszony węzeł jest ojciem bądź wyżej nad węzłem docelowym.
Poprzez wybranie interesującego nas węzła oraz podanie nowej nazwy,jest możliwe zmienie nazwy. Walidacja działa na podobnej zasadzie jak w przypadku dodawanie nowego węzła.
Poprzez wybranie interesującego nas węzła jest możliwe, usunięcie go wraz z dziećmi przez funkcję rekurencyjną.
Domyślnie zostało ustawione sortowanie rosnąco, ale poprzez naciśnięcia danego przycisku można wyświetlić bazę danych w sposób naturalny oraz malejący. Sortowanie dotyczy całego drzewa.