TK3 - kokjp1/TechTrack GitHub Wiki

Sessie liedjes bijhouden; Track Snapshots of alleen het ID

Waarom ik volledige track-snapshots opsla (en niet alleen een ID)

Tijdens de sessie sla ik niet alleen het trackId op, maar het hele trackobject zoals het op dat moment door Spotify wordt teruggegeven (titel, artiesten, album, duration, popularity, image, etc.). Functioneel en technisch is dit simpelweg de betere keuze.

1. Geen extra API-calls nodig in de recap

Als je alleen IDs opslaat, moet je voor de recap álle tracks opnieuw ophalen bij Spotify. Dat is:

  • trager
  • errorgevoeliger
  • gevoelig voor rate-limits
  • afhankelijk van een geldige auth bearer token

Met snapshots kan de recap volledig lokaal worden gerenderd.

2. Je bevriest de sessierealiteit

Spotify-data is niet statisch. Dingen veranderen constant:

  • populariteit
  • albuminformatie
  • liedje kan van spotify af gehaald worden
  • artiestennaam
  • afbeelding

Door een snapshot op het moment van luisteren op te slaan, blijft de sessie correct en historisch juist.

3. Werkt ook bij expired tokens

Als tijdens de recap de token is verlopen, kan je met alleen IDs niks meer ophalen. Met snapshots blijft alle data direct beschikbaar, zonder afhankelijkheid van Spotify.