<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');

require_once __DIR__ . '/config/config.php';
require_once __DIR__ . '/config/database.php';

// Load core classes manually (before autoloader is registered)
require_once __DIR__ . '/core/Security.php';
require_once __DIR__ . '/core/Session.php';
require_once __DIR__ . '/core/Model.php';
require_once __DIR__ . '/core/Controller.php';
require_once __DIR__ . '/core/Router.php';
require_once __DIR__ . '/core/Auth.php';
require_once __DIR__ . '/core/App.php';

// Load application models (needed by Auth before controllers run)
require_once __DIR__ . '/app/Models/User.php';
require_once __DIR__ . '/app/Models/SellerProfile.php';
require_once __DIR__ . '/app/Models/Category.php';
require_once __DIR__ . '/app/Models/Product.php';
require_once __DIR__ . '/app/Models/Banner.php';

// Initialize Session
Session::init();

// Boot MVC Application Dispatcher
$app = new App();
$app->run();
