Two years

A couple of days ago Gaming with Lemons celebrated its second birthday. Happy birthday open source project!

Since the last major release in October I have been focused on re-architecting the site to resolve the problems that caused us significant downtime in 2015. With the last few minor releases this work has been completed and I'm happy to say the site is now more stable than ever.

When GWL was originally designed the majority of the site relied on live requests to Giant Bomb's API and caching game data was an afterthought that came about when I had to build the collection interface. This turned out to be a mistake for many reasons, the biggest being what happens when the API goes down. The introduction of rate limiting also caused some major concerns, especially when bots like Google would crawl GWL causing hundreds of API requests.

With the changes I've made over the last couple of weeks GWL now uses its cache as the primary data source and retrieves data from the API when it can't find it. To keep this cache fresh I built an incredibly light API crawler. Giant Bomb rate limits at 200 requests per hour per resource, and the GWL crawler only makes 288 requests per day! This means as you use the site you should almost never trigger an external API request. Search is an exception to this rule, as it still uses Giant Bomb currently.

You can read more about how this all works over on the wiki. Everyone loves a graph, so here is a graph of API requests per day. The large spikes are bots crawling the website.

Now that the site is stable I can focus my attention on the more exciting user facing features as we head towards something resembling a 1.0 release. The most highly requested feature is Steam integration, so look forward to that coming soon.

As always, if you have an idea, feedback or criticism you can send it to me via the social networks (Facebook, Twitter or Google+) or via a GitHub issue.