Pokaż spis treści

Pod spodem

Architektura i bezpieczeństwo

Architektura FK Mini jest częścią wartości produktu: UI wywołuje endpointy, endpointy use case'y, a logika domenowa nie zależy od Astro ani SQLite. Ten podział sprawia, że księgowanie, backup, autoryzacja i raportowanie można rozwijać bez przenoszenia reguł biznesowych do komponentów widoku.

Warstwy

Kod jest grupowany funkcjonalnie: dokumenty, księgowość, bank, kasa, wspólnicy, raporty, ustawienia, autoryzacja i audyt. UI nie zapisuje bezpośrednio do SQLite. Operacje przechodzą przez endpoint, walidację, use case, repozytorium i wpis audytowy.

Mechanizmy ochrony

  • Autoryzacja endpointów. Mutujące trasy sprawdzają uprawnienia, więc ochrona nie zależy wyłącznie od widoczności przycisku.
  • Zod i use case'y. Dane wejściowe są walidowane zanim trafią do warstwy infrastruktury.
  • AuditLog. Operacje zmieniające dane zostawiają ślad domenowy.
  • Niezmienność ksiąg. Zatwierdzone dekrety i audyt są chronione przed cichą edycją.
  • Backup/restore. Aplikacja ma operator-facing recovery path dla bazy SQLite.

Granice warstw w operacji modyfikującej dane

flowchart TD
  A["Astro UI"] --> B["API endpoint"]
  B --> C["Autoryzacja i actor"]
  C --> D["Zod / command"]
  D --> E["Use case application"]
  E --> F["Reguły domenowe"]
  E --> G["Repozytorium"]
  G --> H["Drizzle / SQLite"]
  E --> I["AuditLog"]
  I --> H
  F --> E

Co to pokazuje

FK Mini jest małym systemem, ale zaprojektowanym jak narzędzie utrzymywalne przez lata: z jasnymi granicami modułów, kontrolą skutków księgowych, walidacją i ścieżkami naprawy. To ważniejsze niż liczba ekranów, bo błędy w księgowości kosztują więcej niż brak ozdobnego UI.