Files
boc/docs/MASTER_BACKEND_PLAN_v3.md
T

180 lines
6.1 KiB
Markdown
Raw Normal View History

# 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.