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

16 KiB
Raw Blame History

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)

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)

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)

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)

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)

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:

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