Pokaż spis treści

Tasko

Tasko - opis systemu

Tasko jest wielodostępnym systemem do obsługi pracy projektowej, zadań, czasu pracy, komunikacji i administracji użytkownikami. System rozdziela panel operacyjny firm od panelu platformowego, a dane biznesowe przetwarza w kontekście tenantów i modułów włączanych per organizacja.

Zakres odpowiedzialności

Zakres systemu obejmuje zarządzanie projektami, zespołami, zadaniami, akceptacją pracy, ewidencją czasu, czatem, użytkownikami firmy, ustawieniami tenantowymi, tokenami API oraz administracją platformową.

Granica odpowiedzialności jest rozdzielona między App.Control, moduły biznesowe App.Modules.*, aplikacje Blazor WASM oraz lokalny serwer MCP. Control DB utrzymuje konta, tenantów, członkostwa i tokeny, natomiast dane operacyjne są przechowywane w bazach tenantów.

Przebieg systemowy

Logowanie i wybór firmy: użytkownik uwierzytelnia konto, a system zwraca dostępne członkostwa tenantowe. Po wyborze firmy kolejne żądania działają w konkretnym kontekście tenanta, dzięki czemu listy projektów, zadań, ustawień i czatu pokazują tylko dane organizacji, do której użytkownik ma dostęp.

Uruchomienie funkcji modułowej: interfejs pokazuje obszary zależne od roli i aktywnych modułów, ale backend ponownie sprawdza RequireModule oraz policy przy każdym żądaniu. Wyłączenie modułu w panelu platformowym usuwa dostęp do powierzchni API nawet wtedy, gdy użytkownik zna adres endpointu.

Obsługa błędu biznesowego: use case zwraca Result/Error, a warstwa App.Presentation mapuje go na Problem Details z właściwym kodem HTTP. UI może wtedy odróżnić walidację danych, brak dostępu, konflikt stanu i błąd techniczny bez traktowania niepowodzenia jako sukcesu.

Przepływ procesu

flowchart LR
  A[Tasko.Client] --> C[WebAPI]
  B[Tasko.Platform] --> C
  C --> D[App.Control]
  C --> E[App.Modules.Core]
  C --> F[App.Modules.Settings]
  C --> G[App.Modules.Chat]
  C --> H[App.Modules.RecurringTasks]
  C --> I[App.Modules.Mcp]
  D --> J[(Control DB)]
  E --> K[(Baza tenanta)]
  F --> K
  G --> K
  H --> K

Reguły techniczne

Core jest modułem obowiązkowym, ponieważ utrzymuje podstawowy model pracy i członków. Settings, Chat, Mcp i RecurringTasks są modułami opcjonalnymi kontrolowanymi przez flagi TenantModuleFlag.

Role SystemAdmin i TenantAdmin mają odrębne znaczenie. SystemAdmin administruje platformą, a TenantAdmin zarządza użytkownikami i konfiguracją w granicach konkretnej firmy.