Initial Release v1.0.0: Full feature set with Docker automation, Nginx/Alpine stack

This commit is contained in:
dyzulk
2026-01-16 11:21:32 +07:00
commit 45623973a8
139 changed files with 24302 additions and 0 deletions

36
app/Config/SiteConfig.php Normal file
View File

@@ -0,0 +1,36 @@
<?php
namespace App\Config;
class SiteConfig {
const APP_NAME = 'MIVO';
const APP_VERSION = 'v1.0';
const APP_FULL_NAME = 'MIVO - Mikrotik Voucher';
const CREDIT_NAME = 'DyzulkDev';
const CREDIT_URL = 'https://dyzulk.com';
const YEAR = '2026';
const REPO_URL = 'https://github.com/dyzulk/mivo';
// Security Keys
// Fetched from .env or fallback to default
public static function getSecretKey() {
return getenv('APP_KEY') ?: 'mikhmonv3remake_secret_key_32bytes';
}
const IS_DEV = true; // Still useful for code logic not relying on env yet, or can be refactored too.
/**
* Get the formatted page title
*/
public static function getTitle($page = '') {
return empty($page) ? self::APP_NAME : $page . ' | ' . self::APP_NAME;
}
/**
* Get footer text
*/
public static function getFooter() {
$currentYear = date('Y');
$yearDisplay = (self::YEAR == $currentYear) ? self::YEAR : self::YEAR . ' - ' . $currentYear;
return self::APP_FULL_NAME . ' &copy; 2026 - ' . $yearDisplay . ' &bull; Created with Love <i data-lucide="heart" class="w-3 h-3 inline text-red-500 fill-red-500 mx-1"></i> Developed by <a href="' . self::CREDIT_URL . '" target="_blank" class="font-medium hover:text-foreground transition-colors">' . self::CREDIT_NAME . '</a>';
}
}