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)
-
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
-
Database
- PostgreSQL voor gestructureerde data
- Entiteiten: Spelers, Wedstrijden, Statistieken, Nieuws, Seizoenen, Transfers
-
Content Generation API
- REST endpoints voor AI-schrijvers om data te consumeren
- Service laag voor data-aggregatie en -transformatie
Frontend
- Moderne, responsieve webapp
- React of Angular frontend
- Modulaire componenten voor verschillende secties
MVP Features
-
Data Verzameling (Sprint 1-2)
- Basis scrapers voor NEC officiële website
- Eredivisie API-integratie
- Data model en opslag
-
Kernsecties (Sprint 2-3)
- Team informatie (huidige selectie)
- Wedstrijdschema en resultaten
- Stand en statistieken
-
AI Content Generator (Sprint 3-4)
- Integratie met een AI-model (OpenAI API)
- Template voor "Kort Nieuws" generatie
- Wekelijks wedstrijdverslag generator
-
Frontend Presentatie (Sprint 4-5)
- Basislayout en design
- Interactieve componenten voor statistieken
Technische Stack
-
Backend
- Java 17
- Spring Boot 3.x
- Spring Data JPA
- Spring Scheduler voor periodieke taken
- JSoup voor web scraping
- REST clients voor API integraties
-
Database
- PostgreSQL
- Liquibase/Flyway voor database migraties
-
Frontend
- React/Angular
- Chart.js of D3.js voor visualisaties
-
Infrastructuur
- Docker containers
- CI/CD via Forgejo Actions
Ontwikkelstrategie
-
Iteratief Ontwikkelproces
- Werk in kleine, gefocuste sprints (2 weken)
- Begin met basis data verzameling en structuur
- Voeg incrementeel functionaliteit toe
-
ADHD-vriendelijke Aanpak
- Gebruik Kanban board in Forgejo voor taakmanagement
- Splits taken in kleine, concrete acties
- Stel tijdslimieten in voor exploratie van randzaken
-
AI-assistentie
- Gebruik Aider voor codering en planning
- Sla documentatie op in Markdown voor eenvoudige AI-referentie
- Documenteer beslissingen en afhankelijkheden duidelijk
Eerste Stappen
- Project setup in IntelliJ met Spring Boot
- Basis repository structuur opzetten in Forgejo
- Ontwikkel proof-of-concept scraper voor NEC website
- Ontwerp initieel datamodel voor kern entiteiten
- Implementeer basis REST controller voor data toegang
Aandachtspunten
-
Juridische overwegingen
- Check de voorwaarden van te scrapen websites
- Gebruik disclaimers en attributies waar nodig
-
Performance
- Efficiente caching strategieën
- Batch processing voor data verzameling
-
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!