Skip to content

Struktura Systemu

Struktura Katalogów Projektu

Struktura systemu jest zdefiniowana w pliku docker-compose.yml. Wszystkie usługi są zdefiniowane w pliku docker-compose.yml i są uruchamiane w kontenerach Docker. Poniżej znajduje się struktura katalogów projektu, wraz z opisem zawartości każdego z nich.

yaml
- frontend/
  ├── src/
  │   │   # Zawiera wszystkie ścieżki aplikacji, które są dostępne dla użytkownika.
  │   ├── app/
  │   │   ├─ layout.tsx
  │   │   └─ page.tsx
  │   │   # Zawiera wszystkie komponenty (Elementy UI) aplikacji.
  │   ├── components/
  │   │   ├─ ui/
  │   │   ├─ core/
  │   │   └─ ...
  │   │   # Zawiera tz. "hooki" - funkcje, które pozwalają na korzystanie z React Hooks.
  │   ├── hooks/
  │   │   ├─ useSettings.ts
  │   │   ├─ useLocalStorage.ts
  │   │   └─ ...
  │   │   # Zawiera funkcje pomocnicze, które są używane w różnych miejscach aplikacji.
  │   ├── lib/
  │   │   ├─ utils.ts
  │   │   ├─ api-client.ts
  │   │   └─ ...
  │   │   # Przechowuje stan aplikacji, zarządza logiką komunikacji z serwerem.
  │   ├── stores/
  │   │   ├─ objects/
  │   │   ├─ message-store.ts
  │   │   └─ ...
  │   │   # Zawiera typy używane przez TypeScript.
  │   ├── types/
  │   │   └─ ...
  │   └── ...
   # Zawiera publiczne pliki aplikacji, które są dostępne dla użytkownika.
  ├── public/
  ├── ...
  └── README.md # Instrukcje dotyczące uruchomienia frontendu oraz linki do dokumentacji.

- backend/
├── LytharBackend/
│  ├─ Controllers/
│  │  # Wszystkie błędy które nasz backend może zwrócić
│  ├─ Exceptons/
│  │  # Baza do innych błędów z tego folderu (dziedziczenie klas)
│  │  ├─ BaseHttpException.cs
│  │  └─ ...
│  │  # Nasz prosty system do protokołu LDAP
│  ├─ Ldap/
│  │  ├─ LdapConfig.cs
│  │  └─ LdapService.cs
│  │  # Wygenerowane migracje do bazy danych, używane do komendy 'Update-Database'
│  │  # Można je automatycznie wygenerować używając 'Add-Migration <nazwa zmiany>'
│  ├─ Migrations/
│  │  ├─ timestamp_x.cs
│  │  └─ ...
│  │  # Tabele z bazy danych
│  ├─ Models/
│  │  ├─ User.cs
│  │  └─ ...
│  │  # Kod do sesji programu, jest implementowane na interfejsie
│  │  # Pozwala to na kompletne zmiany w implementacji w prosty sposób
│  ├─ Session/
│  │  ├─ ISessionService.cs # Interfejs
│  │  └─ JwtSessions.cs # Implementacja JWT (Json Web Token)
│  ├─ Program.cs
│  └─ ...
├─ ...
├─ # Opis instalacji i konfiguracji backendu,
├─ # instrukcje dotyczące uruchomienia oraz linki do dokumentacji.
└─ README.md

- nginx/
  ├── nginx.conf # Plik konfiguracyjny NGINX.
  ├── Dockerfile # Plik Dockerfile dla serwera proxy NGINX.
  └── ...

- docker-compose.yml # Plik konfiguracyjny Docker Compose definiujący usługi aplikacji oraz ich konfiguracje.

Diagram Komunikacji System - Użytkownik

Dostępne w pełnej jakości na Excelidraw