# 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.