Files
billReminder/public/index.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);