42 lines
1.6 KiB
PHP
42 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Hpz937\BillReminder\Controller\HomeController;
|
|
use Hpz937\BillReminder\Controller\AuthController;
|
|
use Hpz937\BillReminder\Controller\DashboardController;
|
|
use Hpz937\BillReminder\Controller\ApiController;
|
|
use Hpz937\BillReminder\Routing\Router;
|
|
|
|
define('PROJECT_ROOT', __DIR__ . '/..');
|
|
|
|
require_once PROJECT_ROOT . '/vendor/autoload.php';
|
|
|
|
session_start();
|
|
|
|
$router = new Router();
|
|
|
|
// Home Routes
|
|
$router->register('GET', '/', [HomeController::class, 'index']);
|
|
|
|
// Auth Routes
|
|
$router->register('GET', '/login', [AuthController::class, 'showLoginForm']);
|
|
$router->register('POST', '/login', [AuthController::class, 'login']);
|
|
$router->register('GET', '/register', [AuthController::class, 'showRegistrationForm']);
|
|
$router->register('POST', '/register', [AuthController::class, 'register']);
|
|
|
|
// Dashboard Routes
|
|
$router->register('GET', '/dashboard', [DashboardController::class, 'viewDashboard']);
|
|
$router->register('GET', '/settings', [DashboardController::class, 'viewSettings']);
|
|
|
|
// API Routes
|
|
$router->register('GET', '/api/bills', [ApiController::class, 'getBills']);
|
|
$router->register('POST', '/api/mark-bill-paid', [ApiController::class, 'markBillPaid']);
|
|
$router->register('POST', '/api/add-bill', [ApiController::class, 'addBill']);
|
|
$router->register('POST', '/api/edit-bill', [ApiController::class, 'editBill']);
|
|
$router->register('POST', '/api/delete-bill', [ApiController::class, 'deleteBill']);
|
|
|
|
// Resolve the current request
|
|
$requestMethod = $_SERVER['REQUEST_METHOD'];
|
|
$requestUri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
|
|
|
$router->resolve($requestMethod, $requestUri);
|