Een progressive web app om snel de drie volgende treinen van je favoriete station te zien https://tjoeke.nl
Find a file
dosch 7d42c6c42b Release: Version 1.8.1 - High contrast theme and Material Design icons
- High contrast theme for e-ink screens (pure black/white)
- Material Design icons replace custom SVG designs
- Theme toggle cycles through three themes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 19:42:47 +01:00
.claude new icons 2025-10-30 20:59:05 +01:00
deployment New icons 2025-10-30 20:59:51 +01:00
docs updated the read me with change log 2025-09-03 11:59:11 +02:00
img new icons 2025-10-30 20:59:05 +01:00
src Merge branch 'develop' 2025-10-31 19:40:46 +01:00
.eslintrc.json Major upgrade. See changelog for details 2025-09-30 12:16:18 +02:00
.gitignore new icons 2025-10-30 20:59:05 +01:00
.prettierignore Major upgrade. See changelog for details 2025-09-30 12:16:18 +02:00
.prettierrc.json Major upgrade. See changelog for details 2025-09-30 12:16:18 +02:00
changelog.md Release: Version 1.8.1 - High contrast theme and Material Design icons 2025-10-31 19:42:47 +01:00
CLAUDE.md new icons 2025-10-30 20:59:05 +01:00
DEPLOYMENT.md Docs: Update deployment script examples with fixed backup command 2025-10-30 15:53:30 +01:00
DEVELOPMENT.md new icons 2025-10-30 20:59:05 +01:00
LICENSE 🚂 Initial commit: Tjoeke Dutch train departure app 2025-09-03 11:44:34 +02:00
package-lock.json Major upgrade. See changelog for details 2025-09-30 12:16:18 +02:00
package.json Release: Version 1.8.1 - High contrast theme and Material Design icons 2025-10-31 19:42:47 +01:00
PWA.md new icons 2025-10-30 20:59:05 +01:00
README.md new icons 2025-10-30 20:59:05 +01:00
roadmap.md new icons 2025-10-30 20:59:05 +01:00
UI-REDESIGN.md new icons 2025-10-30 20:59:05 +01:00

Tjoeke - Nederlandse Treinvertrekken

Een Nederlandse trein app die de volgende 3 vertrekken toont voor jouw route in beide richtingen. Ontwikkeld als hobby project om te leren werken met de NS API.

Functies

Basis Functionaliteit

  • 3 Volgende Treinen: Toont komende vertrekken in beide richtingen
  • Live Vertrekgegevens: Real-time informatie van de NS API
  • Reistijd Indicator: Laat zien hoeveel minuten je nog hebt tot vertrek
  • Platform Informatie: Actuele spooraanduiding per trein
  • Intercity Filter: Optie om alleen Intercity's te tonen (geen Sprinters)
  • Dark Mode: Automatische detectie van systeem voorkeur met handmatige toggle

Station Ondersteuning

  • Alle NS Stations: Ondersteuning voor 400+ Nederlandse treinstations
  • Autocomplete Zoeken: Vind snel je station door te typen
  • Route Opslag: Gekozen route wordt onthouden voor volgende bezoeken
  • Directe Links: URLs zoals /htnc-hgz werken voor bookmarks en delen

Trein Informatie

  • Klikbare Treinkaarten: Klik op elke trein voor uitgebreide details
  • Detailweergave: Popup toont treintype, overstappen, reistijd en drukte
  • Drukte Voorspelling: Zie of de trein rustig, gemiddeld of druk is (🟢🟡🔴)
  • Vertraging Indicatie: Duidelijke weergave van vertragingen in minuten
  • Annulering Status: Geannuleerde treinen worden apart gemarkeerd
  • Aankomsttijden: Verwachte aankomst op eindbestemming

Gebruiksvriendelijkheid

  • Mobiel Geoptimaliseerd: Werkt goed op telefoons en tablets
  • PWA Ondersteuning: Installeerbaar als app op je homescreen
  • Storing Detectie: Rood headerkleur bij meerdere problemen
  • Geen Account Vereist: Direct gebruiken zonder registratie
  • Persistente Instellingen: Filter en thema keuze bewaard in browser

Technische Details

Prestaties

  • Server Caching: API responses gecached voor snellere laadtijden
  • Beperkte Updates: Ververst alleen wanneer pagina zichtbaar is
  • Compressie: Geoptimaliseerde bestandsgroottes voor sneller laden
  • Bandbreedte Reductie: 85-95% minder dataverbruik dan v0.9

Architectuur

  • Vanilla JavaScript: Geen externe frameworks, zeer licht
  • Single Page App: Eén bestand voor alle functionaliteit
  • NS API Integratie: Officiële Nederlandse Spoorwegen data
  • Local Storage: Routes lokaal opgeslagen in browser

Voor installatie op eigener server:

Vereisten

  • Webserver met PHP ondersteuning
  • NS API sleutel (gratis verkrijgbaar)
  • mod_rewrite en mod_expires modules (voor optimale prestaties)

Setup

  1. Upload bestanden naar webserver
  2. Maak cache map aan met schrijfrechten: mkdir cache && chmod 755 cache
  3. Voeg NS API sleutel toe in ns-proxy.php
  4. Maak stations.js bestand aan met station data
  5. Upload .htaccess voor URL routing ondersteuning

Benodigde Bestanden

  • index.html - Hoofd applicatie
  • ns-proxy.php - NS API proxy met caching
  • stations.js - Nederlandse station database
  • .htaccess - URL routing en caching regels
  • cache/ - Map voor API response caching

NS API

Deze app gebruikt de officiële NS Reisinformatie API voor:

  • Treinvertrekgegevens per station
  • Reisplannen tussen twee stations
  • Real-time vertraging en annulering informatie

Een gratis API sleutel is verkrijgbaar op de NS API portal.

Browser Ondersteuning

  • Modern Browsers: Chrome 70+, Firefox 65+, Safari 12+, Edge 79+
  • Mobiele Browsers: iOS Safari, Chrome Mobile, Samsung Internet
  • Progressive Web App: Installeerbaar op Android en iOS
  • Offline Functionaliteit: Basis interface werkt zonder internet

Privacybeleid

  • Geen Data Opslag: IP adres alleen zichtbaar voor webserver, niet opgeslagen
  • Lokale Opslag: Routes bewaard in browser localStorage
  • Geen Tracking: Geen analytics of gebruikersvolging
  • NS API: Verzoeken via proxy server, geen directe verbinding

Bijdragen

Dit is een hobby project voor persoonlijk gebruik. Feedback en suggesties zijn welkom via het contactformulier op de website.

Licentie

Open source - bekijk de broncode op de Git repository (link in app footer).


Let op: Deze app is niet officieel verbonden met Nederlandse Spoorwegen. Voor officiële reisinformatie gebruik de NS app.