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
+390
View File
@@ -0,0 +1,390 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Scheduled Missions — Verified Field Intelligence | QUIXZOOM</title>
<meta name="description" content="Plan and assign field photography missions. Get visual verification of assets without sending your own staff. AI-validated results in hours.">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; }
.container { max-width: 1000px; margin: 0 auto; padding: 0 2rem; }
.hero {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
color: white;
padding: 100px 0 60px;
text-align: center;
}
.hero h1 {
font-size: 3rem;
font-weight: 800;
margin-bottom: 1rem;
}
.hero p {
font-size: 1.25rem;
opacity: 0.9;
margin-bottom: 2rem;
}
.btn {
display: inline-block;
padding: 1rem 3rem;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
transition: all 0.2s;
}
.btn-primary {
background: #e94560;
color: white;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(233, 69, 96, 0.3);
}
.problem {
padding: 4rem 0;
text-align: center;
}
.problem h2 {
font-size: 2rem;
margin-bottom: 1rem;
}
.problem-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
text-align: left;
}
.problem-card {
background: #fef2f2;
border-left: 4px solid #ef4444;
padding: 1.5rem;
border-radius: 0 8px 8px 0;
}
.problem-card h3 {
color: #dc2626;
margin-bottom: 0.5rem;
}
.problem-card p {
color: #666;
}
.solution {
background: #f8f9fa;
padding: 4rem 0;
}
.solution h2 {
text-align: center;
font-size: 2rem;
margin-bottom: 2rem;
}
.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: #1a1a2e;
}
.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: #10b981;
font-weight: bold;
}
.use-cases {
padding: 4rem 0;
}
.use-cases h2 {
text-align: center;
font-size: 2rem;
margin-bottom: 2rem;
}
.case-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
}
.case-card {
border: 2px solid #e5e7eb;
border-radius: 12px;
padding: 1.5rem;
transition: border-color 0.2s;
}
.case-card:hover {
border-color: #e94560;
}
.case-card h3 {
margin-bottom: 0.5rem;
}
.case-card p {
color: #666;
font-size: 0.95rem;
}
.pricing {
background: #f8f9fa;
padding: 4rem 0;
}
.pricing h2 {
text-align: center;
font-size: 2rem;
margin-bottom: 2rem;
}
.pricing-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.pricing-card {
background: white;
padding: 2rem;
border-radius: 12px;
text-align: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.pricing-card.featured {
border: 2px solid #e94560;
transform: scale(1.05);
}
.pricing-card h3 {
margin-bottom: 0.5rem;
}
.pricing-card .price {
font-size: 2.5rem;
font-weight: 800;
color: #1a1a2e;
margin: 1rem 0;
}
.pricing-card .price span {
font-size: 1rem;
font-weight: 400;
color: #666;
}
.pricing-card ul {
list-style: none;
margin: 1.5rem 0;
text-align: left;
}
.pricing-card li {
padding: 0.5rem 0;
padding-left: 1.5rem;
position: relative;
}
.pricing-card li::before {
content: "✓";
position: absolute;
left: 0;
color: #10b981;
}
.cta {
background: #1a1a2e;
color: white;
padding: 4rem 0;
text-align: center;
}
.cta h2 {
font-size: 2rem;
margin-bottom: 1rem;
}
.cta p {
opacity: 0.9;
margin-bottom: 2rem;
}
footer {
background: #111;
color: white;
padding: 2rem 0;
text-align: center;
}
footer p {
opacity: 0.5;
}
</style>
</head>
<body>
<section class="hero">
<div class="container">
<h1>See Your Assets Without Leaving Your Desk</h1>
<p>Verified visual intelligence from the field, delivered in hours.</p>
<a href="#demo" class="btn btn-primary">Book a Demo →</a>
</div>
</section>
<section class="problem container">
<h2>The Problem</h2>
<div class="problem-grid">
<div class="problem-card">
<h3>Expensive Field Visits</h3>
<p>Sending staff to inspect assets costs time and money. $200+ per visit.</p>
</div>
<div class="problem-card">
<h3>Slow Response Times</h3>
<p>Scheduling inspections takes days or weeks. Problems worsen while you wait.</p>
</div>
<div class="problem-card">
<h3>Inconsistent Data</h3>
<p>Different inspectors, different standards. Hard to compare over time.</p>
</div>
<div class="problem-card">
<h3>Limited Coverage</h3>
<p>Can't inspect everywhere. Remote locations are especially difficult.</p>
</div>
</div>
</section>
<section class="solution">
<div class="container">
<h2>How Scheduled Missions Work</h2>
<div class="solution-grid">
<div class="solution-card">
<h3>1. Plan Your Mission</h3>
<ul>
<li>Define what needs photographing</li>
<li>Set location and requirements</li>
<li>Choose verification level</li>
<li>Set deadline</li>
</ul>
</div>
<div class="solution-card">
<h3>2. We Assign a Zoomer</h3>
<ul>
<li>Verified contributor nearby</li>
<li>Matched by skills and rating</li>
<li>Travels to location</li>
<li>Takes required photos</li>
</ul>
</div>
<div class="solution-card">
<h3>3. AI Validates Results</h3>
<ul>
<li>Checks image quality</li>
<li>Verifies location data</li>
<li>Detects anomalies</li>
<li>Flags issues automatically</li>
</ul>
</div>
<div class="solution-card">
<h3>4. You Get Intelligence</h3>
<ul>
<li>Photos delivered in hours</li>
<li>AI analysis included</li>
<li>Compare to previous missions</li>
<li>Export or integrate</li>
</ul>
</div>
</div>
</div>
</section>
<section class="use-cases container">
<h2>Use Cases</h2>
<div class="case-grid">
<div class="case-card">
<h3>🏦 Banking</h3>
<p>Verify ATM condition, branding, and surrounding environment across your network.</p>
</div>
<div class="case-card">
<h3>🏛️ Municipal</h3>
<p>Monitor road conditions, public buildings, and infrastructure without city staff.</p>
</div>
<div class="case-card">
<h3>⚡ Energy</h3>
<p>Inspect charging stations, transformers, and power lines remotely.</p>
</div>
<div class="case-card">
<h3>🏢 Property</h3>
<p>Track building condition, maintenance needs, and tenant compliance.</p>
</div>
<div class="case-card">
<h3>🚗 Insurance</h3>
<p>Verify claims, assess damage, and document property condition.</p>
</div>
<div class="case-card">
<h3>🛒 Retail</h3>
<p>Monitor store displays, signage, and competitor activity.</p>
</div>
</div>
</section>
<section class="pricing">
<div class="container">
<h2>Pricing</h2>
<div class="pricing-grid">
<div class="pricing-card">
<h3>Starter</h3>
<div class="price">$500<span>/month</span></div>
<ul>
<li>Up to 10 missions</li>
<li>Basic AI validation</li>
<li>Email delivery</li>
<li>30-day archive</li>
</ul>
<a href="#contact" class="btn btn-primary">Get Started</a>
</div>
<div class="pricing-card featured">
<h3>Professional</h3>
<div class="price">$2,500<span>/month</span></div>
<ul>
<li>Up to 100 missions</li>
<li>Advanced AI + anomaly detection</li>
<li>API access</li>
<li>1-year archive</li>
<li>Priority support</li>
</ul>
<a href="#demo" class="btn btn-primary">Book Demo</a>
</div>
<div class="pricing-card">
<h3>Enterprise</h3>
<div class="price">Custom</div>
<ul>
<li>Unlimited missions</li>
<li>Custom integrations</li>
<li>Dedicated support</li>
<li>SLA guarantee</li>
<li>On-premise option</li>
</ul>
<a href="#contact" class="btn btn-primary">Contact Sales</a>
</div>
</div>
</div>
</section>
<section class="cta">
<div class="container">
<h2>Ready to See Your Assets?</h2>
<p>Schedule a demo and see how Scheduled Missions work.</p>
<a href="#demo" class="btn btn-primary">Book a Demo →</a>
</div>
</section>
<footer>
<div class="container">
<p>© 2026 QUIXZOOM by Landvex</p>
</div>
</footer>
</body>
</html>