frontend-architecture
Svelte SPA architecture for Exceptionless. Route groups, lib structure, API client,\nfeature slices, and barrel exports.\nKeywords: route groups, $lib, feature slices, api-client, barrel exports, index.ts,\nvertical slices, shared components, generated models, ClientApp structure
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Svelte SPA architecture for Exceptionless. Route groups, lib structure, API client,\nfeature slices, and barrel exports.\nKeywords: route groups, $lib, feature slices, api-client, barrel exports, index.ts,\nvertical slices, shared components, generated models, ClientApp structure
How to use
Zapoznaj się ze strukturą katalogów w
src/Exceptionless.Web/ClientApp. Główne foldery tolib/(logika aplikacji),routes/(definicje tras) iapp.html(punkt wejścia).Organizuj trasy za pomocą grup tras (route groups) w folderze
routes/. Utwórz grupy(app)/dla tras wymagających uwierzytelniania,(auth)/dla logowania i rejestracji oraz(public)/dla stron publicznych. Każda grupa może mieć własny plik+layout.sveltez dedykowanym layoutem.Strukturyzuj logikę biznesową w
lib/features/używając pionowych plastów (feature slices). Każdy feature (np.organizations/,projects/) powinien zawierać:api.svelte.tsz hookami TanStack Query, foldermodels/z re-eksportami typów wygenerowanych,schemas.tsz walidacją Zod orazcomponents/z komponentami specyficznymi dla tej funkcjonalności.Umieszczaj komponenty wspólne dla całej aplikacji w
lib/components/, w tym komponenty UI z biblioteki shadcn-svelte w podfolderzeui/. Typy wygenerowane z API przechowuj wlib/generated/.Używaj barrel exports (pliki
index.ts) do eksportowania publicznych interfejsów każdego feature'a, aby uprościć importy w komponentach i zmniejszyć zależności między modułami.Narzędzia pomocnicze i funkcje wspólne przechowuj w
lib/utils/. Dla kodu wspólnego między feature'ami użyj folderulib/features/shared/.