Skip to main content

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

  • Laravel Pint: composer require laravel/pint --dev
  • Swagger za API dokumentaciju
  • CI/CD workflow opcionalno

โœ… 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!"