No description
Find a file
Midas van Oene c5ea75c6d0
All checks were successful
Build and Publish / build (push) Successful in 1m4s
fix(blindpass): center target and start mist fade before ball stops
Spawn and drift ranges pulled toward the middle of the field so the
teammate run stays central. The mist fade-in now kicks off ~450ms
before the drift ends, so the ball gets swallowed by fog mid-run
instead of freezing first.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 18:39:55 +02:00
.forgejo/workflows chore(deps): update dependency node to v24 2026-04-10 11:18:40 +02:00
.vscode feat: implement i18n using inlang paraglide-js, extracting strings from data and components into en/nl message files. 2026-03-16 12:57:49 +01:00
data feat: Revise formation data by updating player defaults, adjusting 3-5-2 structure, removing 4-3-3, adding 5-3-2, and including a new analysis PDF document. 2026-03-14 12:49:26 +01:00
messages i18n: Update Japanese localization messages. 2026-03-20 13:48:40 +01:00
project.inlang feat: Add Japanese language support with updated locale settings and toggle functionality. 2026-03-20 13:44:43 +01:00
scripts feat: Enhance analysis script to run simulations across multiple sizes and refine minigame data handling for findBestMatch. 2026-03-16 13:38:42 +01:00
src fix(blindpass): center target and start mist fade before ball stops 2026-04-15 18:39:55 +02:00
static feat: Add PWA manifest, Apple Touch Icon, Open Graph, Twitter Card, and JSON-LD structured data. 2026-03-16 13:33:15 +01:00
.gitignore gitignore 2026-03-10 23:00:35 +01:00
add_new_strings.cjs feat: Add new UI strings for TacticsBoard, Result, and minigames, and integrate them into respective components. 2026-03-16 13:12:34 +01:00
CLAUDE.md feat: implement i18n using inlang paraglide-js, extracting strings from data and components into en/nl message files. 2026-03-16 12:57:49 +01:00
docker-compose.yml Add README and docker-compose example 2026-03-10 22:23:19 +01:00
Dockerfile feat: Configure Nginx to serve the application using a custom configuration file and integrate it into the Docker build. 2026-03-12 21:55:02 +01:00
GEMINI.md refactor: perform code review fixes for reliability and performance 2026-03-29 22:59:39 +02:00
nginx.conf config: Add 'unsafe-inline' to the Content-Security-Policy script-src directive in Nginx. 2026-03-14 11:46:31 +01:00
package-lock.json chore(deps): update dependency vite to v7.3.2 2026-04-10 11:20:10 +02:00
package.json feat: implement i18n using inlang paraglide-js, extracting strings from data and components into en/nl message files. 2026-03-16 12:57:49 +01:00
README.md feat: implement i18n using inlang paraglide-js, extracting strings from data and components into en/nl message files. 2026-03-16 12:57:49 +01:00
renovate.json Add renovate.json 2026-04-03 20:41:29 +00:00
simulate.ts spelers eiogen plaatjes 2026-03-12 14:43:54 +01:00
svelte.config.js initial commit 2026-03-10 21:46:40 +01:00
tsconfig.json initial commit 2026-03-10 21:46:40 +01:00
vite.config.ts feat: implement i18n using inlang paraglide-js, extracting strings from data and components into en/nl message files. 2026-03-16 12:57:49 +01:00

BigFiveNEC

Een interactieve persoonlijkheidsquiz (Nederlands) die gebruikers koppelt aan NEC Nijmegen-spelers op basis van het Big Five persoonlijkheidsmodel.

Over het project

De quiz stelt 5 vragen (één per categorie: lifestyle, sociaal, cultuur, emotie, identiteit), waarin 3 willekeurige mini-games zijn verweven. Het resulterende Big Five profiel wordt vergeleken met de NEC-selectie via een geavanceerd scoringsalgoritme.

Scoringsformule

De match wordt berekend op basis van:

  1. Cosine Similarity (75%): Vergelijkt jouw Big Five profiel met dat van de spelers. We gebruiken een weging die uitschieters (extreme scores) zwaarder laat meetellen en passen een cubische macht toe om de beste matches extra te belonen.
  2. Trigger Overlap (25%): Kijkt naar specifieke trefwoorden die uit je antwoorden naar voren komen.

Features

  • Interactieve Quiz: Een combinatie van psychologische vragen en actieve games.
  • Tactiekbord: Bekijk de hele selectie, stel je eigen ideale 11 samen via drag-and-drop en bekijk spelerdetails.
  • Dynamic Scoring: Je keuzes in minigames beïnvloeden direct je persoonlijkheidsprofiel.

Mini-games & Big Five integratie

Tijdens de quiz speel je drie willekeurige minigames. De resultaten hiervan veranderen je Big Five profiel rechtstreeks:

  • Sprinttest (StaminaTap) — Zo snel mogelijk tikken. Verhoogt Consciëntieusheid en Extraversie.
  • Schiettraining (PrecisionShot) — Klik op de bewegende doelen. Verhoogt Consciëntieusheid.
  • Reflextest — Klik de bal zodra hij verschijnt. Verhoogt Openheid en verlaagt Neuroticisme.
  • Moreel Dilemma (CardSwipe) — Maak tactische of eerlijke keuzes. Beïnvloedt Agreeableness en Consciëntieusheid.
  • De Blinde Pass (BlindPass) — Onthoud posities en pass in de mist. Verhoogt Consciëntieusheid en Openheid.

Via de /settings pagina kunnen minigames naar wens in- of uitgeschakeld worden.

Ontwikkeling

npm install
npm run dev       # Dev server op poort 5173
npm run build     # Bouw naar build/
npm run preview   # Preview van de productie-build
npm run check     # TypeScript/Svelte type checking

Docker

Image

De productie-image is beschikbaar op:

git.midasvo.nl/midas/bigfivenec:latest

De app wordt geserveerd via nginx op poort 80.

docker-compose

Zie docker-compose.yml in de root van dit project, of gebruik onderstaand voorbeeld:

services:
  bigfivenec:
    image: git.midasvo.nl/midas/bigfivenec:latest
    ports:
      - "8080:80"
    restart: unless-stopped

Technische stack

  • SvelteKit met Svelte 5 runes ($state, $derived, $props)
  • Paraglide-JS voor in-code type-safe i18n (NL/EN). Tip: Gebruik de "Sherlock" VS Code extensie (inlang.vs-code-extension) om de tekst achter vertaalsleutels zoals m.ui_welcome_title() direct leesbaar in de editor te zien.
  • Static adapter — gedeployed als SPA met fallback: 'index.html'
  • nginx:alpine als productie-webserver
  • Gebouwd en gepubliceerd via Forgejo Actions CI/CD

Kleurenpalet

Token Kleur
--nec-red #E2001A
--nec-green #00843D
--nec-black #1A1A1A
--nec-gold #C5A200