<?php
// config/database.php
class Database {
    private $host = 'localhost';
    private $dbname = 'chat_app';
    private $username = 'your_username';
    private $password = 'your_password';
    private $pdo;

    public function connect() {
        if ($this->pdo === null) {
            try {
                $this->pdo = new PDO(
                    "mysql:host={$this->host};dbname={$this->dbname};charset=utf8mb4",
                    $this->username,
                    $this->password,
                    [
                        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                        PDO::ATTR_EMULATE_PREPARES => false
                    ]
                );
            } catch (PDOException $e) {
                throw new Exception("Connection failed: " . $e->getMessage());
            }
        }
        return $this->pdo;
    }
}

// config/config.php
define('BASE_URL', 'http://localhost/chat-app');
define('UPLOAD_DIR', 'uploads/');
session_start();
?>