6.1 KiB
6.1 KiB
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
- Starta Apollo CRM (port 3001)
- Bygg Operations API (port 3005)
- Konfigurera Stripe
- Testa fakturaflöde
Status: Plan klar. Väntar på go-ahead för implementation.