From 4f0f06a7da427c9753b2dce35ee73ce421ebc904 Mon Sep 17 00:00:00 2001 From: E98Developer Date: Wed, 24 Jun 2026 07:02:11 +0200 Subject: [PATCH] clean up gitrepo --- .gitignore | 78 +- .junie/guidelines.md | 111 -- .junie/skills/laravel-best-practices/SKILL.md | 190 --- .../rules/advanced-queries.md | 106 -- .../rules/architecture.md | 202 ---- .../rules/blade-views.md | 36 - .../laravel-best-practices/rules/caching.md | 70 -- .../rules/collections.md | 44 - .../laravel-best-practices/rules/config.md | 73 -- .../rules/db-performance.md | 192 --- .../laravel-best-practices/rules/eloquent.md | 148 --- .../rules/error-handling.md | 72 -- .../rules/events-notifications.md | 48 - .../rules/http-client.md | 160 --- .../laravel-best-practices/rules/mail.md | 27 - .../rules/migrations.md | 121 -- .../rules/queue-jobs.md | 146 --- .../laravel-best-practices/rules/routing.md | 98 -- .../rules/scheduling.md | 39 - .../laravel-best-practices/rules/security.md | 198 --- .../laravel-best-practices/rules/style.md | Bin 4443 -> 0 bytes .../laravel-best-practices/rules/testing.md | 43 - .../rules/validation.md | 75 -- .junie/skills/livewire-development/SKILL.md | 115 -- .junie/skills/pest-testing/SKILL.md | 108 -- .../skills/tailwindcss-development/SKILL.md | 119 -- database/csv/order_numbers.csv | 2 - database/csv/orders.csv | 5 - database/csv/price_list_prices.csv | 597 ---------- database/csv/producers.csv | 2 - database/csv/products.csv | 597 ---------- database/csv/productsJaner.csv | 597 ---------- database/csv/productsShort.csv | 51 - database/csv/suppliers.csv | 15 - database/csv/suppliers2.csv | 15 - .../a12f87e1-cb02-4d99-8745-46f19759f168.xlsx | Bin 31058 -> 0 bytes public/css/filament/filament/app.css | 2 - .../fonts/filament/filament/inter/index.css | 1 - ...er-cyrillic-ext-wght-normal-ASVAGXXE.woff2 | Bin 25888 -> 0 bytes ...er-cyrillic-ext-wght-normal-XKHXBTUO.woff2 | Bin 27284 -> 0 bytes .../inter-cyrillic-wght-normal-EWLSKVKN.woff2 | Bin 18740 -> 0 bytes .../inter-cyrillic-wght-normal-R5CMSONN.woff2 | Bin 17600 -> 0 bytes ...inter-greek-ext-wght-normal-7GGTF7EK.woff2 | Bin 11200 -> 0 bytes ...inter-greek-ext-wght-normal-ZEVLMORV.woff2 | Bin 12732 -> 0 bytes .../inter-greek-wght-normal-AXVTPQD5.woff2 | Bin 22480 -> 0 bytes .../inter-greek-wght-normal-N43DBLU2.woff2 | Bin 19072 -> 0 bytes ...inter-latin-ext-wght-normal-5SRY4DMZ.woff2 | Bin 74328 -> 0 bytes ...inter-latin-ext-wght-normal-GZCIV3NH.woff2 | Bin 79940 -> 0 bytes ...inter-latin-ext-wght-normal-HA22NDSG.woff2 | Bin 85068 -> 0 bytes .../inter-latin-wght-normal-NRMW37G5.woff2 | Bin 48256 -> 0 bytes .../inter-latin-wght-normal-O25CN4JL.woff2 | Bin 48444 -> 0 bytes .../inter-latin-wght-normal-OPIJAQLS.woff2 | Bin 46704 -> 0 bytes ...nter-vietnamese-wght-normal-CE5GGD3W.woff2 | Bin 10252 -> 0 bytes ...nter-vietnamese-wght-normal-TWG5UU7E.woff2 | Bin 10540 -> 0 bytes public/js/filament/actions/actions.js | 1 - public/js/filament/filament/app.js | 1 - public/js/filament/filament/echo.js | 13 - .../forms/components/checkbox-list.js | 1 - .../filament/forms/components/code-editor.js | 37 - .../filament/forms/components/color-picker.js | 1 - .../forms/components/date-time-picker.js | 1 - .../filament/forms/components/file-upload.js | 123 -- .../js/filament/forms/components/key-value.js | 1 - .../forms/components/markdown-editor.js | 51 - .../filament/forms/components/rich-editor.js | 93 -- public/js/filament/forms/components/select.js | 1 - public/js/filament/forms/components/slider.js | 1 - .../filament/forms/components/tags-input.js | 1 - .../js/filament/forms/components/textarea.js | 1 - .../filament/notifications/notifications.js | 1 - .../js/filament/schemas/components/actions.js | 1 - public/js/filament/schemas/components/tabs.js | 1 - .../js/filament/schemas/components/wizard.js | 1 - public/js/filament/schemas/schemas.js | 1 - public/js/filament/support/support.js | 46 - .../tables/components/columns/checkbox.js | 1 - .../tables/components/columns/select.js | 1 - .../tables/components/columns/text-input.js | 1 - .../tables/components/columns/toggle.js | 1 - public/js/filament/tables/tables.js | 1 - .../js/filament/widgets/components/chart.js | 30 - .../components/stats-overview/stat/chart.js | 22 - .../vendor/scribe/css/theme-default.print.css | 393 ------ .../vendor/scribe/css/theme-default.style.css | 1061 ----------------- public/vendor/scribe/images/navbar.png | Bin 96 -> 0 bytes .../vendor/scribe/js/theme-default-3.37.2.js | 136 --- public/vendor/scribe/js/tryitout-3.37.2.js | 275 ----- storage/framework/cache/.gitignore | 3 - storage/framework/cache/data/.gitignore | 2 - storage/framework/sessions/.gitignore | 2 - storage/framework/testing/.gitignore | 2 - storage/framework/views/.gitignore | 2 - 92 files changed, 63 insertions(+), 6751 deletions(-) delete mode 100644 .junie/guidelines.md delete mode 100644 .junie/skills/laravel-best-practices/SKILL.md delete mode 100644 .junie/skills/laravel-best-practices/rules/advanced-queries.md delete mode 100644 .junie/skills/laravel-best-practices/rules/architecture.md delete mode 100644 .junie/skills/laravel-best-practices/rules/blade-views.md delete mode 100644 .junie/skills/laravel-best-practices/rules/caching.md delete mode 100644 .junie/skills/laravel-best-practices/rules/collections.md delete mode 100644 .junie/skills/laravel-best-practices/rules/config.md delete mode 100644 .junie/skills/laravel-best-practices/rules/db-performance.md delete mode 100644 .junie/skills/laravel-best-practices/rules/eloquent.md delete mode 100644 .junie/skills/laravel-best-practices/rules/error-handling.md delete mode 100644 .junie/skills/laravel-best-practices/rules/events-notifications.md delete mode 100644 .junie/skills/laravel-best-practices/rules/http-client.md delete mode 100644 .junie/skills/laravel-best-practices/rules/mail.md delete mode 100644 .junie/skills/laravel-best-practices/rules/migrations.md delete mode 100644 .junie/skills/laravel-best-practices/rules/queue-jobs.md delete mode 100644 .junie/skills/laravel-best-practices/rules/routing.md delete mode 100644 .junie/skills/laravel-best-practices/rules/scheduling.md delete mode 100644 .junie/skills/laravel-best-practices/rules/security.md delete mode 100644 .junie/skills/laravel-best-practices/rules/style.md delete mode 100644 .junie/skills/laravel-best-practices/rules/testing.md delete mode 100644 .junie/skills/laravel-best-practices/rules/validation.md delete mode 100644 .junie/skills/livewire-development/SKILL.md delete mode 100644 .junie/skills/pest-testing/SKILL.md delete mode 100644 .junie/skills/tailwindcss-development/SKILL.md delete mode 100644 database/csv/order_numbers.csv delete mode 100644 database/csv/orders.csv delete mode 100644 database/csv/price_list_prices.csv delete mode 100644 database/csv/producers.csv delete mode 100644 database/csv/products.csv delete mode 100644 database/csv/productsJaner.csv delete mode 100644 database/csv/productsShort.csv delete mode 100644 database/csv/suppliers.csv delete mode 100644 database/csv/suppliers2.csv delete mode 100644 public/attachments/0000000213/a12f87e1-cb02-4d99-8745-46f19759f168.xlsx delete mode 100644 public/css/filament/filament/app.css delete mode 100644 public/fonts/filament/filament/inter/index.css delete mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-XKHXBTUO.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-EWLSKVKN.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-7GGTF7EK.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-ZEVLMORV.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-HA22NDSG.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-O25CN4JL.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 delete mode 100644 public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-TWG5UU7E.woff2 delete mode 100644 public/js/filament/actions/actions.js delete mode 100644 public/js/filament/filament/app.js delete mode 100644 public/js/filament/filament/echo.js delete mode 100644 public/js/filament/forms/components/checkbox-list.js delete mode 100644 public/js/filament/forms/components/code-editor.js delete mode 100644 public/js/filament/forms/components/color-picker.js delete mode 100644 public/js/filament/forms/components/date-time-picker.js delete mode 100644 public/js/filament/forms/components/file-upload.js delete mode 100644 public/js/filament/forms/components/key-value.js delete mode 100644 public/js/filament/forms/components/markdown-editor.js delete mode 100644 public/js/filament/forms/components/rich-editor.js delete mode 100644 public/js/filament/forms/components/select.js delete mode 100644 public/js/filament/forms/components/slider.js delete mode 100644 public/js/filament/forms/components/tags-input.js delete mode 100644 public/js/filament/forms/components/textarea.js delete mode 100644 public/js/filament/notifications/notifications.js delete mode 100644 public/js/filament/schemas/components/actions.js delete mode 100644 public/js/filament/schemas/components/tabs.js delete mode 100644 public/js/filament/schemas/components/wizard.js delete mode 100644 public/js/filament/schemas/schemas.js delete mode 100644 public/js/filament/support/support.js delete mode 100644 public/js/filament/tables/components/columns/checkbox.js delete mode 100644 public/js/filament/tables/components/columns/select.js delete mode 100644 public/js/filament/tables/components/columns/text-input.js delete mode 100644 public/js/filament/tables/components/columns/toggle.js delete mode 100644 public/js/filament/tables/tables.js delete mode 100644 public/js/filament/widgets/components/chart.js delete mode 100644 public/js/filament/widgets/components/stats-overview/stat/chart.js delete mode 100644 public/vendor/scribe/css/theme-default.print.css delete mode 100644 public/vendor/scribe/css/theme-default.style.css delete mode 100644 public/vendor/scribe/images/navbar.png delete mode 100644 public/vendor/scribe/js/theme-default-3.37.2.js delete mode 100644 public/vendor/scribe/js/tryitout-3.37.2.js delete mode 100644 storage/framework/cache/.gitignore delete mode 100644 storage/framework/cache/data/.gitignore delete mode 100644 storage/framework/sessions/.gitignore delete mode 100644 storage/framework/testing/.gitignore delete mode 100644 storage/framework/views/.gitignore diff --git a/.gitignore b/.gitignore index ec426c8..f41e2e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,75 @@ -*.log -.DS_Store +# ============================================================================= +# 1. LARAVEL ALAPOK & KÖRNYEZETI FÁJLOK (BIZTONSÁG) +# ============================================================================= .env .env.backup .env.production -.phpactor.json -.phpunit.result.cache +.env.* +auth.json +/storage/*.key + +# ============================================================================= +# 2. WINDOWS & IDE / FEJLESZTŐI ESZKÖZÖK (DOCKERBE NEM KELL) +# ============================================================================= +Thumbs.db +desktop.ini +.DS_Store + /.fleet /.idea /.nova -/.phpunit.cache /.vscode /.zed -/auth.json +Homestead.json +Homestead.yaml + +.phpactor.json +.phpunit.result.cache +/.phpunit.cache +/.junie + +# ============================================================================= +# 3. LOKÁLIS FÁJLRENDSZER, LOGOK ÉS CACHE (SOHASEM COMMITOLJUK) +# ============================================================================= +*.log +/storage/logs/* +!/storage/logs/.gitignore + +/storage/framework/* +!/storage/framework/.gitignore + +/storage/debugbar/* +/storage/pail +/storage/tmp/ + +/bootstrap/cache/* +!/bootstrap/cache/.gitignore + +# ============================================================================= +# 4. DEPENDENCY-K ÉS GENERÁLT ASSETEK (DOCKER / PIPELINE ÉPÍTI) +# ============================================================================= +/vendor /node_modules + /public/build /public/hot /public/storage -/storage/*.key -/storage/pail -/vendor -Homestead.json -Homestead.yaml -Thumbs.db -/storage/tmp/ -/public/images/supplierLogo/ -/public/attachments/ + +# Filament & Scribe auto-generált assetek +/public/css/filament +/public/js/filament +/public/fonts/filament +/public/vendor/scribe + +# ============================================================================= +# 5. TESZTELÉS (DUSK MARADVÁNYOK) +# ============================================================================= +/tests/Browser/screenshots/* +/tests/Browser/source/* + +# ============================================================================= +# 6. EVOLÚCIÓS MARADVÁNYOK & FELHASZNÁLÓI ADATOK (GDPR / TISZTASÁG) +# ============================================================================= +/public/images/supplierLogo/* +/public/attachments/* +/database/csv/* diff --git a/.junie/guidelines.md b/.junie/guidelines.md deleted file mode 100644 index e0cbcaa..0000000 --- a/.junie/guidelines.md +++ /dev/null @@ -1,111 +0,0 @@ -### Irányelvek és Konvenciók - -Ez a fájl tartalmazza a projekt fejlesztési irányelveit a hatékony és tiszta kód érdekében. - -#### Általános elvek -* **Tisztaság (Clean Code)**: A kódot úgy írd, hogy az emberi olvasó számára is egyértelmű legyen. Használj beszédes változó- és függvényneveket. -* **SOLID**: Kövesd az objektumorientált programozás elveit. -* **DRY (Don't Repeat Yourself)**: Kerüld a kódismétlést, használj segédfüggvényeket, Trait-eket vagy Service-eket. - -#### Technológiai keretrendszer -* **PHP**: Legalább 8.2-es verziót használunk. Kötelező a típusok (type hinting) használata mindenütt (függvény paramétereknél és visszatérési értékeknél is). -* **Laravel**: A legújabb stabil Laravel verziókkal kompatibilis kódírás (L12 supportra való felkészülés). -* **Blade**: UI fejlesztéshez Laravel Blade sablonmotort használunk. -* **Eloquence**: Az adatbázis eléréshez és kezeléshez elsődlegesen az Eloquent ORM-et használjuk. - -#### Architektúra és Struktúra -* **Controller**: A kontrollerek maradjanak vékonyak (thin controllers). Az üzleti logika kerüljön a Service-ekbe. -* **Service réteg**: Az összetett műveleteket Service osztályokban valósítsd meg (`app/Services/` alatt). Használj Dependency Injection-t a Service-ek bevezetéséhez a kontrollerekbe. -* **Route**: Használj névvel ellátott útvonalakat (named routes). -* **Requests**: Form Validation-re használd a Laravel FormRequest osztályait a kontrollerek metódusain belül. -* **DTO (Data Transfer Objects)**: Használj DTO-kat vagy Typed Array-eket nagyobb adatszerkezetek továbbításakor (pl. `Extra` library). - -##### Modellek, Auditálás és Workflow -- Minden fő modellnek a `App\Models\BaseAuditable` osztályból kell származnia. -- Ez biztosítja a `created_by`, `updated_by` és `deleted_by` mezők automatikus töltését a `ModelUserIdAppenderTrait` segítségével. -- Használjunk `SoftDeletes`-t, ahol az adatok megőrzése fontos. -- **Enums**: Amennyiben egy modell mezőjéhez meghatározott értékkészlet tartozik, kötelező PHP Enum használata és annak beállítása a `$casts` tömbben. -- **Workflow Kezelés**: Összetett, több lépésből álló folyamatok (pl. árlista feldolgozás) kezeléséhez PHP Enum-okat használunk: - - Az Enum definiálja a lépéseket, a címkéket (`label()`), a végrehajtó Job-okat (`jobClass()`) és a színeket (`color()`). - - A modell `workflow_steps` JSON mezője tárolja a folyamat állapotát, amit a modell `creating` eseményében inicializálunk az Enum `defaultSteps()` metódusával. - - A Service réteg felelős a státuszok léptetéséért a folyamat során. - -##### Hibrid Frontend Architektúra (Mix & Vite) és a "Clean Cut" elv -A projekt fokozatos modernizáció alatt áll, ezért két párhuzamos build rendszert használunk a **"Clean Cut"** (tiszta vágás) elv mentén: -- **Lényege**: A modern technológiával (Filament, Tailwind CSS, Vite) készülő modulok teljes mértékben elkülönülnek a régi, jQuery/Bootstrap alapú rendszertől. Nem ágyazzuk be őket AJAX-szal a régi keretbe, hanem saját, teljes oldalas layoutot kapnak a stílusütközések elkerülése érdekében. -- **Legacy (Laravel Mix)**: A meglévő jQuery, Bootstrap 4 és AdminLTE alapú kódokhoz. - - Forrásfájlok: `resources/js/`, `resources/sass/`, `resources/css/`. -- **Modern (Vite & Filament)**: Új funkciókhoz, Tailwind CSS-hez és Filament alapú admin felületekhez. - - Forrásfájlok: `resources/modern/js/`, `resources/modern/css/`, `resources/css/filament/`. - - Nézetek: `resources/modern/views/`, `resources/views/filament/`. - - Használat Blade-ben: `@vite(['resources/modern/css/app.css', 'resources/modern/js/app.js'])`. -- A modern nézeteket a Laravel automatikusan felismeri a `config/view.php` konfigurációja alapján. - -##### Modernizációs és Design Irányelvek (Filament & Tailwind) -- **Vizuális Konzisztencia**: Az új moduloknak (Filament) illeszkedniük kell a legacy "Pepper Grinder" színvilágához. - - Használjunk egyedi színpalettát az `AdminPanelProvider`-ben (Primary: `#b83400`, Gray: Pepper Grinder bézs/barna skála). - - A kerekítéseket és árnyékokat a `theme.css`-ben rögzített szögletesebb stílushoz kell igazítani. -- **Tailwind v4 Konfiguráció**: A Vite build folyamatban a `@tailwindcss/vite` plugint használjuk. - - Minden új Filament/Livewire forrást rögzíteni kell a `theme.css` `@source` direktívái között. -- **Navigáció Szeparáció**: - - A legacy és modern részek közötti váltáshoz sima linkeket használunk (teljes oldalújratöltés). - - A navigációs linkeknél a `data-no-ajax="true"` attribútumot kell használni, hogy a legacy JS (`app.js`) ne próbálja AJAX-szal betölteni a modern tartalmat. -- **Közös Elemek (Render Hooks)**: A megszokott elemeket (pl. `speedButtonNavBar`) Filamentben Render Hook-ok segítségével injektáljuk a fejlécbe (`TOPBAR_START`), biztosítva a funkcionális folytonosságot. -- **Filament 4 és Schemas rendszer**: A projekt egy egyedi Filament 4 alapú architektúrát és a `Filament\Schemas` rendszert használja. - - **Komponensek**: Sémák (Infolist/Form) definiálásakor elsődlegesen a `Filament\Schemas\Components` namespace alatti osztályokat (Section, Grid, Text stb.) kell használni a standard Filament komponensek helyett a kompatibilitás és a polling működése érdekében. - - **Namespace korrekciók**: Figyeljünk a v3-hoz képest megváltozott namespace-ekre, például a `ViewAction` a `Filament\Actions\ViewAction` alatt érhető el (nem a `Filament\Tables\Actions` vagy `Filament\Infolists\Actions` alatt). - - **Dinamikus frissítés (Polling)**: Az adatok automatikus frissítéséhez a `.poll('5s')` hívást a `Schemas\Components\Section` szinten kell alkalmazni a szülő konténeren, amely biztosítja a teljes nézet újrarenderelését. - -##### JavaScript Architektúra és Modulok -- A JS kód alapja egy egyedi objektumorientált rendszer. -- **Osztály-alapú felépítés**: Minden adminisztrációs felülethez (vagy összetettebb modulhoz) tartozzon egy specifikus JavaScript osztály (pl. `ProductAdmin`), amely a `resources/js/admin/` könyvtárban kap helyet. -- **DataModel használata**: Az adatok kliensoldali reprezentációjához használjunk a globális `DataModel` osztályból származtatott modelleket. -- **Globális APP objektum**: A példányosított modulokat és a globális beállításokat a `window.APP` objektumban tároljuk (pl. `APP.ProductAdmin`). Ez biztosítja a modulok közötti átjárhatóságot. - -##### Felhasználói Felület (UI) és Komponensek -- **DataTables Konvenciók**: - - Használjuk a `$.fn.dataTable.defaults`-ban definiált globális magyar nyelvű és formázási beállításokat. - - A táblázat sorvégi műveletgombjait (Szerkesztés, Törlés, Megtekintés) az `APP.datatableAddRowEditButton()`, `APP.datatableAddRowTrashButton()` stb. segédfüggvényekkel generáljuk a konzisztencia érdekében. -- **Mustache.js Sablonozás**: - - Dinamikus HTML tartalmak (pl. popupok, egyedi táblázat sorok) generálásához Mustache.js-t használunk. - - A sablonokat a Blade fájlokban a `