1
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.
Project_Steam_Tracker/README.md

83 lines
3.9 KiB
Markdown
Raw Normal View History

2020-11-17 13:35:49 +01:00
# Project_Steam_Tracker
2020-11-30 20:14:09 +01:00
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.
2021-01-07 18:58:42 +01:00
- [Flask](https://github.com/pallets/flask/)
- [steam](https://github.com/ValvePython/steam)
- gevent
- eventemitter
2021-01-11 14:43:49 +01:00
- [matplotlib](https://pypi.org/project/matplotlib/)
2021-01-12 15:31:53 +01:00
Om de dependencies te installeren voer het onderste commando uit.
pip install flask steam steam[client] matplotlib
2020-11-30 20:14:09 +01:00
2021-01-12 15:31:53 +01:00
De applicatie is simpel uit te voeren door de python script uit te voeren. En via de browser naar de gegeven url te gaan.
2020-11-30 20:14:09 +01:00
2021-01-07 18:58:42 +01:00
python run.py
2020-11-30 20:14:09 +01:00
## 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.