Laravel 12 Project Setup Guide

SadrΕΎaj

Laravel 12 Setup + Bash Skripta


πŸ“ README.md

# πŸš€ Laravel 12 Project Setup Guide

Osnovni i napredni koraci za postavljanje modernog Laravel 12 projekta sa Livewire 3, Spatie paketima i sigurnosnim praksama.

---

## 🧰 Tehnologije i Verzije
- Laravel 12
- Livewire 3 Starter Kit
- PHP 8.2+
- Composer 2+

---

## βœ… Starter Kit
```bash
composer require laravel/breeze --dev
php artisan breeze:install livewire
npm install && npm run build
php artisan migrate

πŸ› Debugging alati

composer require barryvdh/laravel-debugbar --dev
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate

πŸ” Lazy Loading & Strict Mode

use Illuminate\Database\Eloquent\Model;
if (! app()->isProduction()) {
    Model::shouldBeStrict();
}

❌ Prevencija Destruktivnih Komandi

if (app()->isProduction()) {
    $this->error('Blocked in production!');
    return;
}

πŸ§ͺ Testing Okruzenje

.env.testing:

DB_CONNECTION=sqlite
DB_DATABASE=:memory:

Testiraj:

php artisan test

πŸ“¦ Spatie Paketi

# Permissions
composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate

# Backup
composer require spatie/laravel-backup
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

# Health
composer require spatie/laravel-health
php artisan vendor:publish --tag="health-config"

# Activity Log
composer require spatie/laravel-activitylog
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config"

# Media Library
composer require spatie/laravel-medialibrary
php artisan vendor:publish --tag="media-library-config"
php artisan migrate

πŸ“Š Log Viewer

composer require opcodesio/log-viewer
php artisan log-viewer:publish

Otvorite /log-viewer za pregled logova.


πŸ“§ Mail konfiguracija

.env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_user
MAIL_PASSWORD=your_pass
MAIL_FROM_ADDRESS=mkopcic@gmail.com
MAIL_FROM_NAME="Laravel App"

🧠 Bonus Savjeti


βœ… Gotovo!

Sretno s projektom – čisto, testirano i sigurno! πŸ§‘β€πŸ’»


---

## βš™οΈ setup.sh

```bash
#!/bin/bash

echo "πŸš€ Laravel 12 Setup with Livewire 3 & Spatie Packages"

# Step 1: Install Laravel
composer create-project laravel/laravel laravel-app
cd laravel-app

# Step 2: Install Breeze + Livewire
composer require laravel/breeze --dev
php artisan breeze:install livewire
npm install && npm run build
php artisan migrate

# Step 3: Debugging Tools
composer require barryvdh/laravel-debugbar --dev
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate

# Step 4: Spatie Packages
composer require spatie/laravel-permission
composer require spatie/laravel-backup
composer require spatie/laravel-health
composer require spatie/laravel-activitylog
composer require spatie/laravel-medialibrary

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
php artisan vendor:publish --tag="health-config"
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config"
php artisan vendor:publish --tag="media-library-config"

# Step 5: Log Viewer
composer require opcodesio/log-viewer
php artisan log-viewer:publish

echo "βœ… Setup completed. Happy coding!"