Files
duck-prod-manager/project.md

3.0 KiB

Project: Duck Production Manager

System zarządzania produkcją (prawdopodobnie gitar) zintegrowany z systemem Mayo oraz bazą Directus. Projekt składa się z frontendu (Quasar), backendu (FastAPI) oraz rozszerzeń Directus.

Struktura Katalogów i Plików

Root

  • db_schema.dbml - Dokumentacja struktury bazy danych Directus (tabele z prefiksem mayo_).
  • snapshot(6).json - Zrzut konfiguracji Directus (kolekcje, pola, relacje).
  • directus-api.http - Plik z żądaniami HTTP do testowania API Directus.
  • question.md - Notatki lub pytania dotyczące projektu.
  • project.md - (Ten plik) Dokumentacja struktury i stanu projektu.

Frontend (/frontend)

Aplikacja webowa oparta na frameworku Quasar (Vue 3).

  • quasar.config.js - Główna konfiguracja frameworka Quasar i Vite.
  • package.json - Zależności i skrypty frontendu (m.in. quasar dev, quasar build).
  • src/ - Kod źródłowy aplikacji.
    • App.vue - Główny komponent aplikacji.
    • pages/ - Komponenty stron (np. IndexPage.vue).
    • layouts/ - Układy stron (np. MainLayout.vue).
    • components/ - Współdzielone komponenty Vue (np. OrderCard.vue, panele bocznego menu).
    • stores/ - Zarządzanie stanem aplikacji (Pinia).
    • boot/ - Skrypty inicjalizacyjne (np. konfiguracja axios).

Backend (/backend)

Serwis integracyjny pośredniczący między Directus a systemem Mayo.

  • my_fastapi.py - Główna aplikacja FastAPI wystawiająca punkty końcowe do pobierania danych z Mayo.
  • mayo/ - Moduł kliencki do komunikacji z systemem Mayo.
    • client.py - Logika klienta HTTP (MayoClient) obsługująca sesje i żądania.
    • parser.py - Narzędzia do parsowania danych otrzymanych z Mayo.
    • models.py - Modele danych Pydantic dla odpowiedzi z Mayo.
    • exceptions.py - Definicje specyficznych wyjątków dla integracji Mayo.

Directus Extension (/directus/extensions/directus-extension-mayo-api)

Rozszerzenie Directus (Endpoint) dodające dedykowane punkty końcowe API.

  • src/index.js - Implementacja endpointów (np. /products, /orders, /my-products) korzystająca z wewnętrznych usług Directus (ItemsService) lub bezpośrednich zapytań Knex.
  • package.json - Konfiguracja rozszerzenia i zależności SDK Directus.

Inne

  • /responses - Przykładowe odpowiedzi JSON z zewnętrznych systemów.
  • /notes - Dodatkowa dokumentacja (np. frontend-api-handoff.md).

Odpowiedzialności komponentów

  1. Directus: Główna baza danych i system zarządzania treścią. Przechowuje dane o produktach, częściach, kolorach i zamówieniach.
  2. Backend (FastAPI): Odpowiada za pobieranie "żywych" danych z zewnętrznego systemu Mayo, do których Directus nie ma bezpośredniego dostępu.
  3. Frontend (Quasar): Interfejs użytkownika, który agreguje dane z Directus (poprzez standardowe API i dedykowane rozszerzenie) oraz z backendu FastAPI.
  4. Directus Extension: Optymalizuje zapytania do bazy danych Directus dla potrzeb frontendu, łącząc dane z wielu tabel w dedykowane formaty odpowiedzi.