Graph database Analysis of the Steam Network
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
2.3 KiB

  1. # Steam Graph Analysis
  2. This is a project that I threw together during the weekend to play around with
  3. gremlin graph database. Currently this project scrapes the steam API for friends
  4. and their friends which can be used to generate a graph. This information is stored
  5. locally in a gremlin server and is then sent to the client via a web socket.
  6. ![Diagram](src/main/resources/website/Diagram.svg)
  7. [Video Of Friends of Friends Graph](https://www.youtube.com/watch?v=DoDaHmyIPvQ)
  8. This project is in the VERY early stages of development and is far from finished.
  9. If you are lucky, you will find it live at [http://steam.jrtechs.net](http://steam.jrtechs.net).
  10. It is still being actively developed and does not have permanent hosting so there is a %60
  11. chance at any time that you will be able to access it.
  12. ![Graph](src/main/resources/website/img/jrtechs2.png)
  13. ## Running this Project
  14. * First you need to obtain a steam api key from [https://steamcommunity.com/dev/apikey](steam's website).
  15. * Place the api key in the SteamAPIKey.json file under the conf/ folder.
  16. * Spin up a local gremlin server to connect to.
  17. * Install and configure Maven if you don't already have it installed.
  18. * Run the App.java class either in a java IDE which supports maven (for dependencies), or build this
  19. project into a jar and run it. I have a buildJar.sh which builds a jar file to use -- please note that
  20. you still need to have maven installed. There is also a run.sh file which will run the jar file once
  21. you place it in the same directory as the run script.
  22. * Open graphs.html under the website/ folder in your web browser.
  23. # TODO
  24. * Include a steam name to steam id lookup
  25. * Dockerize this entire environment
  26. * Connect the gremlin/janus server to a HBase server for persistent storage
  27. * Make the graphs look better -- possibly switch from sigma.js to d3
  28. * Get the java web socket to work with ssh -- currently does not work with wss
  29. * Make more graphs to provide more insights
  30. * Friends with friends -- shows which of your friends are friends with each other
  31. * Most common friends friends -- will show you people you may know
  32. * Graph of a larger chunk of the steam community
  33. * ...
  34. * Write more documentation on how the system as a whole works.
  35. * Write blog post on what I learned during this project.