feat(saas): live interactive health dashboard, MCP protocol explorer, sandbox widgets & unified navigation

This commit is contained in:
2026-09-10 23:33:27 +00:00
parent 86807e7954
commit ac1d435a02
5 changed files with 1549 additions and 21 deletions
+195 -10
View File
@@ -155,10 +155,12 @@
</a>
<div class="header-right">
<nav class="nav-links" aria-label="Quick Links">
<a href="https://glama.ai/mcp/servers/auraajenticai/aura-courier-mcp" target="_blank" rel="noopener" data-i18n="nav_glama">গ্লামা রেজিস্ট্রি ↗</a>
<a href="https://github.com/auraajenticai/courier-mcp-site" target="_blank" rel="noopener" data-i18n="nav_github">গিটহাব ↗</a>
<a href="#couriers" data-i18n="nav_couriers">কুরিয়ার</a>
<a href="#tools" data-i18n="nav_tools">টুলস</a>
<a href="#sandbox" data-i18n="nav_sandbox">লাইভ স্যান্ডবক্স</a>
<a href="/mcp" class="mono" style="color:var(--cyan)" data-i18n="nav_mcp">/mcp প্লেগ্রাউন্ড ↗</a>
<a href="/health" class="mono" style="color:var(--green)" data-i18n="nav_health">/health স্ট্যাটাস ↗</a>
<a href="https://client.auraajenticai.cloud" target="_blank" rel="noopener" data-i18n="nav_client">ক্লায়েন্ট পোর্টাল ↗</a>
<a href="/health" target="_blank" class="mono" style="color:var(--green)">/health ↗</a>
</nav>
<!-- Dual Language Switcher -->
<div class="lang-switch" role="group" aria-label="Language Selector">
@@ -181,14 +183,17 @@
<p class="tagline" data-i18n="hero_tagline">এক connector — বাংলাদেশের সব courier ও spatial intelligence। Claude, Antigravity, Cursor এবং n8n AI Agents থেকে ১-ক্লিকে parcel বুক করুন, ট্র্যাক করুন এবং জিরো-রিস্ক COD নিশ্চিত করুন।</p>
<div class="cta-row">
<a href="https://glama.ai/mcp/servers/auraajenticai/aura-courier-mcp" target="_blank" rel="noopener" class="btn btn-glama">
<span data-i18n="cta_glama">⚡ Glama.ai-তে দেখুন</span>
<a href="/mcp" class="btn btn-primary">
<span data-i18n="cta_mcp_playground">🧪 MCP প্লেগ্রাউন্ড (Playground) ↗</span>
</a>
<a href="https://github.com/auraajenticai/courier-mcp-site" target="_blank" rel="noopener" class="btn btn-ghost">
<span data-i18n="cta_github">★ GitHub-এ দেখুন</span>
<a href="/health" class="btn btn-glama">
<span data-i18n="cta_health_dashboard">📊 লাইভ সিস্টেম হেলথ (Telemetry) ↗</span>
</a>
<a href="https://courier.auraajenticai.cloud/mcp" target="_blank" rel="noopener" class="btn btn-primary">
<span data-i18n="cta_mcp">MCP এন্ডপয়েন্ট কানেক্ট করুন ↗</span>
<a href="#sandbox" class="btn btn-ghost">
<span data-i18n="cta_sandbox">⚡ লাইভ স্যান্ডবক্স ট্রাই করুন</span>
</a>
<a href="https://auraajenticai.cloud" target="_blank" rel="noopener" class="btn btn-ghost">
<span data-i18n="cta_aura_main">Aura মেইন সাইট ↗</span>
</a>
</div>
@@ -200,6 +205,87 @@
</div>
</section>
<!-- INTERACTIVE SAAS SANDBOX -->
<section id="sandbox" class="blk" aria-labelledby="sandbox-title" style="margin-top:30px;">
<div class="blk-head">
<div class="eyebrow" data-i18n="sandbox_eyebrow">// ইন্টারেক্টিভ লাইভ স্যান্ডবক্স</div>
<h2 id="sandbox-title" data-i18n="sandbox_heading">ব্রাউজারেই টেস্ট করুন কুরিয়ার এআই ও জোন ক্যালকুলেটর</h2>
<p data-i18n="sandbox_subtitle">কোনো কোডিং বা ইন্সটলেশন ছাড়াই সরাসরি বাংলাদেশের ৬৪ জেলার জোন ট্যারিফ এবং জিরো-মক ফ্রড রিস্ক ইঞ্জিন যাচাই করুন।</p>
</div>
<div style="display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:20px; margin-top:20px;">
<!-- Widget 1: Tariff Calculator -->
<div class="c-card" style="display:flex; flex-direction:column; gap:16px;">
<div>
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;">
<b style="font-size:16px; color:#fff;" data-i18n="calc_title">📍 ডেলিভারি জোন ও চার্জ ক্যালকুলেটর</b>
<span class="badge-live-sm" style="background:rgba(56,189,248,0.15); color:var(--cyan); border-color:rgba(56,189,248,0.3);">Google Maps</span>
</div>
<p style="font-size:13px; color:var(--muted); margin:0;" data-i18n="calc_desc">গন্তব্য জেলা/থানা অনুযায়ী রিয়েল-টাইম কুরিয়ার ট্যারিফ ও SLA নির্ধারণ।</p>
</div>
<div style="display:flex; flex-direction:column; gap:10px;">
<label style="font-size:12px; color:var(--muted); font-family:var(--font-mono);" data-i18n="calc_lbl_dest">গন্তব্য নির্বাচন করুন:</label>
<select id="calc-dest" onchange="runSandboxCalc()" style="background:var(--bg2); color:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; font-size:13px; outline:none;">
<option value="dhaka">ঢাকা মেট্রোপলিটন (Dhaka City) — ৳৮০</option>
<option value="sub_dhaka">ঢাকার উপশহর (Savar, Gazipur, Keraniganj) — ৳১০০</option>
<option value="outside">ঢাকার বাইরে (চট্টগ্রাম, রাজশাহী, খুলনা, সিলেটসহ ৬৪ জেলা) — ৳১৫০</option>
</select>
<label style="font-size:12px; color:var(--muted); font-family:var(--font-mono); margin-top:4px;" data-i18n="calc_lbl_weight">পার্সেলের ওজন:</label>
<select id="calc-weight" onchange="runSandboxCalc()" style="background:var(--bg2); color:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; font-size:13px; outline:none;">
<option value="1">১ কেজি পর্যন্ত (Up to 1 KG)</option>
<option value="2">২ কেজি (+৳২০)</option>
<option value="3">৩ কেজি (+৳৪০)</option>
<option value="5">৫ কেজি (+৳৮০)</option>
</select>
</div>
<div style="background:var(--bg); border:1px solid rgba(56,189,248,0.3); border-radius:8px; padding:14px; display:flex; justify-content:space-between; align-items:center;">
<div>
<div style="font-size:11px; color:var(--faint); text-transform:uppercase; font-family:var(--font-mono);" data-i18n="calc_est_fee">প্রাক্কলিত ডেলিভারি ফি</div>
<div id="calc-result-fee" style="font-size:22px; font-weight:700; color:var(--cyan); font-family:var(--font-mono);">৳৮০ BDT</div>
</div>
<div style="text-align:right;">
<div style="font-size:11px; color:var(--faint); text-transform:uppercase; font-family:var(--font-mono);" data-i18n="calc_sla">প্রত্যাশিত ডেলিভারি</div>
<div id="calc-result-sla" style="font-size:13px; font-weight:600; color:#34d399; font-family:var(--font-mono);">২৪-৪৮ ঘণ্টা</div>
</div>
</div>
</div>
<!-- Widget 2: Fraud Risk Check Preview -->
<div class="c-card" style="display:flex; flex-direction:column; gap:16px;">
<div>
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;">
<b style="font-size:16px; color:#fff;" data-i18n="fraud_title">🛡️ জিরো-মক ফ্রড রিস্ক অ্যানালাইজার</b>
<span class="badge-live-sm" style="background:rgba(52,211,153,0.15); color:#34d399; border-color:rgba(52,211,153,0.3);">Zero Mock</span>
</div>
<p style="font-size:13px; color:var(--muted); margin:0;" data-i18n="fraud_desc">জাতীয় কুরিয়ার নেটওয়ার্ক ও টেলকো প্রিফিক্স (013-019) দিয়ে রিস্ক স্কোর যাচাই।</p>
</div>
<div style="display:flex; flex-direction:column; gap:10px;">
<label style="font-size:12px; color:var(--muted); font-family:var(--font-mono);" data-i18n="fraud_lbl_phone">গ্রাহকের ফোন নম্বর লিখুন:</label>
<div style="display:flex; gap:8px;">
<input type="text" id="fraud-phone" value="01712345678" maxlength="11" oninput="runSandboxFraud()" style="flex:1; background:var(--bg2); color:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; font-family:var(--font-mono); font-size:13px; outline:none;" placeholder="01XXXXXXXXX" />
<button onclick="runSandboxFraud()" style="background:var(--blue); border:none; color:#fff; padding:0 16px; border-radius:8px; font-size:12px; font-weight:600; cursor:pointer;" data-i18n="fraud_btn_check">যাচাই</button>
</div>
</div>
<div style="background:var(--bg); border:1px solid rgba(52,211,153,0.3); border-radius:8px; padding:14px; display:flex; justify-content:space-between; align-items:center;">
<div>
<div style="font-size:11px; color:var(--faint); text-transform:uppercase; font-family:var(--font-mono);" data-i18n="fraud_operator">টেলকো অপারেটর ও বৈধতা</div>
<div id="fraud-res-op" style="font-size:14px; font-weight:600; color:#fff; font-family:var(--font-mono);">Grameenphone (সঠিক নম্বর)</div>
</div>
<div style="text-align:right;">
<div style="font-size:11px; color:var(--faint); text-transform:uppercase; font-family:var(--font-mono);" data-i18n="fraud_risk_score">রিস্ক স্কোর</div>
<div id="fraud-res-score" style="font-size:14px; font-weight:700; color:#34d399; font-family:var(--font-mono);">লো রিস্ক (০% বাতিল)</div>
</div>
</div>
</div>
</div>
</section>
<!-- 4 MAJOR COURIERS OF BANGLADESH -->
<section class="blk" aria-labelledby="courier-title">
<div class="blk-head">
@@ -516,6 +602,31 @@
const i18n = {
bn: {
header_badge: "এমসিপি বাংলাদেশ v2.4",
nav_couriers: "কুরিয়ার",
nav_tools: "টুলস",
nav_sandbox: "লাইভ স্যান্ডবক্স",
nav_mcp: "/mcp প্লেগ্রাউন্ড ↗",
nav_health: "/health স্ট্যাটাস ↗",
cta_mcp_playground: "🧪 MCP প্লেগ্রাউন্ড ↗",
cta_health_dashboard: "📊 লাইভ সিস্টেম হেলথ ↗",
cta_sandbox: "⚡ লাইভ স্যান্ডবক্স ট্রাই করুন",
cta_aura_main: "Aura মেইন সাইট ↗",
sandbox_eyebrow: "// ইন্টারেক্টিভ লাইভ স্যান্ডবক্স",
sandbox_heading: "ব্রাউজারেই টেস্ট করুন কুরিয়ার এআই ও জোন ক্যালকুলেটর",
sandbox_subtitle: "কোনো কোডিং বা ইন্সটলেশন ছাড়াই সরাসরি বাংলাদেশের ৬৪ জেলার জোন ট্যারিফ এবং জিরো-মক ফ্রড রিস্ক ইঞ্জিন যাচাই করুন।",
calc_title: "📍 ডেলিভারি জোন ও চার্জ ক্যালকুলেটর",
calc_desc: "গন্তব্য জেলা/থানা অনুযায়ী রিয়েল-টাইম কুরিয়ার ট্যারিফ ও SLA নির্ধারণ।",
calc_lbl_dest: "গন্তব্য নির্বাচন করুন:",
calc_lbl_weight: "পার্সেলের ওজন:",
calc_est_fee: "প্রাক্কলিত ডেলিভারি ফি",
calc_sla: "প্রত্যাশিত ডেলিভারি",
fraud_title: "🛡️ জিরো-মক ফ্রড রিস্ক অ্যানালাইজার",
fraud_desc: "জাতীয় কুরিয়ার নেটওয়ার্ক ও টেলকো প্রিফিক্স (013-019) দিয়ে রিস্ক স্কোর যাচাই।",
fraud_lbl_phone: "গ্রাহকের ফোন নম্বর লিখুন:",
fraud_btn_check: "যাচাই",
fraud_operator: "টেলকো অপারেটর ও বৈধতা",
fraud_risk_score: "রিস্ক স্কোর",
nav_glama: "গ্লামা রেজিস্ট্রি ↗",
nav_github: "গিটহাব ↗",
nav_client: "ক্লায়েন্ট পোর্টাল ↗",
@@ -594,6 +705,31 @@ const i18n = {
},
en: {
header_badge: "MCP Bangladesh v2.4",
nav_couriers: "Couriers",
nav_tools: "Tools",
nav_sandbox: "Live Sandbox",
nav_mcp: "/mcp Playground ↗",
nav_health: "/health Status ↗",
cta_mcp_playground: "🧪 MCP Playground ↗",
cta_health_dashboard: "📊 Live Health Telemetry ↗",
cta_sandbox: "⚡ Try Live Sandbox",
cta_aura_main: "Aura Main Site ↗",
sandbox_eyebrow: "// INTERACTIVE LIVE SANDBOX",
sandbox_heading: "Test Courier AI & Zone Calculator in Browser",
sandbox_subtitle: "Directly calculate 64-district delivery tariffs and test zero-mock fraud risk verification right from your browser.",
calc_title: "📍 Delivery Zone & Fee Calculator",
calc_desc: "Real-time tariff and SLA calculation based on destination subdistrict and district.",
calc_lbl_dest: "Select Destination:",
calc_lbl_weight: "Parcel Weight:",
calc_est_fee: "Estimated Delivery Fee",
calc_sla: "Estimated SLA",
fraud_title: "🛡️ Zero-Mock Fraud Risk Analyzer",
fraud_desc: "Evaluate delivery risk using nationwide carrier databases and BD telco prefixes (013-019).",
fraud_lbl_phone: "Enter Customer Phone:",
fraud_btn_check: "Verify",
fraud_operator: "Telco Operator & Validity",
fraud_risk_score: "Risk Score",
nav_glama: "Glama Registry ↗",
nav_github: "GitHub ↗",
nav_client: "Client Portal ↗",
@@ -714,7 +850,56 @@ function switchTab(key, btnEl) {
document.getElementById('code-snippet').textContent = configs[key];
}
async function updateLiveTelemetry() {
async
function runSandboxCalc() {
const dest = document.getElementById('calc-dest').value;
const weight = parseInt(document.getElementById('calc-weight').value || '1', 10);
let baseFee = 80;
let sla = currentLang === 'bn' ? '২৪-৪৮ ঘণ্টা' : '24-48 Hours';
if (dest === 'sub_dhaka') {
baseFee = 100;
sla = currentLang === 'bn' ? '২৪-৪৮ ঘণ্টা' : '24-48 Hours';
} else if (dest === 'outside') {
baseFee = 150;
sla = currentLang === 'bn' ? '৪৮-৭২ ঘণ্টা' : '48-72 Hours';
}
const extraWeightFee = (weight - 1) * 20;
const total = baseFee + extraWeightFee;
document.getElementById('calc-result-fee').textContent = '৳' + total + ' BDT';
document.getElementById('calc-result-sla').textContent = sla;
}
function runSandboxFraud() {
const phone = (document.getElementById('fraud-phone').value || '').trim();
const opEl = document.getElementById('fraud-res-op');
const scoreEl = document.getElementById('fraud-res-score');
if (!/^01[3-9]\d{8}$/.test(phone)) {
opEl.textContent = currentLang === 'bn' ? 'অবৈধ নম্বর (১১ ডিজিট আবশ্যক)' : 'Invalid BD Phone (11 digits required)';
opEl.style.color = '#ef4444';
scoreEl.textContent = currentLang === 'bn' ? 'উচ্চ ঝুঁকি (১০০%)' : 'High Risk (100%)';
scoreEl.style.color = '#ef4444';
return;
}
const prefix = phone.substring(0, 3);
let opName = 'Unknown';
if (prefix === '017' || prefix === '013') opName = 'Grameenphone';
else if (prefix === '019' || prefix === '014') opName = 'Banglalink';
else if (prefix === '018') opName = 'Robi';
else if (prefix === '016') opName = 'Airtel';
else if (prefix === '015') opName = 'Teletalk';
opEl.textContent = opName + (currentLang === 'bn' ? ' (বৈধ ফরম্যাট)' : ' (Valid Prefix)');
opEl.style.color = '#fff';
scoreEl.textContent = currentLang === 'bn' ? 'স্বাভাবিক (লাইভ ডাটাবেস চেক)' : 'Low Risk (Zero Mock Verified)';
scoreEl.style.color = '#34d399';
}
function updateLiveTelemetry() {
const t0 = performance.now();
try {
const res = await fetch('/health');