From 1c40ef6601da8d9c8d2430ebe1a4c8c959f7965f Mon Sep 17 00:00:00 2001 From: Carmine Savino Date: Fri, 17 Jul 2026 11:34:15 +0200 Subject: [PATCH] backoffice first commit --- .env | 2 + .env.production.example | 4 + .github/copilot-instructions.md | 4 +- .gitignore | 3 +- CLAUDE.md | 4 +- PVC_LISTINO.xls | Bin 166912 -> 195584 bytes backoffice/.editorconfig | 18 + backoffice/.env.example | 65 + backoffice/.gitattributes | 11 + backoffice/.gitignore | 27 + backoffice/.npmrc | 2 + backoffice/README.md | 104 + .../Filament/Resources/ClienteResource.php | 72 + .../ClienteResource/Pages/CreateCliente.php | 12 + .../ClienteResource/Pages/EditCliente.php | 20 + .../ClienteResource/Pages/ListClientes.php | 19 + .../ClienteResource/Pages/ViewCliente.php | 19 + .../Filament/Resources/PreventivoResource.php | 170 + .../Pages/CreatePreventivo.php | 12 + .../Pages/EditPreventivo.php | 20 + .../Pages/ListPreventivos.php | 17 + .../Pages/ViewPreventivo.php | 44 + .../RelationManagers/ItemsRelationManager.php | 57 + .../Controllers/Api/CarrelloController.php | 223 + .../app/Http/Controllers/Controller.php | 8 + backoffice/app/Mail/PreventivoAdmin.php | 37 + backoffice/app/Mail/PreventivoCliente.php | 52 + backoffice/app/Models/Cliente.php | 30 + backoffice/app/Models/Preventivo.php | 51 + backoffice/app/Models/PreventivoItem.php | 27 + backoffice/app/Models/User.php | 32 + .../app/Providers/AppServiceProvider.php | 24 + .../Providers/Filament/AdminPanelProvider.php | 63 + .../app/Support/ConfigurazioneFormatter.php | 114 + backoffice/app/Support/PreventivoPdf.php | 38 + backoffice/artisan | 18 + backoffice/bootstrap/app.php | 22 + backoffice/bootstrap/cache/.gitignore | 2 + backoffice/bootstrap/providers.php | 6 + .../cliente/dist/assets/index-BidQ3v5l.js | 17 + .../cliente/dist/assets/index-DNK0MLY8.css | 1 + backoffice/cliente/dist/index.html | 13 + backoffice/cliente/index.html | 13 + backoffice/cliente/package.json | 18 + backoffice/cliente/pnpm-lock.yaml | 758 ++ backoffice/cliente/public/kreios-logo.jpg | Bin 0 -> 26398 bytes backoffice/cliente/src/App.vue | 222 + backoffice/cliente/src/api.js | 59 + backoffice/cliente/src/main.js | 5 + backoffice/cliente/src/style.css | 93 + backoffice/cliente/vite.config.js | 11 + backoffice/composer.json | 90 + backoffice/composer.lock | 10601 ++++++++++++++++ backoffice/config/app.php | 126 + backoffice/config/auth.php | 117 + backoffice/config/cache.php | 136 + backoffice/config/cors.php | 23 + backoffice/config/database.php | 184 + backoffice/config/filesystems.php | 80 + backoffice/config/logging.php | 132 + backoffice/config/mail.php | 118 + backoffice/config/preventivi.php | 9 + backoffice/config/queue.php | 129 + backoffice/config/sanctum.php | 87 + backoffice/config/services.php | 38 + backoffice/config/session.php | 233 + backoffice/database/.gitignore | 1 + backoffice/database/factories/UserFactory.php | 45 + .../0001_01_01_000000_create_users_table.php | 49 + .../0001_01_01_000001_create_cache_table.php | 35 + .../0001_01_01_000002_create_jobs_table.php | 59 + ...18_create_personal_access_tokens_table.php | 33 + ...026_07_16_135034_create_clientes_table.php | 33 + ..._07_16_135035_create_preventivos_table.php | 30 + ...6_135036_create_preventivo_items_table.php | 32 + .../database/seeders/DatabaseSeeder.php | 25 + backoffice/package.json | 16 + backoffice/phpunit.xml | 36 + backoffice/public/.htaccess | 25 + .../public/css/filament/filament/app.css | 1 + .../public/css/filament/forms/forms.css | 49 + .../public/css/filament/support/support.css | 1 + backoffice/public/favicon.ico | 0 backoffice/public/images/kreios-logo.jpg | Bin 0 -> 26398 bytes backoffice/public/index.php | 20 + backoffice/public/js/filament/filament/app.js | 1 + .../public/js/filament/filament/echo.js | 13 + .../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 | 150 + .../js/filament/forms/components/select.js | 6 + .../filament/forms/components/tags-input.js | 1 + .../js/filament/forms/components/textarea.js | 1 + .../filament/notifications/notifications.js | 1 + .../public/js/filament/support/support.js | 46 + .../js/filament/tables/components/table.js | 1 + .../js/filament/widgets/components/chart.js | 30 + .../components/stats-overview/stat/chart.js | 22 + backoffice/public/robots.txt | 2 + backoffice/resources/css/app.css | 9 + backoffice/resources/js/app.js | 1 + .../views/emails/preventivo-admin.blade.php | 23 + .../views/emails/preventivo-cliente.blade.php | 23 + .../resources/views/pdf/preventivo.blade.php | 105 + .../views/vendor/mail/html/button.blade.php | 24 + .../views/vendor/mail/html/footer.blade.php | 11 + .../views/vendor/mail/html/header.blade.php | 12 + .../views/vendor/mail/html/layout.blade.php | 58 + .../views/vendor/mail/html/message.blade.php | 27 + .../views/vendor/mail/html/panel.blade.php | 14 + .../views/vendor/mail/html/subcopy.blade.php | 7 + .../views/vendor/mail/html/table.blade.php | 3 + .../views/vendor/mail/html/themes/default.css | 297 + .../views/vendor/mail/text/button.blade.php | 1 + .../views/vendor/mail/text/footer.blade.php | 1 + .../views/vendor/mail/text/header.blade.php | 1 + .../views/vendor/mail/text/layout.blade.php | 9 + .../views/vendor/mail/text/message.blade.php | 27 + .../views/vendor/mail/text/panel.blade.php | 1 + .../views/vendor/mail/text/subcopy.blade.php | 1 + .../views/vendor/mail/text/table.blade.php | 1 + backoffice/resources/views/welcome.blade.php | 223 + backoffice/routes/api.php | 17 + backoffice/routes/console.php | 8 + backoffice/routes/web.php | 22 + backoffice/storage/app/.gitignore | 4 + backoffice/storage/app/private/.gitignore | 2 + backoffice/storage/app/public/.gitignore | 2 + backoffice/storage/framework/.gitignore | 9 + backoffice/storage/framework/cache/.gitignore | 3 + .../storage/framework/cache/data/.gitignore | 2 + .../storage/framework/sessions/.gitignore | 2 + .../storage/framework/testing/.gitignore | 2 + backoffice/storage/framework/views/.gitignore | 2 + backoffice/storage/logs/.gitignore | 2 + backoffice/tests/Feature/ExampleTest.php | 19 + backoffice/tests/TestCase.php | 10 + backoffice/tests/Unit/ExampleTest.php | 16 + backoffice/vite.config.js | 24 + build.sh | 10 +- docs/PREVENTIVI_BACKOFFICE.md | 162 + docs/URL_PARAMS.md | 2 +- package-lock.json | 4 +- package.json | 2 +- scripts/extract_listini_pvc.py | 73 +- .../pvc/scorrevole_hst_1_anta/listino.json | 2751 ++-- .../pvc/scorrevole_hst_2_ante/listino.json | 2751 ++-- .../scorrevole_parallelo_1_anta/listino.json | 3010 ++--- .../pvc/scorrevole_sf_1_anta/listino.json | 1646 ++- .../pvc/scorrevole_sf_2_ante/listino.json | 2591 +++- .../traslante_scorrevole_1_anta/listino.json | 3818 +++--- src/assets/img/kreios.jpg | Bin 0 -> 26398 bytes src/assets/style.css | 34 + src/index.html | 1 + src/js/starter.js | 111 +- vite.config.js | 7 +- 159 files changed, 25830 insertions(+), 7875 deletions(-) create mode 100644 .env create mode 100644 .env.production.example create mode 100644 backoffice/.editorconfig create mode 100644 backoffice/.env.example create mode 100644 backoffice/.gitattributes create mode 100644 backoffice/.gitignore create mode 100644 backoffice/.npmrc create mode 100644 backoffice/README.md create mode 100644 backoffice/app/Filament/Resources/ClienteResource.php create mode 100644 backoffice/app/Filament/Resources/ClienteResource/Pages/CreateCliente.php create mode 100644 backoffice/app/Filament/Resources/ClienteResource/Pages/EditCliente.php create mode 100644 backoffice/app/Filament/Resources/ClienteResource/Pages/ListClientes.php create mode 100644 backoffice/app/Filament/Resources/ClienteResource/Pages/ViewCliente.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource/Pages/CreatePreventivo.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource/Pages/EditPreventivo.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource/Pages/ListPreventivos.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource/Pages/ViewPreventivo.php create mode 100644 backoffice/app/Filament/Resources/PreventivoResource/RelationManagers/ItemsRelationManager.php create mode 100644 backoffice/app/Http/Controllers/Api/CarrelloController.php create mode 100644 backoffice/app/Http/Controllers/Controller.php create mode 100644 backoffice/app/Mail/PreventivoAdmin.php create mode 100644 backoffice/app/Mail/PreventivoCliente.php create mode 100644 backoffice/app/Models/Cliente.php create mode 100644 backoffice/app/Models/Preventivo.php create mode 100644 backoffice/app/Models/PreventivoItem.php create mode 100644 backoffice/app/Models/User.php create mode 100644 backoffice/app/Providers/AppServiceProvider.php create mode 100644 backoffice/app/Providers/Filament/AdminPanelProvider.php create mode 100644 backoffice/app/Support/ConfigurazioneFormatter.php create mode 100644 backoffice/app/Support/PreventivoPdf.php create mode 100755 backoffice/artisan create mode 100644 backoffice/bootstrap/app.php create mode 100644 backoffice/bootstrap/cache/.gitignore create mode 100644 backoffice/bootstrap/providers.php create mode 100644 backoffice/cliente/dist/assets/index-BidQ3v5l.js create mode 100644 backoffice/cliente/dist/assets/index-DNK0MLY8.css create mode 100644 backoffice/cliente/dist/index.html create mode 100644 backoffice/cliente/index.html create mode 100644 backoffice/cliente/package.json create mode 100644 backoffice/cliente/pnpm-lock.yaml create mode 100644 backoffice/cliente/public/kreios-logo.jpg create mode 100644 backoffice/cliente/src/App.vue create mode 100644 backoffice/cliente/src/api.js create mode 100644 backoffice/cliente/src/main.js create mode 100644 backoffice/cliente/src/style.css create mode 100644 backoffice/cliente/vite.config.js create mode 100644 backoffice/composer.json create mode 100644 backoffice/composer.lock create mode 100644 backoffice/config/app.php create mode 100644 backoffice/config/auth.php create mode 100644 backoffice/config/cache.php create mode 100644 backoffice/config/cors.php create mode 100644 backoffice/config/database.php create mode 100644 backoffice/config/filesystems.php create mode 100644 backoffice/config/logging.php create mode 100644 backoffice/config/mail.php create mode 100644 backoffice/config/preventivi.php create mode 100644 backoffice/config/queue.php create mode 100644 backoffice/config/sanctum.php create mode 100644 backoffice/config/services.php create mode 100644 backoffice/config/session.php create mode 100644 backoffice/database/.gitignore create mode 100644 backoffice/database/factories/UserFactory.php create mode 100644 backoffice/database/migrations/0001_01_01_000000_create_users_table.php create mode 100644 backoffice/database/migrations/0001_01_01_000001_create_cache_table.php create mode 100644 backoffice/database/migrations/0001_01_01_000002_create_jobs_table.php create mode 100644 backoffice/database/migrations/2026_07_16_135018_create_personal_access_tokens_table.php create mode 100644 backoffice/database/migrations/2026_07_16_135034_create_clientes_table.php create mode 100644 backoffice/database/migrations/2026_07_16_135035_create_preventivos_table.php create mode 100644 backoffice/database/migrations/2026_07_16_135036_create_preventivo_items_table.php create mode 100644 backoffice/database/seeders/DatabaseSeeder.php create mode 100644 backoffice/package.json create mode 100644 backoffice/phpunit.xml create mode 100644 backoffice/public/.htaccess create mode 100644 backoffice/public/css/filament/filament/app.css create mode 100644 backoffice/public/css/filament/forms/forms.css create mode 100644 backoffice/public/css/filament/support/support.css create mode 100644 backoffice/public/favicon.ico create mode 100644 backoffice/public/images/kreios-logo.jpg create mode 100644 backoffice/public/index.php create mode 100644 backoffice/public/js/filament/filament/app.js create mode 100644 backoffice/public/js/filament/filament/echo.js create mode 100644 backoffice/public/js/filament/forms/components/color-picker.js create mode 100644 backoffice/public/js/filament/forms/components/date-time-picker.js create mode 100644 backoffice/public/js/filament/forms/components/file-upload.js create mode 100644 backoffice/public/js/filament/forms/components/key-value.js create mode 100644 backoffice/public/js/filament/forms/components/markdown-editor.js create mode 100644 backoffice/public/js/filament/forms/components/rich-editor.js create mode 100644 backoffice/public/js/filament/forms/components/select.js create mode 100644 backoffice/public/js/filament/forms/components/tags-input.js create mode 100644 backoffice/public/js/filament/forms/components/textarea.js create mode 100644 backoffice/public/js/filament/notifications/notifications.js create mode 100644 backoffice/public/js/filament/support/support.js create mode 100644 backoffice/public/js/filament/tables/components/table.js create mode 100644 backoffice/public/js/filament/widgets/components/chart.js create mode 100644 backoffice/public/js/filament/widgets/components/stats-overview/stat/chart.js create mode 100644 backoffice/public/robots.txt create mode 100644 backoffice/resources/css/app.css create mode 100644 backoffice/resources/js/app.js create mode 100644 backoffice/resources/views/emails/preventivo-admin.blade.php create mode 100644 backoffice/resources/views/emails/preventivo-cliente.blade.php create mode 100644 backoffice/resources/views/pdf/preventivo.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/button.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/footer.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/header.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/layout.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/message.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/panel.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/subcopy.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/table.blade.php create mode 100644 backoffice/resources/views/vendor/mail/html/themes/default.css create mode 100644 backoffice/resources/views/vendor/mail/text/button.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/footer.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/header.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/layout.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/message.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/panel.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/subcopy.blade.php create mode 100644 backoffice/resources/views/vendor/mail/text/table.blade.php create mode 100644 backoffice/resources/views/welcome.blade.php create mode 100644 backoffice/routes/api.php create mode 100644 backoffice/routes/console.php create mode 100644 backoffice/routes/web.php create mode 100644 backoffice/storage/app/.gitignore create mode 100644 backoffice/storage/app/private/.gitignore create mode 100644 backoffice/storage/app/public/.gitignore create mode 100644 backoffice/storage/framework/.gitignore create mode 100644 backoffice/storage/framework/cache/.gitignore create mode 100644 backoffice/storage/framework/cache/data/.gitignore create mode 100644 backoffice/storage/framework/sessions/.gitignore create mode 100644 backoffice/storage/framework/testing/.gitignore create mode 100644 backoffice/storage/framework/views/.gitignore create mode 100644 backoffice/storage/logs/.gitignore create mode 100644 backoffice/tests/Feature/ExampleTest.php create mode 100644 backoffice/tests/TestCase.php create mode 100644 backoffice/tests/Unit/ExampleTest.php create mode 100644 backoffice/vite.config.js create mode 100644 docs/PREVENTIVI_BACKOFFICE.md create mode 100644 src/assets/img/kreios.jpg diff --git a/.env b/.env new file mode 100644 index 0000000..4e3e163 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +# Ambiente di sviluppo locale (pnpm dev). Usato solo dal browser (nessun segreto). +VITE_PREVENTIVI_API_BASE=http://localhost:8000/api diff --git a/.env.production.example b/.env.production.example new file mode 100644 index 0000000..2dd5887 --- /dev/null +++ b/.env.production.example @@ -0,0 +1,4 @@ +# Copia questo file in .env.production e imposta l'URL reale dell'API Laravel prima del deploy +# (pnpm build usa .env.production quando presente). .env.production non è tracciato in git: +# va creato una volta per ambiente e non deve mai contenere un dominio "indovinato". +VITE_PREVENTIVI_API_BASE=https://preventivi.kreiosinfissi.it/api diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index f4f219b..dc9af24 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,6 +1,6 @@ -# Copilot Instructions for infissionline-vite +# Copilot Instructions for kreiosinfissi-vite -Welcome to the `infissionline-vite` project! This document provides essential guidelines for AI coding agents to be productive in this codebase. Follow these instructions to understand the architecture, workflows, and conventions specific to this project. +Welcome to the `kreiosinfissi-vite` project! This document provides essential guidelines for AI coding agents to be productive in this codebase. Follow these instructions to understand the architecture, workflows, and conventions specific to this project. --- diff --git a/.gitignore b/.gitignore index 9eef5d1..c31695e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /kreios/ /dist/ /node_modules/ -kreios.zip \ No newline at end of file +kreios.zip +.env.production \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 7fd8d6c..7bf47f4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,9 +4,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project overview -Web-based 3D configurator for infissi (windows/doors) — "infissionline-vite". It renders a Three.js scene +Web-based 3D configurator for infissi (windows/doors) — "kreiosinfissi-vite". It renders a Three.js scene (GLB models) driven by JSON product data and a jQuery-based menu UI, and is meant to run **inside an -`