| Login | Heslo | Role |
|---|---|---|
| admin | password | Administrátor |
| winemaker | password | Vinař |
| employee | password | Pracovník vinařství |
| customer | password | Zákazník |
| Návštevník |
app/Http/Controllers/Admin/UserController.php
resources/views/admin/users/ (index, create, edit)app/Http/Controllers/Admin/EventController.php
resources/views/admin/events/ (index, create, edit)app/Http/Controllers/WinemakerController.php
resources/views/winemaker/dashboard/ (index, planned-tasks, completed-activities)app/Http/Controllers/VineyardRowController.php, app/Http/Controllers/VineyardMapController.php
resources/views/vineyard-rows/, resources/views/vineyard/map/app/Http/Controllers/PlannedTaskController.php
resources/views/planned-tasks/ (watering, pruning, fertilisation, pesticide, harvest, edit)app/Http/Controllers/HarvestController.php
resources/views/winemaker/harvests/ (index, bottle)app/Http/Controllers/WineController.php (metódy cellarIndex, createBlendForm, storeBlend)
resources/views/winemaker/cellar/ (index, create-blend)app/Http/Controllers/WineController.php (metódy salesIndex, addToSales, removeFromSales)
resources/views/winemaker/sales/index.blade.phpapp/Http/Controllers/Employee/TaskController.php (metóda completeTreatment)
resources/views/employee/tasks/index.blade.phpapp/Http/Controllers/Employee/TaskController.php (metóda completeHarvest)app/Http/Controllers/CartController.php, app/Http/Controllers/PurchaseController.php
resources/views/cart/index.blade.php, resources/views/catalog/app/Http/Controllers/PurchaseController.php (metóda myPurchases)
resources/views/purchases/my.blade.phpapp/Http/Controllers/EventController.php (metódy reserve, cancelReservation, myReservations)
resources/views/events/my-reservations.blade.phpapp/Http/Controllers/WineController.php (metóda catalog)
resources/views/catalog/ (index, show)app/Http/Controllers/EventController.php (metóda index)
resources/views/events/index.blade.phproutes/web.php (closure routes)
resources/views/about.blade.php, resources/views/contact.blade.phpapp/Http/Controllers/Auth/LoginController.php, app/Http/Controllers/Auth/RegisterController.php
resources/views/auth/ (login, register)Všetky modely sa nachádzajú v app/Models/:
User.php (s rolami definovanými v app/Enums/UserRole.php)VineyardRow.php, GrapeVariety.php, VarietyVariation.phpTreatment.php (abstraktný), Spraying.php, Watering.php, Fertilization.php, Pruning.phpHarvest.php, Wine.php, WineProduction.phpPlannedTask.phpPurchase.php, PurchaseItem.phpEvent.php, EventReservation.phpWinemakerController::dashboard() - vinár vidí všetky plánované úkonyEventController, Admin\EventController - organizácia akcií s rezerváciami
Postup pro lokální vývoj nebo instalaci na klasický server:
git clone nebo rozbalením archivu do /var/www/laravel-winary; složky storage a bootstrap/cache musí mít zápis pro uživatele webserveru..env.example na .env; vyplňte APP_URL, APP_ENV=production, DB přístupy, případně SMTP; vygenerujte klíč php artisan key:generate.composer install --no-dev --optimize-autoloader; poté npm install a npm run build pro sestavení statických assetů (Vite).php artisan migrate --force --seed pro vytvoření schématu a naplnění základními daty/uživateli; pokud je třeba práce se soubory, vytvořte symlink php artisan storage:link.public/; pro produkci doporučeno php artisan config:cache a php artisan route:cache; případně spusťte frontu php artisan queue:work (např. jako systemd službu).Pro nasazení pomocí Dockeru lze použít skript ./script/up.sh:
.env.prod (APP_URL, hesla DB, APP_KEY, port 8741 apod.); soubor se připojuje do kontejneru jako .env../script/up.sh, což zavolá docker compose -f docker-compose.prod.yml up --build -d pro aplikaci a MySQL (data v volume mysql_data).php artisan migrate:fresh --seed --force, vytvoří symlink storage a přebuduje assety. Další spuštění použije stávající dependencies.APP_PORT (default 8741) a cílte na kontejner app; veřejné soubory jsou ve složce public/ uvnitř kontejneru.