# Master Backend Plan v3.0 — LandveX Operations Platform ## Vision En unified operations platform som hanterar ALLT utöver kärnprodukten: - Kunder & avtal - Fakturering & betalning - Support & ärenden - Press & kommunikation - API-nycklar & åtkomst - Ekonomi & redovisning ## Arkitektur: "One Gateway, Many Services" ``` ┌─────────────────┐ │ LandveX UI │ │ (React/Vite) │ └────────┬────────┘ │ ┌──────────────┼──────────────┐ │ │ │ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │ Public │ │Professional│ │ Enterprise │ │ (gratis) │ │ (betalt) │ │ (avtal) │ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ └──────────────┼──────────────┘ │ ┌────────▼────────┐ │ LandveX Gateway │ ← Auth, routing, rate limits │ (port 3004) │ └────────┬────────┘ │ ┌────────────────────┼────────────────────┐ │ │ │ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │Intelligence│ │Operations │ │ Billing │ │ Lab │ │ Platform │ │ Engine │ │(3002) │ │(3004) │ │(Rust) │ └───────────┘ └────┬─────┘ └───────────┘ │ ┌───────────────────┼───────────────────┐ │ │ │ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │ CRM │ │ Support │ │ Press │ │(Apollo) │ │(3303) │ │ │ └─────────┘ └─────────┘ └─────────┘ ``` ## Services (befintliga + nya) ### ✅ Redan igång | Tjänst | Port | Tech | Status | |--------|------|------|--------| | Intelligence Lab | 3002 | Node.js | ✅ MVP-0 | | Gateway | 3004 | Node.js | ✅ Just startad | | Apollo CRM | 3001 | Node.js | 🔄 Behöver startas | | AAMOS Gateway | 8080 | Go | ✅ Kör | | AAMOS CRM | 3301 | Go | ✅ Kör | | AAMOS Incidents | 3303 | Go | ✅ Kör | | AAMOS Ledger | 3250 | Rust | ✅ Kör | | AMOS Billing | ? | Rust | ✅ Kör | ### 🆕 Nya tjänster att bygga | Tjänst | Port | Tech | Beskrivning | |--------|------|------|-------------| | Operations API | 3005 | Node.js | Government portal, avtal, inställningar | | Press Engine | 3006 | Node.js | Pressmeddelanden, nyhetsbrev | | API Key Manager | 3007 | Node.js | API-nycklar, rate limits, access logs | | Stripe Adapter | 3008 | Node.js | Stripe integration, webhooks | | PEPPOL Gateway | 3009 | Node.js | Elektronisk faktura till myndigheter | ## Dataflöde: Government Customer ``` 1. Myndighet registrerar sig → Skapas i Operations API → Skapas i Stripe som customer → Skapas i AAMOS Ledger som kund 2. Myndighet konfigurerar betalning → Sparas i Operations API → Uppdaterar Stripe customer → Validerar org-nr mot Skatteverket 3. Myndighet beställer uppdrag → Skapas i Intelligence Lab → Kostnad beräknas → Förbrukning uppdateras i Operations API 4. Uppdrag genomförs → Status uppdateras i Intelligence Lab → Kostnad bokförs i AAMOS Ledger → Faktura genereras (Stripe/PEPPOL) 5. Faktura betalas → Stripe webhook → Operations API → AAMOS Ledger uppdateras → Status ändras till "betald" ``` ## Teknisk Stack ### Gateway (port 3004) - Express.js med proxy middleware - JWT auth med roller - Rate limiting per API-nyckel - Request logging och tracing ### Operations API (port 3005) - Express.js + TypeScript - PostgreSQL för data - Integrationer: - Stripe (betalning) - AAMOS Ledger (bokföring) - Skatteverket (org-nr validering) - PEPPOL (elektronisk faktura) ### Press Engine (port 3006) - Express.js + TypeScript - PostgreSQL - Mailgun/SendGrid för utskick - RSS-flöde - Arkiv med sök ### API Key Manager (port 3007) - Express.js + TypeScript - Redis för rate limiting - PostgreSQL för nycklar - Audit log för alla anrop ## Implementation Plan ### Sprint 1: Gateway + Operations API (2 veckor) - [ ] Gateway med auth och routing - [ ] Operations API grund - [ ] Government customer model - [ ] Grundläggande CRUD ### Sprint 2: Betalning + Faktura (2 veckor) - [ ] Stripe integration - [ ] Fakturagenerering (PDF) - [ ] Kostnadsöversikt - [ ] Budgetvarningar ### Sprint 3: PEPPOL + Avancerat (2 veckor) - [ ] PEPPOL gateway - [ ] Org-nr validering - [ ] Attestflöde - [ ] Användarroller ### Sprint 4: Press + API Keys (2 veckor) - [ ] Press engine - [ ] API key manager - [ ] Dokumentation - [ ] Monitoring ## Kostnad | Komponent | Beräknad kostnad | |-----------|-----------------| | Utveckling | 4 sprintar × 2 veckor | | Stripe | 1.5% + 1.80 kr per transaktion | | PEPPOL | ~0.50 kr per faktura | | Drift | ECS/Fargate ~$50/mån | ## Nästa steg 1. **Starta Apollo CRM** (port 3001) 2. **Bygg Operations API** (port 3005) 3. **Konfigurera Stripe** 4. **Testa fakturaflöde** --- **Status:** Plan klar. Väntar på go-ahead för implementation.