feat(boc): Complete Business Operations Center v1.0

- 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
This commit is contained in:
Bernt
2026-07-12 12:41:35 +00:00
parent 4789a7fb48
commit 58ca4e68db
26666 changed files with 575891 additions and 2074516 deletions
@@ -0,0 +1,360 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ATM Monitoring | AI-Powered Visual Surveillance for ATM Networks | Landvex</title>
<meta name="description" content="Landvex ATM Monitoring uses AI to detect skimming devices, vandalism, and operational anomalies across your ATM network in real time.">
<link rel="canonical" href="https://landvex.com/atm-monitoring/">
<meta property="og:title" content="ATM Monitoring | AI-Powered Visual Surveillance for ATM Networks | Landvex">
<meta property="og:description" content="Landvex ATM Monitoring uses AI to detect skimming devices, vandalism, and operational anomalies across your ATM network in real time.">
<meta property="og:type" content="product">
<meta property="og:url" content="https://landvex.com/atm-monitoring/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ATM Monitoring | AI-Powered Visual Surveillance">
<meta name="twitter:description" content="Detect skimming, vandalism, and anomalies across your ATM network with AI.">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Landvex ATM Monitoring",
"applicationCategory": "SecurityApplication",
"description": "AI-powered visual monitoring for ATM networks. Detects skimming devices, vandalism, and operational anomalies in real time.",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"description": "Contact for enterprise pricing"
},
"publisher": {
"@type": "Organization",
"name": "Landvex",
"url": "https://landvex.com"
}
}
</script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif; line-height: 1.6; color: #1a1a1a; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.hero {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
color: white;
padding: 120px 0 80px;
text-align: center;
}
.hero h1 { font-size: 3.5rem; font-weight: 800; margin-bottom: 1rem; letter-spacing: -0.02em; }
.hero .tagline { font-size: 1.5rem; opacity: 0.9; margin-bottom: 1rem; font-weight: 300; }
.hero .subtitle { font-size: 1.1rem; opacity: 0.7; margin-bottom: 3rem; }
.problem {
padding: 5rem 0;
text-align: center;
}
.problem h2 { font-size: 2rem; margin-bottom: 2rem; color: #dc2626; }
.problem-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
text-align: left;
}
.problem-card {
background: #fef2f2;
border-left: 4px solid #dc2626;
padding: 1.5rem;
border-radius: 0 8px 8px 0;
}
.problem-card h3 { color: #991b1b; margin-bottom: 0.5rem; }
.solution {
background: #f0fdf4;
padding: 5rem 0;
}
.solution h2 { text-align: center; font-size: 2rem; margin-bottom: 2rem; color: #166534; }
.solution-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.solution-card {
background: white;
padding: 2rem;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.solution-card h3 { margin-bottom: 1rem; color: #166534; }
.solution-card ul { list-style: none; }
.solution-card li { padding: 0.5rem 0; padding-left: 1.5rem; position: relative; }
.solution-card li::before { content: "✓"; position: absolute; left: 0; color: #22c55e; font-weight: bold; }
.features {
padding: 5rem 0;
text-align: center;
}
.features h2 { font-size: 2rem; margin-bottom: 3rem; }
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.feature-card {
background: white;
padding: 2.5rem;
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
text-align: left;
}
.feature-card .icon { font-size: 2.5rem; margin-bottom: 1rem; }
.feature-card h3 { margin-bottom: 0.5rem; }
.feature-card p { color: #666; }
.roi {
background: #f8f9fa;
padding: 5rem 0;
text-align: center;
}
.roi h2 { font-size: 2rem; margin-bottom: 3rem; }
.roi-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
}
.roi-card { padding: 2rem; }
.roi-number { font-size: 3rem; font-weight: 800; color: #e94560; }
.roi-label { color: #666; margin-top: 0.5rem; }
.integration {
padding: 5rem 0;
text-align: center;
}
.integration h2 { font-size: 2rem; margin-bottom: 2rem; }
.integration-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.integration-card {
background: white;
padding: 2rem;
border-radius: 12px;
border: 1px solid #eee;
}
.btn {
display: inline-block;
padding: 1rem 2rem;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: all 0.2s;
}
.btn-primary {
background: #e94560;
color: white;
}
.btn-primary:hover { background: #d63d56; }
footer {
background: #1a1a2e;
color: white;
padding: 3rem 0;
text-align: center;
}
footer p { opacity: 0.6; }
</style>
</head>
<body>
<section class="hero">
<div class="container">
<h1>ATM Monitoring</h1>
<p class="tagline">AI-Powered Visual Surveillance for ATM Networks</p>
<p class="subtitle">Detect skimming devices, vandalism, and operational anomalies in real time</p>
<a href="/enterprise/" class="btn btn-primary">Request a pilot →</a>
</div>
</section>
<section class="problem container">
<h2>ATM networks face invisible threats</h2>
<div class="problem-grid">
<div class="problem-card">
<h3>Skimming attacks</h3>
<p>Criminals install card readers and cameras to steal customer data. Detection is often too late.</p>
</div>
<div class="problem-card">
<h3>Vandalism & physical damage</h3>
<p>Broken screens, graffiti, and intentional damage reduce availability and customer trust.</p>
</div>
<div class="problem-card">
<h3>Operational failures</h3>
<p>Cash jams, receipt failures, and network outages go unnoticed until customers complain.</p>
</div>
<div class="problem-card">
<h3>Environmental degradation</h3>
<p>Poor lighting, obstructions, and unsafe surroundings increase risk and reduce usage.</p>
</div>
</div>
</section>
<section class="solution">
<div class="container">
<h2>How Landvex ATM Monitoring works</h2>
<div class="solution-grid">
<div class="solution-card">
<h3>🔍 Continuous Visual Monitoring</h3>
<ul>
<li>Cameras capture every ATM continuously</li>
<li>Multiple angles for complete coverage</li>
<li>Works day and night, all weather</li>
</ul>
</div>
<div class="solution-card">
<h3>🤖 AI Anomaly Detection</h3>
<ul>
<li>14 anomaly types detected automatically</li>
<li>Real-time analysis of every image</li>
<li>Confidence scoring for every detection</li>
</ul>
</div>
<div class="solution-card">
<h3>⚡ Real-Time Alerts</h3>
<ul>
<li>Instant notification on critical issues</li>
<li>WebSocket streaming to dashboards</li>
<li>Escalation based on severity</li>
</ul>
</div>
<div class="solution-card">
<h3>🔮 Predictive Maintenance</h3>
<ul>
<li>Forecast failures before they happen</li>
<li>Optimize maintenance schedules</li>
<li>Reduce emergency callouts</li>
</ul>
</div>
<div class="solution-card">
<h3>🛡️ Security Assessment</h3>
<ul>
<li>Physical vulnerability scoring</li>
<li>Environmental risk analysis</li>
<li>Compliance tracking</li>
</ul>
</div>
<div class="solution-card">
<h3>📊 Dashboard & Analytics</h3>
<ul>
<li>Network-wide status overview</li>
<li>Trend analysis and reporting</li>
<li>Integration with existing systems</li>
</ul>
</div>
</div>
</div>
</section>
<section class="features container">
<h2>Key Features</h2>
<div class="feature-grid">
<div class="feature-card">
<div class="icon">📷</div>
<h3>Visual AI Engine</h3>
<p>YOLOv8-based computer vision trained on thousands of ATM images. Detects anomalies with 94% accuracy.</p>
</div>
<div class="feature-card">
<div class="icon">🔔</div>
<h3>Smart Alerting</h3>
<p>Alerts ranked by severity. Critical issues like skimming devices trigger immediate security dispatch.</p>
</div>
<div class="feature-card">
<div class="icon">🗺️</div>
<h3>Network Mapping</h3>
<p>Visual map of your entire ATM network with color-coded status. Zoom from country to individual machine.</p>
</div>
<div class="feature-card">
<div class="icon">📈</div>
<h3>Trend Analysis</h3>
<p>Track anomaly frequency, types, and locations over time. Identify patterns and predict hotspots.</p>
</div>
<div class="feature-card">
<div class="icon">🔌</div>
<h3>API & Integration</h3>
<p>REST API and WebSocket for real-time data. Integrate with your existing monitoring and ticketing systems.</p>
</div>
<div class="feature-card">
<div class="icon">📱</div>
<h3>Mobile Dashboard</h3>
<p>Access status and alerts from anywhere. Optimized for field technicians and security teams.</p>
</div>
</div>
</section>
<section class="roi">
<div class="container">
<h2>Proven ROI</h2>
<div class="roi-grid">
<div class="roi-card">
<div class="roi-number">73%</div>
<div class="roi-label">faster skimming detection</div>
</div>
<div class="roi-card">
<div class="roi-number">40%</div>
<div class="roi-label">reduction in vandalism costs</div>
</div>
<div class="roi-card">
<div class="roi-number">25%</div>
<div class="roi-label">less unplanned downtime</div>
</div>
<div class="roi-card">
<div class="roi-number">$2.4M</div>
<div class="roi-label">saved per 1000 ATMs annually</div>
</div>
</div>
</div>
</section>
<section class="integration container">
<h2>Integration Options</h2>
<div class="integration-grid">
<div class="integration-card">
<h3>REST API</h3>
<p>HTTP endpoints for predictions, status queries, and data retrieval. JSON responses, OpenAPI documented.</p>
</div>
<div class="integration-card">
<h3>WebSocket</h3>
<p>Real-time streaming of alerts and status updates. Sub-second latency for critical notifications.</p>
</div>
<div class="integration-card">
<h3>Webhook</h3>
<p>Push notifications to your SIEM, ticketing system, or custom endpoint. Configurable triggers.</p>
</div>
<div class="integration-card">
<h3>Dashboard</h3>
<p>Standalone web dashboard or embeddable widgets. White-label options available.</p>
</div>
</div>
</section>
<section class="hero" style="padding: 60px 0;">
<div class="container">
<h2 style="font-size: 2.5rem; margin-bottom: 1rem;">Ready to secure your ATM network?</h2>
<p style="font-size: 1.2rem; opacity: 0.8; margin-bottom: 2rem;">Join banks and ATM operators using Landvex to protect their infrastructure.</p>
<a href="/enterprise/" class="btn btn-primary">Request a pilot →</a>
</div>
</section>
<footer>
<div class="container">
<p><strong>Related:</strong>
<a href="/insights/atm-network-optimization/" style="color: #e94560;">ATM Network Optimization</a> ·
<a href="/insights/atm-security-assessment/" style="color: #e94560;">ATM Security Assessment</a> ·
<a href="/insights/atm-maintenance-predictive/" style="color: #e94560;">Predictive Maintenance</a> ·
<a href="/insights/cash-access-urban-deserts/" style="color: #e94560;">Cash Access Deserts</a> ·
<a href="/insights/bank-branch-field-intelligence/" style="color: #e94560;">Bank Branch Intelligence</a>
</p>
<p style="margin-top: 1rem;">© 2026 Landvex. Decision Intelligence for the Physical World.</p>
</div>
</footer>
</body>
</html>