Membuat Controller baru dengan nama HomeController

php artisan make:controller HomeController
php artisan make:controller EventController

Masukan code berikut ke HomeController:

<?php

namespace App\\Http\\Controllers;

use App\\Models\\Event;
use App\\Models\\Kategori;
use Illuminate\\Http\\Request;

class HomeController extends Controller
{
    /**
     * Display the homepage with events and categories.
     */
    public function index(Request $request)
    {
        // Get all categories for the filter pills
        $categories = Kategori::all();

        // Build event query
        $eventsQuery = Event::with(['kategori', 'tikets']);

        // Filter by category if specified
        if ($request->has('kategori') && $request->kategori) {
            $eventsQuery->where('kategori_id', $request->kategori);
        }

        // Get events with minimum ticket price
        $events = $eventsQuery->get()->map(function ($event) {
            // Add minimum ticket price to each event
            $event->tikets_min_harga = $event->tikets->min('harga') ?? 0;
            return $event;
        });

        return view('home', [
            'categories' => $categories,
            'events' => $events,
        ]);
    }
}

Msukan ke EventController:

<?php

namespace App\\Http\\Controllers;

use App\\Models\\Event;
use Illuminate\\Http\\Request;

class EventController extends Controller
{
    /**
     * Display the specified event.
     */
    public function show(Event $event)
    {
        // Load the event with its relationships
        $event->load(['kategori', 'tikets']);

        return view('events.show', [
            'event' => $event,
        ]);
    }
}

Menambah Route

Agar aplikasi dapat berjalan dengan baik, tambahkan route berikut di routes/web.php

//Di atas jangan lupa sertakan HomeController dulu
use App\\Http\\Controllers\\HomeController;
use App\\Http\\Controllers\\EventController;

Route::get('/', [HomeController::class, 'index'])->name('home');
// Event routes
Route::get('/events/{event}', [EventController::class, 'show'])->name('events.show');

Notes: Sampai sini masih belum bisa lihat halaman web nya karena home.blade belum dibuat

Membuat Homepage

BengTix-Beli-Tiket-Auto-Asik-12-18-2025_08_02_PM.png

1. Navbar (Bagian Atas)

Pada bagian paling atas terdapat navbar yang berfungsi sebagai navigasi utama, terdiri dari: