2 Initieel idee
Midas van Oene edited this page 2025-04-28 13:55:05 +02:00

NEC Insight Hub

MVP Plan: Een datadrivendve fansite voor NEC-supporters

Projectoverzicht

NEC Insight Hub wordt een unieke fansite die verschillende databronnen over NEC Nijmegen verzamelt, analyseert, en op een aantrekkelijke manier presenteert aan supporters. De site zal geautomatiseerde en AI-gegenereerde content bevatten, met focus op nieuws, statistieken, en inzichten die niet direct beschikbaar zijn via officiële kanalen.

Architectuur

Backend (Spring Boot)

  1. Data Collectie Module

    • Web scrapers voor officiële NEC-site, voetbalnieuws websites, en sociale media
    • API-integraties waar mogelijk (Eredivisie API, voetbal statistiek APIs)
    • Periodieke taken (met Spring Scheduler) voor data-updates
  2. Database

    • PostgreSQL voor gestructureerde data
    • Entiteiten: Spelers, Wedstrijden, Statistieken, Nieuws, Seizoenen, Transfers
  3. Content Generation API

    • REST endpoints voor AI-schrijvers om data te consumeren
    • Service laag voor data-aggregatie en -transformatie

Frontend

  1. Moderne, responsieve webapp
    • React of Angular frontend
    • Modulaire componenten voor verschillende secties

MVP Features

  1. Data Verzameling (Sprint 1-2)

    • Basis scrapers voor NEC officiële website
    • Eredivisie API-integratie
    • Data model en opslag
  2. Kernsecties (Sprint 2-3)

    • Team informatie (huidige selectie)
    • Wedstrijdschema en resultaten
    • Stand en statistieken
  3. AI Content Generator (Sprint 3-4)

    • Integratie met een AI-model (OpenAI API)
    • Template voor "Kort Nieuws" generatie
    • Wekelijks wedstrijdverslag generator
  4. Frontend Presentatie (Sprint 4-5)

    • Basislayout en design
    • Interactieve componenten voor statistieken

Technische Stack

  1. Backend

    • Java 17
    • Spring Boot 3.x
    • Spring Data JPA
    • Spring Scheduler voor periodieke taken
    • JSoup voor web scraping
    • REST clients voor API integraties
  2. Database

    • PostgreSQL
    • Liquibase/Flyway voor database migraties
  3. Frontend

    • React/Angular
    • Chart.js of D3.js voor visualisaties
  4. Infrastructuur

    • Docker containers
    • CI/CD via Forgejo Actions

Ontwikkelstrategie

  1. Iteratief Ontwikkelproces

    • Werk in kleine, gefocuste sprints (2 weken)
    • Begin met basis data verzameling en structuur
    • Voeg incrementeel functionaliteit toe
  2. ADHD-vriendelijke Aanpak

    • Gebruik Kanban board in Forgejo voor taakmanagement
    • Splits taken in kleine, concrete acties
    • Stel tijdslimieten in voor exploratie van randzaken
  3. AI-assistentie

    • Gebruik Aider voor codering en planning
    • Sla documentatie op in Markdown voor eenvoudige AI-referentie
    • Documenteer beslissingen en afhankelijkheden duidelijk

Eerste Stappen

  1. Project setup in IntelliJ met Spring Boot
  2. Basis repository structuur opzetten in Forgejo
  3. Ontwikkel proof-of-concept scraper voor NEC website
  4. Ontwerp initieel datamodel voor kern entiteiten
  5. Implementeer basis REST controller voor data toegang

Aandachtspunten

  1. Juridische overwegingen

    • Check de voorwaarden van te scrapen websites
    • Gebruik disclaimers en attributies waar nodig
  2. Performance

    • Efficiente caching strategieën
    • Batch processing voor data verzameling
  3. AI Content Kwaliteit

    • Regelmatig reviewen van AI-gegenereerde content
    • Templating en prompt engineering verfijnen

Deze MVP is ontworpen om snel waarde te leveren, terwijl het een solide basis legt voor toekomstige uitbreidingen. De focus ligt op het verzamelen van interessante data en deze op een toegankelijke manier presenteren, met AI als hulpmiddel om unieke content te genereren.


Tips voor verbetering:

  • Overweeg het toevoegen van een caching-laag zoals Redis om herhaalde scraping te minimaliseren en API-limieten te respecteren
  • Denk na over een strategie voor het omgaan met tegenstrijdige databronnen, zoals een betrouwbaarheidsscoresysteem

Leuk weetje:

Spring Boot's DevTools module heeft een "automatic restart" functie die je applicatie automatisch herstart wanneer er wijzigingen worden gedetecteerd in het classpath - een geweldige functie die je ontwikkelcyclus kan versnellen, vooral handig voor iemand met ADHD die snel wil zien wat de impact is van code-wijzigingen!