🌲 Arboretum - Genealogy System 
Nowoczesny system do zarządzania danymi genealogicznymi, napisany w języku Rust z wykorzystaniem wbudowanej bazy SurrealDB.
Projekt wyróżnia się unikalnym podejściem do atomizacji danych ("Mastykony") oraz bezwzględnym priorytetem źródeł historycznych.
Projekt wykorzystuje architekturę wieloprocesową CLI:
- Manager: Zarządza plikami baz danych (tworzenie, wybór).
- Editor: Osobne okno procesu do edycji konkretnych danych, uruchamiane dynamicznie przez Managera.
Automatyczna weryfikacja kodu i budowanie wersji Release odbywa się tutaj:
👉 Zobacz Status GitHub Actions
Arboretum to nie tylko baza danych – to system oparty na trzech fundamentalnych filarach, które odwracają tradycyjne podejście do genealogii:
Większość programów stawia w centrum "Osobę". W Arboretum królem jest Źródło.
- Nie tworzymy "Jana Kowalskiego" z powietrza.
- Najpierw wprowadzamy dokument (metryka, akt notarialny, zdjęcie nagrobka).
- Dopiero z dokumentu "ekstrahujemy" fakty i osoby.
- Dzięki temu każda informacja w systemie ma swoje pokrycie w rzeczywistości.
Zrywamy z monolitycznymi rekordami. Informacja nie jest "cechą osoby", lecz niezależnym bytem.
- Imię to osobny atom. Data urodzenia to osobny atom.
- Pozwala to na przechowywanie wersji alternatywnych i sprzecznych (np. trzy różne daty urodzenia z trzech różnych dokumentów) bez sztucznego uśredniania prawdy.
To nasza autorska nazwa na najmniejsze, niepodzielne cząstki informacji genealogicznej.
- Mastykon to kontener na pojedynczy fakt, nierozerwalnie złączony ze swoim źródłem.
- Drzewo genealogiczne w Arboretum to w rzeczywistości sieć powiązanych Mastykonów, które dopiero w warstwie wizualnej składają się w sylwetki przodków.
- System: Windows 10/11
- Terminal: PowerShell Core 7.x (komenda
pwsh) - Rust: Zainstalowany toolchain (
cargo).
Pierwsze budowanie może potrwać kilka minut, ponieważ kompilowany jest silnik SurrealDB.
# Pobierz zależności i zbuduj wersję Release
cargo build --release
Projekt korzysta ze specjalnego launchera, który ustawia środowisko PowerShell Core.
Kliknij dwukrotnie plik:
START.bat
System składa się z dwóch binarek (src/bin/):
- Główne okno startowe ("Arboretum - MANAGER").
- Pozwala tworzyć nowe bazy danych (foldery w
./data). - Funkcja specjalna: Uruchamia Edytora w nowym, niezależnym oknie terminala.
- Zarządzanie: Potrafi zdalnie zamknąć otwarte okno Edytora (
taskkill).
- Okno potomne ("Arboretum - EDITOR").
- Łączy się z wybraną bazą danych (SurrealDB Embedded).
- To tutaj odbywa się praca na Mastykonach (dodawanie faktów i źródeł).
Obecnie prace trwają na gałęzi main-cli, skupiając się na logice backendowej w Rust.
-
Pełna implementacja Mastykonów w strukturze grafowej SurrealDB.
-
Interfejs Graficzny (GUI): Docelowo CLI zostanie zastąpione przez nowoczesną aplikację opartą na Tauri.
-
Wizualizacja grafu połączeń między faktami a źródłami.
-
Przeciąganie dokumentów (Drag & Drop) w celu ekstrakcji danych.
-
Eksport danych do formatów naukowych i GEDCOM.