Faites parler l'API Twitch grâce aux network graphs (Node.js, React, Mongodb, Vis.js)

Cas pratique d'utilisation des network graphs

English version : Make the Twitch API speak with network graphs (Node.js, React, Mongodb, Vis.js)

L'API Twitch permet de développer des applications utilisant certaines des données mises à disposition par la plateforme de streaming. Je vous propose d'utiliser cette puissante API pour voir les liens entre les communautés des streamers.

Une démo du projet final est accessible sur splitviewer.com. Les sources sont accessibles sur mon repository github.

Le principe est le suivant :

  • un streamer se connecte, l'application est prévenue grâce à l'API twitch.
  • à intervalles réguliers, les viewers du streamer sont enregistrés
  • lorsque le streamer se déconnecte, l'opération s'arrête
  • chaque jour, l'application calcule pour chaque streamer les pourcentages de viewers en commun avec les autres streamers.

Exemple :

  • On enregistre 4 viewers pour Streamer1 : john, jessie, darkninja, bigdog
  • On enregistre 6 viewers pour Streamer2 : obiwan123, darkninja, kiwiki, john, lesly, littleloser
  • Streamer1 a donc 2 viewers en commun avec Streamer2, soit 2 / 4 * 100 = 50% de sa communauté regarde également Streamer2.
  • Streamer2 a donc 2 viewers en commun avec Streamer1, soit 2 / 6 * 100 = 33% de sa communauté regarde également Streamer1.

On répète ce calcul sur l'ensemble des streamers. Les résultats peuvent être visualisés sous forme de network graphs. J'ai utilisé la librairie vis.js

Voici ce que l'on peut obtenir grâce à l'utilisation des network graphs :

graph example