Skip to content

🍐 Peer Review

Davey edited this page Nov 4, 2021 · 3 revisions

We hebben een peer review gedaan met ons support groepje, hier kwam het volgende uit

Issue 1

Issue-1

Ik kreeg als feedback dat me readme onduidelijk was, dat klopt helemaal omdat ik dit als een soort kladblok heb gebruikt. Echter heb ik nu de readme aangepast naar een installatie guide en me wiki uitgeschreven naar wat ik heb gedaan.

Issue 2

Issue-2

Dit was een bug in de installatie en gaf een statuscode 403, de server begreep de request maar de authorization was niet goed. Ik heb vervolgens geprobeerd om dit te fixen door me authorisatie flow anders te schrijven. Ik weet niet of het nu wel werkt, het kon ook liggen aan de npm versie van Melvin.

Issue 3

Issue-3

Ik kreeg als feedback om mijn code naast de rubric te houden, aangezien ik React gebruik werd veel opgevangen door React. Ik heb vervolgens functies omgeschreven om toch meer de methodes toe te passen die we in de les hebben geleerd.

Ik had eerst een functie die wel werkte maar niet perse wacht op data voordat hij verder gaat. Dit ging prima maar was niet helemaal de juiste manier. Onder het eerste stukje code staat de verbeterde code. In deze code heb ik wel gebruik gemaakt van chaining zodat de functies op elkaar wachten.

const getData = async () => {
    if (count === 0) setLoading(true);
    try {
      const player = await spotifyProvider.getCurrentPlayingTrack(hash.access_token);
      state.player = player;

      if (state.player) {
        const artist = await spotifyProvider.getArtistData(
          hash.access_token,
          state.player.item.artists[0].id
        );

        const clean = cleanDataFunctions.integerSeperator(artist);
        const percentage = cleanDataFunctions.getPopularityPercentage(clean);

        state.artist = percentage;
      }

      setState(state);
      if (!loading) setLoading(false);
    } catch (err) {
      setLoading(false);
      console.log(err);
    }
  };
 const getData = async () => {
    if (count === 0) setLoading(true);
    try {
      await spotifyProvider
        .getCurrentPlayingTrack(hash.access_token)
        .then((player) => {
          state.player = player;
          console.log(player);
          return player;
        })
        .then((res) => {
          const artist = spotifyProvider.getArtistData(hash.access_token, res.item.artists[0].id);
          return artist;
        })
        .then((data) => {
          let clean = cleanDataFunctions.integerSeperator(data);
          return clean;
        })
        .then((res) => {
          let percentage = cleanDataFunctions.getPopularityPercentage(res);
          return percentage;
        })
        .then((percentage) => {
          let popularity = cleanDataFunctions.getPopularityEmotion(percentage);
          state.artist = popularity;
          return popularity;
        });

      if (state.artist) {
        const relatedArtists = await spotifyProvider.getRelatedArtists(
          hash.access_token,
          state.player.item.artists[0].id
        );
        state.relatedArtists = relatedArtists;
      }

      setState(state);
      if (!loading) setLoading(false);
    } catch (err) {
      setError(err.message)
      setLoading(false);
    }
  };