Topic updated: 2022-06-25
GMG (Give Me a Game) is a Web-based application to help you to manage your videogame collection.
Aside from being a programmer, I am also a gamer, from times to times. I have almost 300 videogames in my collection (and more than half them not completed yet, my todo list still growing up).
In early 2017 I decided to create a Web application to help me to manage this collection. I started with something humble, using Silex, very basic. One year later, in mid-2018, considering the limits, I added some extra features and rebuild the application using Symfony. Two years later, during the pandemic, I started over the project (migrating the data though) using Flask. It was a very good application, but it was to self-centered, it was a limited vision, mine and in late 2021, I considered to rebuild it, again, by splitting it in two parts: one back-end, and one front-end. It's now done, and on Github.
The back-end application uses the Python microframework Flask and Python 3.7. The data are stored in MySQL. The application itself split your data among several resources:
The application also include some agenda-related features: stories, transactions, todo list...
The main points of this application are:
Below is an example of how a copy is return by the GET endpoint:
"gameTitle": "2002 FIFA World Cup",
With this way to store, edit and return data, you are free from almost every personal consideration.
Yep. Creating and maintaining a good GUI was too much for me. Because of skills, of the time needed, of tastes and colors... So, I decided to not include anything like that. Hence, as a developer/user, you are free to:
So, yes, for me, I created a front, with a basic Bootstrap interface, relying on a Symfony stack (PHP 8.1). It covers most of the features of the back-end, but not all. Below are two screenshots.
Note that for both back and front, a documentation is available (very small for the front as there is not much things to say).