Files
boc/adminverktyg-rapportflode.md
T
Bernt 6989a98d75 feat: Passwordless cross-device authentication
- Arkitektur: docs/auth/passwordless-architecture.md
- Backend: iom/quixzoom-auth-service/ (FastAPI + Redis)
- Webb: quixzoom-market-pages/se/login/ (QR-kod + polling)
- App: iom/quixzoom-app/src/features/auth/ (push + deep links)

Flöde: QR-kod → app-godkännande → webb-inloggad
2026-07-07 07:11:50 +00:00

473 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADMINVERKTYG — RAPPORTFLÖDE (Back-engineerad)
## Jesper Melin Demo Case → Generisk Systemstruktur
---
## 1. RAPPORTKOMPONENTER (vad som skapades för Jesper)
### 1.1 Input-data (kundens produkt)
```
Produkt: Fasting Support Spray™
- Typ: Munsprej
- Ingredienser: Elektrolyter, vitaminer, växtbaserade extrakt
- Användning: Periodisk fasta, keto
- Format: 30ml pocket
- Pris: Premium (15-25 EUR/USD)
- Certifieringar: GMP, vegansk, sockerfri
```
### 1.2 Output-sektioner (rapporten)
1. **Sammanfattning** — Topp 5 marknader, strategi, investering
2. **Produktdefinition & Målgrupp** — TAM/SAM/SOM, segmentering
3. **Marknadsmatris** — Rankningskriterier, marknadsranking per land
4. **Konkurrensanalys** — Direkta/indirekta konkurrenter, SWOT
5. **Omvärldsanalys** — Makrotrender, drivkrafter, risker
6. **Etableringsstrategi** — Fasad approach, budget, mätpunkter
7. **Produktanpassning** — Per marknad: smak, förpackning, påståenden
8. **Finansiell projektion** — Investering, omsättning, marginal
9. **Riskanalys** — Sannolikhet, impact, mitigering
10. **Rekommendation** — Omedelbara/kortsiktiga/långsiktiga åtgärder
11. **Datakällor & Metodologi** — Primär/sekundärdata, metoder
12. **Appendix** — Djupanalyser per marknad, konkurrent deep-dives
---
## 2. SYSTEMFLÖDE (no-code)
### Steg 1: PRODUKTINPUT (kunden fyller i)
```
┌─────────────────────────────────────┐
│ PRODUKTINPUT-FORMULÄR │
├─────────────────────────────────────┤
│ • Produktnamn │
│ • Produkttyp (dropdown) │
│ • Ingredienser/teknik │
│ • Användningsområde │
│ • Format/storlek │
│ • Prisnivå │
│ • Certifieringar │
│ • Målgrupp (förifylld från typ) │
│ • Nuvarande marknader │
│ • Konkurrenter (frivilligt) │
└─────────────────────────────────────┘
```
### Steg 2: AUTOMATISK DATAHÄMTNING (systemet)
```
┌─────────────────────────────────────┐
│ DATAMOTOR │
├─────────────────────────────────────┤
│ A. Marknadsdata (Landvex intern) │
│ • quiXzoom fältdatainsamling │
│ • Stadsmässig data │
│ • Marknadstrender │
│ │
│ B. Extern data (APIer) │
│ • Google Trends API │
│ • Statista/Euromonitor │
│ • Nationell statistik │
│ • E-handelsdata │
│ │
│ C. Konkurrensdata │
│ • Amazon/Alibaba scraping │
│ • Prisjämförelse │
│ • Review-analys │
│ │
│ D. Regulatorisk data │
│ • EU-förordningar (EUR-Lex) │
│ • FDA-databas │
│ • Nationella myndigheter │
└─────────────────────────────────────┘
```
### Steg 3: ANALYS & BERÄKNING (systemet)
```
┌─────────────────────────────────────┐
│ ANALYSMOTOR │
├─────────────────────────────────────┤
│ 1. Marknadsstorleksberäkning │
│ • TAM = Global marknad × segment│
│ • SAM = TAM × geografisk andel │
│ • SOM = SAM × realistisk andel │
│ │
│ 2. Marknadsranking │
│ • Viktad skoringsmodell │
│ • Kriterier: storlek, reglering,│
│ e-handel, konkurrens, kultur, │
│ logistik │
│ │
│ 3. Konkurrensmapping │
│ • Direkta vs indirekta │
│ • Prispositionering │
│ • Differentieringsfaktorer │
│ │
│ 4. Trendanalys │
│ • Makrotrender (PESTEL) │
│ • Drivkrafter │
│ • Risker │
│ │
│ 5. Finansiell modell │
│ • Investeringsbehov per fas │
│ • Omsättningsprojektion │
│ • Marginalstruktur │
│ • Break-even-analys │
└─────────────────────────────────────┘
```
### Steg 4: RAPPORTGENERERING (systemet)
```
┌─────────────────────────────────────┐
│ RAPPORTGENERERARE │
├─────────────────────────────────────┤
│ • Mallbaserad (Markdown/HTML/PDF) │
│ • Variabler fylls i automatiskt │
│ • Grafer genereras (Chart.js/D3) │
│ • Källor listas automatiskt │
│ • Spårbarhet: varje påstående har │
│ en datakälla länkad │
└─────────────────────────────────────┘
```
### Steg 5: GRANSKNING & EXPORT (kunden)
```
┌─────────────────────────────────────┐
│ GRANSKNINGSGRÄNSSNITT │
├─────────────────────────────────────┤
│ • Förhandsvisning av rapport │
│ • Redigera sektioner │
│ • Lägg till kommentarer │
│ • Godkänn / begär ändringar │
│ • Export: PDF, Word, HTML │
│ • Dela: Länk, e-post, Slack │
└─────────────────────────────────────┘
```
---
## 3. DATAMODELL (databasstruktur)
### 3.1 Produkter (products)
```sql
CREATE TABLE products (
id UUID PRIMARY KEY,
name VARCHAR(255),
type VARCHAR(100), -- enum: spray, capsule, powder, device, etc.
description TEXT,
ingredients JSONB,
usage_scenarios JSONB,
format VARCHAR(100),
price_range_min DECIMAL,
price_range_max DECIMAL,
currency VARCHAR(3),
certifications JSONB,
target_audience JSONB,
current_markets JSONB,
created_by UUID,
created_at TIMESTAMP,
updated_at TIMESTAMP
);
```
### 3.2 Marknader (markets)
```sql
CREATE TABLE markets (
id UUID PRIMARY KEY,
country_code CHAR(2),
country_name VARCHAR(100),
population INTEGER,
gdp_per_capita DECIMAL,
e_commerce_penetration DECIMAL,
if_trend_index INTEGER,
keto_adoption VARCHAR(20),
regulatory_environment VARCHAR(20),
competition_level VARCHAR(20),
cultural_acceptance INTEGER,
logistics_ease INTEGER,
data_sources JSONB,
updated_at TIMESTAMP
);
```
### 3.3 Konkurrenter (competitors)
```sql
CREATE TABLE competitors (
id UUID PRIMARY KEY,
name VARCHAR(255),
product_type VARCHAR(100),
price DECIMAL,
currency VARCHAR(3),
markets JSONB,
channels JSONB,
strengths TEXT,
weaknesses TEXT,
threat_level VARCHAR(20),
data_source VARCHAR(255),
updated_at TIMESTAMP
);
```
### 3.4 Rapporter (reports)
```sql
CREATE TABLE reports (
id UUID PRIMARY KEY,
product_id UUID REFERENCES products(id),
title VARCHAR(255),
status VARCHAR(20), -- draft, review, approved, archived
content JSONB, -- strukturerad rapportdata
generated_at TIMESTAMP,
generated_by UUID,
approved_by UUID,
approved_at TIMESTAMP,
version INTEGER,
parent_report_id UUID -- för versionering
);
```
### 3.5 Datakällor (data_sources)
```sql
CREATE TABLE data_sources (
id UUID PRIMARY KEY,
name VARCHAR(255),
type VARCHAR(50), -- internal, api, scraper, manual
url VARCHAR(500),
api_key_encrypted TEXT,
last_sync TIMESTAMP,
sync_frequency VARCHAR(20),
reliability_score INTEGER,
active BOOLEAN
);
```
---
## 4. API-ENDPOINTS (för integrationer)
```
POST /api/v1/products # Skapa produkt
GET /api/v1/products/:id # Hämta produkt
PUT /api/v1/products/:id # Uppdatera produkt
DELETE /api/v1/products/:id # Ta bort produkt
POST /api/v1/reports # Generera rapport
GET /api/v1/reports/:id # Hämta rapport
PUT /api/v1/reports/:id/approve # Godkänn rapport
GET /api/v1/reports/:id/export # Exportera rapport (PDF/Word)
GET /api/v1/markets # Lista marknader
GET /api/v1/markets/:code # Hämta specifik marknad
GET /api/v1/markets/:code/trends # Hämta trenddata
GET /api/v1/competitors # Lista konkurrenter
POST /api/v1/competitors # Lägg till konkurrent
GET /api/v1/data-sources # Lista datakällor
POST /api/v1/data-sources/:id/sync # Tvinga synkronisering
```
---
## 5. FRONTEND-KOMPONENTER (React/Vue)
### 5.1 Produktskapare
```
┌─────────────────────────────────────┐
│ Steg 1: Grundinfo │
│ [Produktnamn ] [Typ ▼] │
│ │
│ Steg 2: Tekniska specs │
│ [Ingredienser ] [Format ▼] │
│ [Användning ] [Pris ▼] │
│ │
│ Steg 3: Målgrupp │
│ ☑ Biohackers ☑ Hälsomedvetna │
│ ☑ Keto ☑ Fastande │
│ │
│ [Generera rapport →] │
└─────────────────────────────────────┘
```
### 5.2 Rapportvisare
```
┌─────────────────────────────────────┐
│ 📊 Marknadsrapport │
│ Fasting Support Spray™ │
├─────────────────────────────────────┤
│ ┌─────────────────────────────┐ │
│ │ Marknadsranking │ │
│ │ [Graf: Topp 5 länder] │ │
│ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ │
│ │ Konkurrenslandskap │ │
│ │ [Graf: Pris vs Position] │ │
│ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ │
│ │ Investeringsprojektion │ │
│ │ [Graf: Omsättning över tid]│ │
│ └─────────────────────────────┘ │
│ │
│ [Redigera] [Exportera PDF] [Dela] │
└─────────────────────────────────────┘
```
### 5.3 Datakontrollpanel
```
┌─────────────────────────────────────┐
│ 📡 Datakällor │
├─────────────────────────────────────┤
│ 🟢 quiXzoom API Senast: 5m │
│ 🟢 Google Trends Senast: 1h │
│ 🟡 Statista API Senast: 6h │
│ 🔴 Euromonitor Senast: 2d │
│ │
│ [Synkronisera alla] │
└─────────────────────────────────────┘
```
---
## 6. AUTOMATISERAD SONDINHÄMTNING (quiXzoom-integration)
### 6.1 Triggervillkor
```
När rapport genereras för produkttyp X:
1. Kontrollera om quiXzoom har data för relevanta marknader
2. Om JA: Hämta fältdatainsamling
3. Om NEJ: Skapa automatisk sond (mission) för datainsamling
```
### 6.2 Sondtyp per produktkategori
```
Produkttyp: Kosttillskott/fastaprodukter
Sondtyp: Butiksgång (retail audit)
Data: • Pris på konkurrerande produkter
• Förekomst på hyllor
• Prominens (end cap, etc.)
• Utgångsdatum (freshness)
Produkttyp: Infrastruktur/IoT
Sondtyp: Fältobservation
Data: • Fysisk tillstånd
• Installation
• Användning
Produkttyp: Fastighet/retail
Sondtyp: Platsbesök
Data: • Fotodokumentation
• Mänsklig trafik
• Konkurrensnärhet
```
### 6.3 Automatisk rapportuppdatering
```
När sonddata inkommer:
1. Matcha mot befintlig rapport
2. Uppdatera relevanta sektioner
3. Flagga ändringar för granskning
4. Skicka notis till rapportägare
```
---
## 7. ROLLER & BEHÖRIGHETER
| Roll | Behörigheter |
|------|--------------|
| **Admin** | Allt: skapa, redigera, ta bort, godkänna, exportera |
| **Analytiker** | Skapa produkter, generera rapporter, redigera utkast |
| **Granskare** | Granska rapporter, godkänna, lägga till kommentarer |
| **Kund** | Se egna rapporter, exportera, dela |
| **Gäst** | Se demo-rapporter (anonymiserade) |
---
## 8. IMPLEMENTERINGSPLAN
### Fas 1: MVP (4 veckor)
- [ ] Produktskapare (grundläggande formulär)
- [ ] Rapportgenerator (Markdown, statisk)
- [ ] Marknadsdata (manuell inmatning + Statista API)
- [ ] Export (PDF)
### Fas 2: Automation (4 veckor)
- [ ] Google Trends-integration
- [ ] Automatisk konkurrensmapping
- [ ] Finansiell modell
- [ ] Datakontrollpanel
### Fas 3: quiXzoom-integration (4 veckor)
- [ ] API-koppling till quiXzoom
- [ ] Automatisk sondskapande
- [ ] Realtidsdata i rapporter
- [ ] Karta med fältdatainsamling
### Fas 4: Avancerat (4 veckor)
- [ ] AI-driven insiktsgenerering
- [ ] Scenario-planering
- [ ] Samarbetsverktyg (kommentarer, versionering)
- [ ] White-label (kundens varumärke på rapporter)
---
## 9. TEKNISK STACK (förslag)
| Komponent | Teknik |
|-----------|--------|
| **Frontend** | React + TypeScript + Tailwind CSS |
| **Backend** | Node.js + Express / Python + FastAPI |
| **Databas** | PostgreSQL + Redis (cache) |
| **Rapportgenerering** | Puppeteer (PDF), React-PDF |
| **Grafer** | Chart.js / D3.js / Recharts |
| **API-integrationer** | REST + GraphQL |
| **Filhantering** | AWS S3 |
| **Autentisering** | Auth0 / AWS Cognito |
| **Hosting** | AWS (ECS/Lambda) |
---
## 10. DEMO-CASE: Jesper Melin → Generisk mall
### Från specifik till generisk:
| Jespers produkt | Generisk parameter |
|-----------------|-------------------|
| Fasting Support Spray™ | `{product_name}` |
| Munsprej | `{product_type}` |
| Elektrolyter, vitaminer | `{ingredients}` |
| Periodisk fasta | `{usage_scenarios}` |
| 30ml | `{format}` |
| Premium (15-25 EUR) | `{price_range}` |
| Sverige, Tyskland, etc. | `{top_markets}` |
| LMNT, Snake Juice | `{competitors}` |
### Mall-exempel:
```markdown
# Marknadsintelligensrapport
## {product_name}
## SAMMANFATTNING
{product_name} är en {product_type} med potential inom
{primary_market}. Marknaden växer med {cagr}% CAGR.
**Rekommenderad prioritet:**
{for each top_market}
1. **{country}** — {key_reason}
{end}
## 1. PRODUKTDEFINITION
| Attribut | Beskrivning |
|----------|-------------|
| **Produkttyp** | {product_type} |
| **Ingredienser** | {ingredients} |
| **Användning** | {usage_scenarios} |
| **Format** | {format} |
| **Pris** | {price_range} {currency} |
```
---
*Dokument producerat av Landvex Control Intelligence.*
*Datum: 2026-07-05*
*Version: 1.0 (MVP-specifikation)*