backlogr

backlogr is an experimental web app built with angular.js for tracking and managing your video game collection and backlog.

I built this app mainly as a way to get my feet wet with using angular.js, and to explore its strengths and weaknesses when used to create slightly more complex web applications. As a an avid gamer, I thought that an app for tracking your game backlog would be a perfect test and would fit nicely as a traditional “CRUD” type application. To make the app more useful, and to make it come alive a bit more, I’ve connected it to the excellent GiantBomb API and games database. The app makes requests to a custom node.js based REST API that I developed, which serves a cached version of GiantBomb’s data from a MongoDB database, which makes searching it from the app even faster and easier, and allows things like the game box art to be incorporated into the interface.

Key components & features

  • Backed by the GiantBomb games database, cached to a MongoDB database and served from a custom node.js API
  • Stores the user’s games and configuration data in browser localStorage
  • Fully responsive and mobile friendly user interface (built on top of Bootstrap v4 alpha, and uses fastclick for lag-free touch interaction)
  • Uses ui-router for page/view routing with URL support
  • Custom built combo-box/auto-complete widget directive (for searching the games database)
  • Custom built toast notifications directive
  • CSS3 Animations with ngAnimate (for modals, dropdowns, notifications, list items)
  • Keyboard control support with angular-hotkeys