Graph database Analysis of the Steam Network
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
Jeffery Russell 49e3b3f19f
Merge pull request #20 from jrtechs/dependabot/maven/com.google.code.gson-gson-2.8.9
1 ano atrás
.idea Updated server to prompt the user when they entered an invalid steam id 5 anos atrás
conf Created a quick web api for the project 3 anos atrás
src Cleaned the lambda statements up to use mappers. 3 anos atrás
website Created a friends graph using visjs and jquery. 3 anos atrás
.gitignore Created a quick web api for the project 3 anos atrás
LICENSE Create LICENSE 5 anos atrás
README.md Fixed readme images 3 anos atrás
buildJar.sh Updated docs to include how to run the project and added a bash script to build the jar file. 5 anos atrás
pom.xml Bump gson from 2.8.5 to 2.8.9 1 ano atrás
run.sh Created a script to run the socket server 5 anos atrás
runCrawler.sh Updated the crawler to be more smart about error codes and not crash on a http error 500 or 401. 5 anos atrás

README.md

Steam Graph Analysis

This is a project that I threw together during the weekend to play around with gremlin graph database. Currently this project scrapes the steam API for friends and their friends which can be used to generate a graph. This information is stored locally in a gremlin server and is then sent to the client via a web socket.

Diagram

Video Of Friends of Friends Graph

This project is in the VERY early stages of development and is far from finished. If you are lucky, you will find it live at http://steam.jrtechs.net. It is still being actively developed and does not have permanent hosting so there is a %60 chance at any time that you will be able to access it.

Graph

Running this Project

  • First you need to obtain a steam api key from [https://steamcommunity.com/dev/apikey](steam's website).
  • Place the api key in the SteamAPIKey.json file under the conf/ folder.
  • Spin up a local gremlin server to connect to.
  • Install and configure Maven if you don't already have it installed.
  • Run the App.java class either in a java IDE which supports maven (for dependencies), or build this project into a jar and run it. I have a buildJar.sh which builds a jar file to use -- please note that you still need to have maven installed. There is also a run.sh file which will run the jar file once you place it in the same directory as the run script.
  • Open graphs.html under the website/ folder in your web browser.

TODO

  • Include a steam name to steam id lookup
  • Dockerize this entire environment
  • Connect the gremlin/janus server to a HBase server for persistent storage
  • Make the graphs look better -- possibly switch from sigma.js to d3
  • Get the java web socket to work with ssh -- currently does not work with wss
  • Make more graphs to provide more insights
    • Friends with friends -- shows which of your friends are friends with each other
    • Most common friends friends -- will show you people you may know
    • Graph of a larger chunk of the steam community
    • ...
  • Write more documentation on how the system as a whole works.
  • Write blog post on what I learned during this project.