Przejdź do głównej zawartości

Model danych

Cały stan planu to jeden spójny obiekt (w trybie chmurowym przechowywany jako jsonb na gospodarstwo). Najważniejsze elementy:

Pozycje portfela

Inwestycje i dług (kredyt). Każda pozycja ma m.in.: wartość bieżącą, wpłatę docelową, stopę (oprocentowanie/zwrot), cel, ratę/okres/datę wykupu oraz kategorię (categoryId). Opcjonalnie: typ konta (accountKind — IKE/IKZE/PPK/PPE/OIPE/zwykłe/bank, wrapper podatkowy), instrument (instrumentType — ETF/akcje/obligacje/…), znacznik JDG (wyższy limit IKZE), ticker/ISIN/alokacja docelowa, właściciel i beneficjent. Pola są wstecznie kompatybilne — brak typu konta = zachowanie jak dotąd.

Aktywa poza portfelem

Nieruchomości, działki, gotówka, pojazdy — wartość i opcjonalna stopa wzrostu. Każde aktywo ma klasę (assetClass): cash (gotówka/oszczędności), real_estate (nieruchomości; realEstateUsage: główne/wynajem/działka) lub physical_asset (rzeczowe: physicalKind auto/sprzęt/kolekcja). Brak klasy → wnioskowana (gotówka po nazwie, inaczej nieruchomość), więc starsze dane działają bez migracji. Flagi includeInInvestable / liquid sterują soczewkami majątku (domyślne wg klasy), a growth opisuje zachowanie w projekcji (patrz Jak liczymy).

Cele

Większe wydatki z kwotą, terminem i postępem odkładania.

Wpisy miesięczne

Per miesiąc: przychody (per osoba), wpłaty/nadpłaty z podziałem na osoby (suma trafia do obliczeń), budżet na oszczędności, raty kredytu, ocena kosztów życia, notatka, oznaczenie „kto z domowników zrobił przegląd" oraz ile już doliczono do wartości portfela (pozwala doliczać przyrostowo, bez podwójnego liczenia).

Kategorie

Grupowanie pozycji definiowane przez użytkownika (categories: Category[] w stanie). Każda kategoria ma id, nazwę, kolor (z palety) i opcjonalne emoji; kolejność na liście = kolejność wyświetlania. Domyślny zestaw to Emerytura, Inwestycje, Kredyt, Obligacje, Crypto — ale można je dowolnie zmieniać, dodawać i usuwać (Ustawienia → Kategorie). Migracja ze starego modelu „filarów" (stałe I–V) mapuje je na kategorie ze stałymi id (Bitcoin → Crypto), bez utraty przypisań pozycji.

Profil i preferencje

  • Profil planu (współdzielony w Duo): imiona, kraj, data urodzenia, główny cel.
  • Preferencje urządzenia (NIE synchronizowane): język, motyw, rola w planie.

Snapshoty wartości netto

Lekki zapis wartości netto per miesiąc — zasila trend majątku (30 dni / 12 mies.).

informacja

Każdy odczyt i zapis danych przechodzi przez walidację (Zod) — patrz Bezpieczeństwo.