I tend to be an obsessive learner. I love to learn new things and have a long list of them to get through. However, where I tend to struggle is actually using that new knowledge in anything real. There’s a finite amount of things that I’ll need to use in my day job, so the rest of it sits in my brain taking up space, leaving me with frustration about the fact that I learned it because I wanted to use it!
On the flip-side of that is the fact that coming up with a project idea that I actually care about doing is pretty tough. After all, free time when you have a young family isn’t exactly in abundance, so if I’m going to use that time for something tech based, it needs to be something I actually give a toss about.
I recently saw a feature on Dan Hannigan’s website that sparked an idea for a side project that’s piqued my interest. On his homepage, he shows the games that he’s played this year, with flags for what he’s currently playing. At first, I thought it would be fun to add something similar to this site, sharing and recording what games I’ve played in this year and what I’m playing right now.
The original plan was to maybe create it as a custom post type in WordPress for games, with taxonomies for years, and currently playing. I could then query that data or create archive pages and be done with it. There would be a link to the IGDB page for the game, just as Dan has done on his site, as a custom field and the feature image would be the cover.
That would have been fine and would achieve the fun little thing that I wanted to put on my website. But then I started thinking of other fun (to me at least!) pieces of information that I’d like to include, like have I completed the game, how long have I spent playing it, how many achievements unlocked, what platforms and formats do I own it on.
And then I thought about the in-game captures. With some games, I’ve generated a lot of images and videos that I never do anything with, that I thought would be fun to share.
All of this is a very long way of saying that what started as a simple idea of something fun to share on my site, has become an idea for a bigger side project where I’ll get to actually use a lot of the things that I’ve learned and still want to learn.
Right now it’s in the planning stage, but what I’m aiming to build is an online library of my games catalogue to share all the games I own / have owned / have played and a bunch of related stats and captures.
The plan is to build this using a custom database (as I want to learn mysql), using Laravel as the app framework. So I’ll get to learn and practice relational databases, PHP and Laravel with authentication and custom admin pages for adding data.
I haven’t put too much thought yet into what the front-end will look like or the exact features of it, but I’d like it to be accessible, use modern CSS techniques, and be a fun, games inspired design. There’ll be a few interactive features for searching and filtering and maybe a few other things.
The actual design and UI requirements will evolve later. For right now, I’m concentrating on the underlying architecture of the database and app. I’ve been using Mindnode to map out my database tables structure.
This post is mainly a mind dump of the outline that I’ve been carrying around in my head for this project. It gives me something to refer back to and see if the project ends up going in a different direction later on.
It’s nerdy, but I’m excited about having something like this to get my teeth into. It also combines a bunch of my interests in single outlet.
2 responses
Sounds fun!
I wonder if you can somehow connect to Steam’s REST API and do something kinda fun…🤔
You’ve got me thinking. Lol
Thanks Alex! Didn’t think anyone would read my ramblings!
I have thought about using APIs to pull in other data. I’ll probably pull in IGDB data on the games themselves.
It would be awesome to pull in my stats from an API but I’m mainly Xbox and they don’t seem to offer a profile API. I think they did at some point but not anymore sadly.
If you end up doing something based on your games library I’d love to see what you come up with!