[{"data":1,"prerenderedAt":148},["ShallowReactive",2],{"portfolio-sv-chicken-x-competition":3},{"id":4,"title":5,"body":6,"client":132,"date":133,"description":134,"extension":135,"featured":136,"meta":137,"navigation":136,"order":138,"path":139,"seo":140,"stem":141,"tags":142,"thumbnail":94,"__hash__":147},"portfolio_sv\u002Fportfolio\u002Fsv\u002Fchicken-x-competition.md","Chicken X and Friends — Tävlingsplattform för mässor",{"type":7,"value":8,"toc":123},"minimark",[9,14,18,22,69,73,84,88,95,101,105,111,117],[10,11,13],"h2",{"id":12},"översikt","Översikt",[15,16,17],"p",{},"Inför mässorna tog Million Games fram en tävlingsstation där besökare fick spela Chicken X and Friends i 15 minuter och jaga toppen av leaderboarden. Vi byggde hela tävlingssystemet — registreringsformulär, spelsessionshantering, live-leaderboard och adminpanel — som samlade in deltagarnas resultat och kontaktuppgifter för prisutdelning och vidare uppföljning.",[10,19,21],{"id":20},"vad-systemet-gör","Vad systemet gör",[23,24,25,33,39,45,51,57,63],"ul",{},[26,27,28,32],"li",{},[29,30,31],"strong",{},"Registrering"," — Namn, företag och e-post med inbyggd validering och GDPR-samtycke för marknadsföring",[26,34,35,38],{},[29,36,37],{},"Spelintegration"," — Skapar automatiskt spelsessioner via Million Games launcher-API",[26,40,41,44],{},[29,42,43],{},"Poänghämtning"," — Bakgrundspolling hämtar resultat direkt från spelets API",[26,46,47,50],{},[29,48,49],{},"Live-leaderboard"," — Realtidsrankning med paginering och automatisk uppdatering",[26,52,53,56],{},[29,54,55],{},"Dubblettskydd"," — Samma e-post omdirigerar till aktiv session istället för att skapa en ny",[26,58,59,62],{},[29,60,61],{},"Adminpanel"," — Lösenordsskyddad vy för att hantera, sortera, redigera och radera bidrag",[26,64,65,68],{},[29,66,67],{},"Självständigt bygge"," — En enda .NET-binär som serverar både API och frontend, enkel att driftsätta på en mässdator",[10,70,72],{"id":71},"tävlingsreglerna","Tävlingsreglerna",[23,74,75,78,81],{},[26,76,77],{},"15 minuter att tävla",[26,79,80],{},"De 10 sista rundorna räknas mot totalpoängen",[26,82,83],{},"Högsta poäng vinner!",[10,85,87],{"id":86},"plattformen","Plattformen",[15,89,90],{},[91,92],"img",{"alt":93,"src":94},"Registreringssida med Million Games-logga, titeln Chicken X and Friends och ett formulär med namn, företag, e-post och GDPR-samtycke — på en top-down-bakgrund från spelet","\u002Fimages\u002Fportfolio\u002Fchicken-x-competition-register.png",[15,96,97],{},[91,98],{"alt":99,"src":100},"Live-leaderboard med topplacerade spelare, företag och poäng ovanpå samma spelbakgrund som registreringssidan","\u002Fimages\u002Fportfolio\u002Fchicken-x-competition-leaderboard.png",[10,102,104],{"id":103},"tech-stack","Tech stack",[15,106,107,110],{},[29,108,109],{},"Frontend:"," Vue 3, TypeScript, Nuxt UI 4, Tailwind CSS 4, Vite, Valibot",[15,112,113,116],{},[29,114,115],{},"Backend:"," .NET 9, C#, Entity Framework Core, SQLite",[15,118,119,122],{},[29,120,121],{},"Deploy:"," Self-contained .NET-binär — ingen extern databas eller runtime krävs på mässdatorn",{"title":124,"searchDepth":125,"depth":125,"links":126},"",2,[127,128,129,130,131],{"id":12,"depth":125,"text":13},{"id":20,"depth":125,"text":21},{"id":71,"depth":125,"text":72},{"id":86,"depth":125,"text":87},{"id":103,"depth":125,"text":104},"Million Games AB","2025-11-01","Mässtävling för Million Games-spelet Chicken X and Friends — registrering, live-leaderboard och adminpanel i ett enda självständigt bygge.","md",true,{},5,"\u002Fportfolio\u002Fsv\u002Fchicken-x-competition",{"title":5,"description":134},"portfolio\u002Fsv\u002Fchicken-x-competition",[143,144,145,146],"vue","typescript",".net","igaming","iolUPDkqCh55t5zOCnqNtwfSy2ah3cNy_eEvxFmrH1k",1776248144558]