A web application that tracks games played.
- flask-login
- flask-wtf
- flask-sqlalchemy
- requests
- ldap3
- howlongtobeatpy
You'll need to create a config.py file, which specifies configuration details, such as
authentication information. A sample configuration file can be found at sample_config.py.
Start the server with run.py. By default it will be accessible at localhost:9999. To
make the server world-accessible or for other options, see run.py -h.
If you're having trouble configuring your sever, I wrote a blog post explaining how you can get Flask, uWSGI, and Nginx working together.
Hey, why isn't Playdate (for example) listed in the list of platforms when I edit a game?
If you want to add a game from a platform that isn't in the database yet, the easiest way
to do that is to add a game from GiantBomb that is on that platform, then restart
Goodplays with sudo service uwsgi restart (assuming you're running it with uWSGI). After
restarting, the new platform should appear in the platform list.
- Clean up details page with Steam and Giant Bomb sections and logos
- Add search and import from steam as well (using https://api.steampowered.com/ISteamApps/GetAppList/v0002/?key=STEAMKEY&format=json)
- Polishes:
- More/less toggles should be in line with filters when they are visible (not below)
- Whenever tags are displayed, make them links to bring up all games that have plays with that tag
- Allow user to select sort order for plays and games, and this preference should persist (cookie?)
- On pages with... pages, display the current page number and total number of pages
- Allow admins to upload images in addition to providing links
- User management (change email address, name, password, forgot password)
- Allow users to make their plays public (what would this look like?)
- GiantBomb is now independent (congrats!), but a secondary effect of this is that their API recently went offline due to a tech stack migration; will work on getting the integration working again once it returns: https://giantbomb.com/api
- There is something weird/wrong with controller.link_platform, so it's been removed (I don't think it was used anyway?)
- Sign up and other user management functions are not supported via LDAP
Written by Gem Newman. Website | GitHub | Twitter
This work is licensed under Creative Commons BY-SA 4.0.
JQuery and JQuery UI elements included under the MIT "Expat" License.
Search makes use of Giant Bomb's API. Thanks, Giant Bomb!
HowLongToBeat integration makes use of ScrappyCocco's HowLongToBeat Python API.
Remember: GitHub is not my CV.

