landvex: Fixar och tester klara för alla komponenter

- Datafabrik: Dockerfile fix, agentorkestrering fungerar
- Vision: Identify-modell, FAISS, OCR alla testade
- API: Alla 7 integrationstester passerade
- Upplösare: Entitetsupplösning verifierad
This commit is contained in:
Bernt
2026-07-05 06:41:32 +00:00
parent f4f853d94b
commit aee0f09db8
19583 changed files with 1450867 additions and 1153 deletions
+393
View File
@@ -0,0 +1,393 @@
{
"modules": [
{
"id": "module1",
"title": "Kom igång",
"description": "Från registrering till första utbetalning",
"duration": "35 min",
"level": "Nybörjare",
"lessons": [
{
"id": "m1l1",
"title": "Välkommen till quiXzoom",
"duration": "5 min",
"type": "Introduktion",
"content": {
"intro": "Som Zoomer är du en viktig del av vår crowdsourcing-plattform. Du fotograferar infrastruktur, fastigheter och miljöer — och får betalt för varje godkänt uppdrag.",
"tips": ["De flesta Zoomers tjänar 150-500 kr per uppdrag", "Aktiva Zoomers kan tjäna 8 000-15 000 kr per månad"],
"requirements": ["Smartphone med kamera (iPhone 12+ eller Android med 12MP+)", "Bankkonto för utbetalningar", "ID-handling för verifiering"],
"quiz": {
"question": "Vad behöver du minst för att bli Zoomer?",
"options": ["Professionell kamera och stativ", "Smartphone med kamera och svenskt bankkonto", "Egen bil och körkort"],
"correct": 1
}
}
},
{
"id": "m1l2",
"title": "Skapa ditt konto och verifiera identitet",
"duration": "8 min",
"type": "Video + Quiz",
"content": {
"steps": ["Ladda ner quiXzoom-appen", "Registrera dig med e-post eller telefonnummer", "Verifiera din identitet med BankID eller pass", "Koppla ditt bankkonto för utbetalningar"],
"warning": "Verifiering är obligatorisk och tar vanligtvis 1-2 arbetsdagar.",
"quiz": {
"question": "Hur lång tid tar identitetsverifiering?",
"options": ["Direkt", "1-2 arbetsdagar", "1 vecka"],
"correct": 1
}
}
},
{
"id": "m1l3",
"title": "Hitta och acceptera ditt första uppdrag",
"duration": "10 min",
"type": "Interaktiv guide",
"content": {
"steps": ["Öppna kartan i appen", "Se tillgängliga uppdrag nära dig", "Läs instruktionerna noggrant", "Acceptera uppdraget innan deadline"],
"tips": ["Börja med uppdrag nära dig", "Läs ALLA instruktioner innan du accepterar", "Kolla deadline — du måste leverera i tid"],
"quiz": {
"question": "Vad ska du göra INNAN du accepterar ett uppdrag?",
"options": ["Börja fotografera direkt", "Läs instruktionerna noggrant", "Ring kunden"],
"correct": 1
}
}
},
{
"id": "m1l4",
"title": "Ta dina första bilder och skicka in",
"duration": "12 min",
"type": "Praktisk övning",
"content": {
"steps": ["Följ instruktionerna exakt", "Ta bilder från rätt vinklar", "Kolla att GPS är aktiverat", "Skicka in innan deadline"],
"warning": "Bilder som inte följer instruktionerna avvisas. Du kan komplettera inom 48 timmar.",
"quiz": {
"question": "Hur lång tid har du på dig att komplettera avvisade bilder?",
"options": ["12 timmar", "48 timmar", "1 vecka"],
"correct": 1
}
}
}
]
},
{
"id": "module2",
"title": "Fotokvalitet",
"description": "Så här tar du bilder som godkänns direkt av AI",
"duration": "52 min",
"level": "Nybörjare",
"lessons": [
{
"id": "m2l1",
"title": "AI-granskning — vad tittar den på?",
"duration": "15 min",
"type": "Video",
"content": {
"intro": "quiXzoom använder AI för att granska alla bilder. Systemet kontrollerar skärpa, ljus, framing och metadata.",
"factors": ["Skärpa: Bilden måste vara i fokus", "Ljus: Varken för mörkt eller för ljust", "Framing: Objektet måste vara centrerat", "Metadata: GPS, timestamp, kamerainfo"],
"warning": "Bilder som inte uppfyller kraven avvisas. Du kan alltid komplettera inom 48 timmar.",
"quiz": {
"question": "Vad är viktigast för AI-granskningen?",
"options": ["Filter och effekter", "Skärpa och korrekt ljus", "Hög upplösning (4K+)"],
"correct": 1
}
}
},
{
"id": "m2l2",
"title": "Ljus och exponering",
"duration": "12 min",
"type": "Bildexempel",
"content": {
"intro": "Rätt ljus är avgörande för att AI:n ska kunna analysera bilden.",
"examples": ["Underexponerad: För mörk, detaljer saknas", "Perfekt: Gyldene timmen, varmt ljus", "Överexponerad: För ljus, utbrända detaljer"],
"tips": ["Fotografera en timme efter soluppgång eller före solnedgång", "Undvik direkt solljus i motljus", "Använd HDR-läge om det finns"],
"quiz": {
"question": "Vilket ljus är bäst för fotografering?",
"options": ["Direkt mitt på dagen", "Gyllene timmen (efter soluppgång/före solnedgång)", "Natt med blixt"],
"correct": 1
}
}
},
{
"id": "m2l3",
"title": "Fokus och skärpa",
"duration": "10 min",
"type": "Quiz",
"content": {
"intro": "Skärpa är en av de viktigaste faktorerna för att AI:n ska godkänna din bild.",
"tips": ["Tryck på skärmen där du vill ha fokus", "Håll telefonen stadigt", "Använd båda händerna", "Tryck försiktigt på avtryckaren"],
"warning": "Många avvisade bilder är oskarpa för att Zoomern rörde på telefonen.",
"quiz": {
"question": "Hur undviker du oskarpa bilder?",
"options": ["Trycker snabbt på avtryckaren", "Håller telefonen stadigt och trycker försiktigt", "Använder alltid zoom"],
"correct": 1
}
}
},
{
"id": "m2l4",
"title": "Framing och komposition",
"duration": "15 min",
"type": "Praktiskt",
"content": {
"intro": "Komposition handlar om hur du placerar objektet i bilden.",
"rules": ["Rule of thirds: Placera objektet vid skärningslinjerna", "Huvudobjektet ska ta upp 60-80% av bilden", "Undvik att placera objektet i mitten", "Lämna lite luft runt objektet"],
"tips": ["Använd grid-linjer i kamera-appen", "Fotografera från flera vinklar", "Kolla bilden innan du lämnar platsen"],
"quiz": {
"question": "Hur stor del av bilden ska huvudobjektet ta upp?",
"options": ["20-40%", "60-80%", "90-100%"],
"correct": 1
}
}
}
]
},
{
"id": "module3",
"title": "GPS och plats",
"description": "Varför plats är viktigt och hur du optimerar det",
"duration": "30 min",
"level": "Medel",
"lessons": [
{
"id": "m3l1",
"title": "GPS-accuracy — så fungerar det",
"duration": "10 min",
"type": "Läsa",
"content": {
"intro": "GPS-accuracy avgör hur nära du måste vara det angivna objektet.",
"facts": ["GPS använder satelliter för att bestämma din position", "Accuracy mäts i meter", "Bäst accuracy får du utomhus med fri sikt"],
"tips": ["Stå stilla när du tar bilden", "Undrar tak och täta byggnader", "Vänta på att accuracy-cirkeln blir liten"],
"quiz": {
"question": "Var får du bäst GPS-accuracy?",
"options": ["Inomhus i en källare", "Utomhus med fri sikt mot himlen", "I en tunnel"],
"correct": 1
}
}
},
{
"id": "m3l2",
"title": "Bästa praxis för platsdata",
"duration": "8 min",
"type": "Läsa",
"content": {
"intro": "För att säkerställa korrekt platsdata, följ dessa riktlinjer.",
"best_practices": ["Aktivera alltid platstjänster", "Tillåt quiXzoom att använda GPS i bakgrunden", "Vänta på GPS-fix innan du fotograferar", "Kolla att koordinaterna stämmer på kartan"],
"warning": "Felaktiga GPS-koordinater kan leda till avvisade bilder.",
"quiz": {
"question": "Vad ska du göra innan du fotograferar?",
"options": ["Stäng av GPS för att spara batteri", "Vänta på GPS-fix och kolla koordinaterna", "Fotografera direkt utan att kolla GPS"],
"correct": 1
}
}
},
{
"id": "m3l3",
"title": "Vanliga GPS-fel och hur du undviker dem",
"duration": "12 min",
"type": "Quiz",
"content": {
"intro": "Här är de vanligaste GPS-felen och hur du undviker dem.",
"common_errors": ["GPS är avstängt", "Dålig accuracy under tak", "Felaktiga koordinater", "Tidsstämpel stämmer inte"],
"solutions": ["Kontrollera att platstjänster är på", "Flytta utomhus om accuracy är dålig", "Starta om appen om koordinaterna verkar fel", "Kolla att telefonens klocka är korrekt"],
"quiz": {
"question": "Vad gör du om GPS-accuracy är dålig?",
"options": ["Fotograferar ändå", "Flyttar utomhus med fri sikt", "Stänger av och startar om telefonen"],
"correct": 1
}
}
}
]
},
{
"id": "module4",
"title": "Säkerhet och etik",
"description": "Säker fotografering och etiska riktlinjer",
"duration": "37 min",
"level": "Medel",
"lessons": [
{
"id": "m4l1",
"title": "Personlig säkerhet i fält",
"duration": "15 min",
"type": "Video",
"content": {
"intro": "Din säkerhet är viktigast. Följ alltid dessa riktlinjer när du fotograferar.",
"safety_rules": ["Bär alltid reflexväst vid vägar", "Stå på säkert avstånd från trafik", "Fotografera aldrig när du kör", "Var uppmärksam på din omgivning"],
"warning": "quiXzoom ansvarar inte för olyckor som sker under fotografering. Du fotograferar på egen risk.",
"quiz": {
"question": "Vad ska du ALLTID bära vid vägar?",
"options": ["Solglasögon", "Reflexväst", "Hörselskydd"],
"correct": 1
}
}
},
{
"id": "m4l2",
"title": "Integritet och GDPR",
"duration": "12 min",
"type": "Läsa",
"content": {
"intro": "Du måste respektera andras integritet när du fotograferar.",
"rules": ["Fotografera INTE personer utan tillstånd", "Undvik att få med registreringsskyltar", "Radera bilder med oavsiktliga personer", "Rapportera om du fotograferar på privat område"],
"tips": ["Välj vinklar som undviker personer", "Fotografera tidigt på morgonen när färre är ute", "Använd blur om någon råkar komma med på bilden"],
"quiz": {
"question": "Får du fotografera personer utan tillstånd?",
"options": ["Ja, alltid", "Nej, aldrig", "Bara om de är i bakgrunden"],
"correct": 1
}
}
},
{
"id": "m4l3",
"title": "Trafiksäkerhet",
"duration": "10 min",
"type": "Quiz",
"content": {
"intro": "Trafiksäkerhet är avgörande när du fotograferar infrastruktur.",
"rules": ["Ställ aldrig bilen farligt", "Använd varseltriangel om nödvändigt", "Fotografera aldrig när du kör", "Respektera trafikregler"],
"warning": "Polisen kan bötfälla dig för trafikbrott även om du fotograferar för quiXzoom.",
"quiz": {
"question": "Får du fotografera medan du kör?",
"options": ["Ja, om jag kör långsamt", "Nej, aldrig", "Bara på landsväg"],
"correct": 1
}
}
}
]
},
{
"id": "module5",
"title": "Avancerade tekniker",
"description": "Maximera kvalitet och effektivitet",
"duration": "37 min",
"level": "Avancerad",
"lessons": [
{
"id": "m5l1",
"title": "Batch-fotografering",
"duration": "15 min",
"type": "Praktiskt",
"content": {
"intro": "Batch-fotografering innebär att du gör flera uppdrag i samma område för att spara tid och resor.",
"steps": ["Planera din rutt i förväg", "Acceptera flera uppdrag i samma område", "Fotografera i logisk ordning", "Ladda upp alla bilder samtidigt"],
"tips": ["Använd bil eller cykel för effektiv transport", "Börja med det uppdrag som har tidigast deadline", "Ta med powerbank om du ska fotografera länge"],
"quiz": {
"question": "Vad är fördelen med batch-fotografering?",
"options": ["Bättre bildkvalitet", "Sparar tid och resor", "Fler uppdrag att välja på"],
"correct": 1
}
}
},
{
"id": "m5l2",
"title": "Metadata och EXIF",
"duration": "10 min",
"type": "Läsa",
"content": {
"intro": "EXIF-metadata är dold information i varje bild som quiXzoom använder för verifiering.",
"metadata_types": ["GPS-koordinater", "Datum och tid", "Kameramodell", "Bländare, slutartid, ISO"],
"tips": ["Stäng aldrig av geotagging", "Kolla att klockan är rätt inställd", "Använd alltid samma telefon för konsistens"],
"quiz": {
"question": "Vad innehåller EXIF-metadata?",
"options": ["Bara bildens storlek", "GPS, datum, kamerainfo", "Din personliga information"],
"correct": 1
}
}
},
{
"id": "m5l3",
"title": "Redigering och förbättring",
"duration": "12 min",
"type": "Video",
"content": {
"intro": "quiXzoom tillåter viss redigering för att förbättra bildkvaliteten.",
"allowed_edits": ["Justera ljus och kontrast", "Beskära bilden", "Rotera för korrekt orientering", "Ta bort dammfläckar"],
"forbidden_edits": ["Lägga till eller ta bort objekt", "Förändra färger kraftigt", "Använda filter som förvränger verkligheten", "Redigera GPS-metadata"],
"warning": "Kraftig redigering kan leda till avvisade bilder. Håll det naturligt.",
"quiz": {
"question": "Vilken redigering är tillåten?",
"options": ["Lägga till objekt i bilden", "Justera ljus och kontrast", "Förändra GPS-koordinater"],
"correct": 1
}
}
}
]
},
{
"id": "module6",
"title": "Maximera inkomsten",
"description": "Strategier för att tjäna mer som Zoomer",
"duration": "45 min",
"level": "Avancerad",
"lessons": [
{
"id": "m6l1",
"title": "Förstå utbetalningar och nivåer",
"duration": "10 min",
"type": "Läsa",
"content": {
"intro": "quiXzoom har ett nivåsystem där du tjänar mer ju fler uppdrag du genomför.",
"levels": ["Nybörjare: 100-200 kr/uppdrag", "Erfaren: 200-400 kr/uppdrag", "Expert: 400-800 kr/uppdrag"],
"payment_schedule": ["Utbetalningar sker varje måndag", "Minst 500 kr för utbetalning", "Direkt till ditt bankkonto"],
"quiz": {
"question": "Hur ofta sker utbetalningar?",
"options": ["Varje dag", "Varje måndag", "Varje månad"],
"correct": 1
}
}
},
{
"id": "m6l2",
"title": "Planera din rutt effektivt",
"duration": "12 min",
"type": "Interaktiv karta",
"content": {
"intro": "Effektiv ruttplanering kan dubbla din inkomst per timme.",
"strategies": ["Gruppera uppdrag efter område", "Undvik backtracking", "Planera runt rusningstrafik", "Använd navigation för optimal rutt"],
"tips": ["Börja med det längsta uppdraget", "Sluta med uppdrag nära hemmet", "Ta med mat och vatten för långa dagar"],
"quiz": {
"question": "Vilket är det bästa sättet att planera en rutt?",
"options": ["Åka fram och tillbaka", "Gruppera uppdrag efter område", "Ta uppdrag slumpmässigt"],
"correct": 1
}
}
},
{
"id": "m6l3",
"title": "Bygg ditt rykte och få fler uppdrag",
"duration": "8 min",
"type": "Läsa",
"content": {
"intro": "Ett gott rykte ger dig tillgång till bättre uppdrag och högre betalning.",
"reputation_factors": ["Hög godkännandegrad", "Snabb leverans", "Korrekt metadata", "Bra kommunikation"],
"tips": ["Svara alltid på meddelanden från quiXzoom", "Rapportera problem direkt", "Håll hög kvalitet på alla bilder"],
"quiz": {
"question": "Vad påverkar ditt rykte mest?",
"options": ["Antal uppdrag", "Godkännandegrad och kvalitet", "Hur snabbt du accepterar"],
"correct": 1
}
}
},
{
"id": "m6l4",
"title": "Skatteoptimering för Zoomers",
"duration": "15 min",
"type": "Video",
"content": {
"intro": "Som Zoomer är du egenföretagare och kan dra av vissa kostnader.",
"deductions": ["Resor till och från uppdrag", "Telefon och abonnemang", "Reflexväst och säkerhetsutrustning", "Powerbank och laddare"],
"tips": ["Spara alla kvitton", "För körjournal om du använder bil", "Använd quiXzooms sammanställning vid deklaration", "Konsultera revisor om du tjänar mycket"],
"warning": "quiXzoom rapporterar din inkomst till Skatteverket. Du ansvarar själv för korrekt deklaration.",
"quiz": {
"question": "Vad kan du dra av som Zoomer?",
"options": ["Inget", "Resor och arbetsutrustning", "Bara telefonen"],
"correct": 1
}
}
}
]
}
]
}