58ca4e68db
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics) - Rust analytics service with parallel report generation - C runtime with POSIX shared memory IPC - PostgreSQL schema with 30+ tables, full migrations - Redis cache, sessions, pub/sub - Kafka event streaming with Zookeeper - WebSocket hub for real-time updates - Automation engine with cron jobs, workflows, event triggers - JWT authentication, multi-tenant from start - Docker Compose with all services - Nginx reverse proxy with rate limiting - Integration tests passing - Feature gap analysis against Fortnox/Odoo/Visma Refs: BOC-001
87 lines
5.5 KiB
HTML
87 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="vi">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Landvex Việt Nam — Trí thông minh hạ tầng cho ngườii ra quyết định</title>
|
|
<meta name="description" content="Landvex thu thập, chuẩn hóa và làm cho dữ liệu về sức khỏe, kinh tế, nhân khẩu học và hạ tầng có thể truy cập được. Dành cho nhà báo, nhà nghiên cứu, doanh nghiệp và ngườii ra quyết định.">
|
|
<link rel="canonical" href="https://www.landvex.com/vi/">
|
|
<link rel="alternate" hreflang="x-default" href="https://www.landvex.com/">
|
|
<link rel="alternate" hreflang="en" href="https://www.landvex.com/">
|
|
<link rel="alternate" hreflang="vi" href="https://www.landvex.com/vi/">
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<style>
|
|
:root { --bg: #f5f5f7; --text: #1a1a1a; --muted: #6b6b6b; --blue: #0066ff; --blue-dark: #0052cc; }
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); line-height: 1.7; }
|
|
.container { max-width: 800px; margin: 0 auto; padding: 0 24px; }
|
|
header { padding: 24px 0; display: flex; justify-content: space-between; align-items: center; }
|
|
.logo { font-size: 24px; font-weight: 800; letter-spacing: -0.04em; color: var(--text); text-decoration: none; }
|
|
.logo .x { color: var(--blue); }
|
|
.lang-switch { font-size: 0.875rem; color: var(--muted); }
|
|
.lang-switch a { color: var(--blue); text-decoration: none; margin-left: 8px; }
|
|
.hero { padding: 80px 0 60px; text-align: center; }
|
|
.hero h1 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.2; margin-bottom: 20px; }
|
|
.hero p { font-size: 1.125rem; color: var(--muted); max-width: 600px; margin: 0 auto 32px; }
|
|
.features { display: grid; gap: 20px; margin: 40px 0; }
|
|
.feature-card { background: white; border-radius: 16px; padding: 28px; border: 1px solid rgba(0,0,0,0.06); }
|
|
.feature-card h3 { font-size: 1.125rem; font-weight: 700; margin-bottom: 8px; }
|
|
.feature-card p { font-size: 0.9375rem; color: var(--muted); }
|
|
.cta { background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%); color: white; border-radius: 16px; padding: 40px; margin: 40px 0; text-align: center; }
|
|
.cta h2 { font-size: 1.5rem; margin-bottom: 12px; }
|
|
.cta p { opacity: 0.9; margin-bottom: 20px; }
|
|
.cta-btn { background: white; color: var(--blue); border: none; padding: 14px 36px; border-radius: 12px; font-size: 1rem; font-weight: 700; cursor: pointer; text-decoration: none; display: inline-block; }
|
|
footer { border-top: 1px solid rgba(0,0,0,0.08); padding: 32px 0; margin-top: 60px; }
|
|
.footer-top { border-bottom: 1px solid rgba(0,0,0,0.08); padding-bottom: 16px; margin-bottom: 16px; text-align: center; }
|
|
.language-selector { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); text-decoration: none; font-size: 0.875rem; padding: 8px 12px; border-radius: 8px; transition: background 0.2s; }
|
|
.language-selector:hover { background: rgba(0,102,255,0.08); color: var(--blue); }
|
|
.globe-icon { font-size: 1rem; }
|
|
footer p { font-size: 0.8125rem; color: var(--muted); text-align: center; }
|
|
footer a { color: var(--blue); }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<a href="/" class="logo">Land<span class="x">v</span>ex</a>
|
|
<div class="lang-switch">
|
|
<a href="/">EN</a>
|
|
</div>
|
|
</header>
|
|
<section class="hero">
|
|
<h1>Trí thông minh hạ tầng<br>cho ngườii ra quyết định</h1>
|
|
<p>Landvex thu thập, chuẩn hóa và làm cho dữ liệu về sức khỏe, kinh tế, nhân khẩu học và hạ tầng có thể truy cập được — để nhà báo, nhà nghiên cứu, doanh nghiệp và ngườii ra quyết định có thể nhìn thấy thực tế rõ ràng hơn.</p>
|
|
</section>
|
|
<div class="features">
|
|
<div class="feature-card">
|
|
<h3>📊 Dữ liệu chuẩn hóa</h3>
|
|
<p>Chúng tôi thu thập dữ liệu từ hàng trăm nguồn và chuẩn hóa để có thể so sánh theo thờii gian và địa lý.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<h3>🔍 Minh bạch là giá trị</h3>
|
|
<p>Khi dữ liệu hiển thị và có thể so sánh, việc che giấu kết quả kém trở nên khó khăn hơn. Chúng tôi cho phép nhìn thấy thực tế rõ ràng hơn.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<h3>🌍 Phủ sóng toàn cầu</h3>
|
|
<p>Từ cấp đô thị ở Việt Nam đến so sánh toàn cầu. Nền tảng của chúng tôi mở rộng từ địa phương đến quốc tế.</p>
|
|
</div>
|
|
</div>
|
|
<div class="cta">
|
|
<h2>Bắt đầu khám phá dữ liệu</h2>
|
|
<p>Truy cập cơ sở dữ liệu Landvex với dữ liệu xã hội, hạ tầng và chỉ số kinh tế.</p>
|
|
<a href="/" class="cta-btn">Khám phá Landvex →</a>
|
|
</div>
|
|
<footer>
|
|
<div class="footer-top">
|
|
<a href="/locale" class="language-selector">
|
|
<span class="globe-icon">🌐</span>
|
|
<span class="language-text">Việt Nam (Tiếng Việt)</span>
|
|
</a>
|
|
</div>
|
|
<div style="text-align: center;">
|
|
<p>© 2026 Landvex AB. Bảo lưu mọi quyền. | <a href="/terms">Điều khoản sử dụng</a> | <a href="/privacy">Quyền riêng tư</a></p>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html> |