1
Block B project
This repository has been archived on 2021-11-25. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-01-18 18:38:46 +01:00
not_used 2 scripts toegevoegd die worden niet gebruikt 2021-01-11 14:52:35 +01:00
static kleur kiezer toevoegen aan assets 2021-01-18 13:25:41 +01:00
templates pushbutton functie werkt 2021-01-18 18:38:14 +01:00
.gitignore base commit 2020-11-24 13:55:36 +01:00
graphs.py graphs.py aangemaakt om grafieken te plotten met matplotlib 2021-01-11 16:23:23 +01:00
hardware.py functies aangepast zodat het in een web omgeving kan draaien 2021-01-18 14:15:17 +01:00
poc.py cleanup 2021-01-11 16:23:00 +01:00
README.md apa102 library toegevoegd 2021-01-18 13:47:28 +01:00
run.py pushbutton api geimplementeerd en een rpi check toegevoegd voor de html pagina 2021-01-18 18:38:46 +01:00
ss.py commentaar toegevoegd 2021-01-18 12:08:04 +01:00
stats.py functie om de populairste genre op tevragen toegevoegd 2021-01-16 18:51:33 +01:00
steam_api.py commentaar toegevoegd 2021-01-18 12:04:55 +01:00
steam_small.json steam_small.json aangemaakt met de eerste 5 entries, dit is om te testen. 2021-01-02 13:21:04 +01:00
steam.json base commit 2020-11-24 13:55:36 +01:00

Project_Steam_Tracker

Het doel van dit project is om een concept te ontwikkelen waarbij je een grafishe weergrave wat inzicht geeft op de game activiteiten van je vrienden op Steam. Een raspberypi wordt ook gebruikt om hardwarematig lapjes en sensoren aan te sturen.

Casus

Steam wil haar klanten beter bedienen door meer grafische weergaves te maken van gaming gedrag naar verschillende klantsegmenten. Hiervoor heeft ze een consultancybedrijf ingehuurd. De hoofdopdracht luidt: maak een grafische weergave die inzicht geeft in het gaming gedrag van jouw vrienden op het platform Steam, ondersteund door een netwerk waarbij gebruik gemaakt wordt van een RaspberryPi.

Voorbeeldvragen die Steam beantwoord wil zien voor haar klanten:

Welke games spelen mijn vrienden?
Welke spellen worden het meest gespeeld?
Wanneer zijn jouw vrienden online?
Wanneer heb je gepland om te gaan spelen?
Welke aanbevelingen kunnen er gemaakt worden om te spelen?

Uitvoeren applicatie

Deze applicatie maakt gebruik van de volgende python libraries, zorg ervoor dat deze zijn geinstalleerd.

Om de dependencies te installeren voer het onderste commando uit.

pip install flask requests apa102-pi

De applicatie is simpel uit te voeren door de python script uit te voeren. En via de browser naar de gegeven url te gaan.

python run.py

Data formaat geheugen tabel

Om het sorteren makkelijker te maken gaan we de json in een tuple/list opslaan in het geheugen. Het formaat is een tabel achtige structuur. Als voorbeeld de eerste json entry in een tuple.

{
    "appid":10,
    "name":"Counter-Strike",
    "release_date":"2000-11-01",
    "english":1,
    "developer":"Valve",
    "publisher":"Valve",
    "platforms":"windows;mac;linux",
    "required_age":0,
    "categories":"Multi-player;Online Multi-Player;Local Multi-Player;Valve Anti-Cheat enabled",
    "genres":"Action",
    "steamspy_tags":"Action;FPS;Multiplayer",
    "achievements":0,
    "positive_ratings":124534,
    "negative_ratings":3339,
    "average_playtime":17612,
    "median_playtime":317,
    "owners":"10000000-20000000",
    "price":7.19
}

(10, "Counter-Strike", "2000-11-01", 1, "Valve", "windows;mac;linux", 0, 
"Multi-player;Online Multi-Player;Local Multi-Player;Valve Anti-Cheat enabled", "Action", "Action;FPS;Multiplayer", 
0, 124534, 3339, 17612, 317, "10000000-20000000", 7.19)

En om meerdere entries op te slaan maken we het genest zoals alsvolgd.

(
    (10, "Counter-Strike", "2000-11-01", 1, "Valve", "windows;mac;linux", 0, "Multi-player;Online Multi-Player;Local Multi-Player;Valve Anti-Cheat enabled", "Action", "Action;FPS;Multiplayer", 0, 124534, 3339, 17612, 317, "10000000-20000000", 7.19), 
    (20, "Team Fortress Classic", "1999-04-01", 1, "Valve", "Valve", "windows;mac;linux", 0, "Multi-player;Online Multi-Player;Local Multi-Player;Valve Anti-Cheat enabled", "Action", "Action;FPS;Multiplayer", 0, 3318, 633, 277, 62, "5000000-10000000", 3.99)
)

Uitleg functies

sorting.py

nest-qsort(tpl, colnum. reverse=False)

Deze recursieve functie kan de bovenstaande geneste tuple formaat sorteren. Als eerste argument geef je de geneste tuple , tweede argument is de kolom nummer vanaf 0 waarop je wilt sorteren. En de derde argument is een bool, als true dan sorteerd de functie van hoog naar laag.

qsort(tpl, reverse=False)

Deze recursieve functie is de standaard sorteer functie die wij gaan gebruiken. Als eerste argument neemt de functie een lijst of tuple met waardes, deze mogen ints of strings zijn. De tweede argument is een bool, als true dan sorteerd de functie van hoog naar laag.

stats.py

mediaan(lst)

Deze functie geeft de mediaan in de mee gegeven lijst.

freq(lst)

Deze functie geeft een dict terug met de frequentie van alle waardes in een lijst. Als voorbeeld met [1, 4, 6, 4] meegegeven wordt {1: 1, 4: 2, 6: 1} terug gegeven

gmld(lst)

Geeft de gemiddelde van een lijst terug in een float

steam_api.py

getappdata(appid)

Deze functie vraagt de gegeven appid op via de http steam api en retourneert het als json. Een voorbeeld van de json is te vinden in steam_api.py

graphs.py

De functie van dit bestand is om grafieken te maken van lijsten met waardes, deze grafieken worden als svg terug gegeven om door flask geserveerd te worden.

WIP verdere uitleg komt nog