ULTIMATE VIDEO GAME
DATABASEBY JOHN LIGGETT AND SPENCER GANG
PROJECT GOAL(S)
• Create a database for video game information
• Populate our database with many popular games using an API
• Allow users to search games on our website, with links to
individual pages to view information about the game
• Allow users to find more games from the same company
MODEL-VIEW-CONTROLLER (WEB APP ARCHITECTURE)
• Model: Our MongoDB Database, on mLab (and IGDB data access)
• View: Our webpages, rendered with Embedded JavaScript (EJS),
styled with Bootstrap
• Controller / Server: Node.JS using the Express web framework to
handle routing and the displaying of the pages. Its main role is to
fetch our game data from the model for the view
• These, along with Angular, are referred as the MEAN stack
MEAN STACK DOWNLOAD
The only download necessary to complete our project
was Node.js found at https://nodejs.org/en/
NPM DEPENDENCIES
DATABASE: MONGODB USING MLAB
MONGOCLIENT
PROJECT SETUP DATA SOURCE: IGDB.COM
DATA SOURCE: REQUEST
DATA SOURCE: JSON RESPONSE
CURRENT DATABASE OVERVIEW
JSON GAME DOCUMENT EXAMPLE
CRUDE OPERATIONS & DATA COLLECTION
• The main CRUDE operation is Retrieval – getting game & company data
• We also have Creation operations when gathering new data
• Our data collection process is a continuous process
• Future additions would add update operations and minimal delete
• When users search for games, if the game is not in our database, we
query IGDB for data. We also query IGDB for needed info when users
navigate to be games pages.
• Similarly, when users go to company pages, game data (of developed or
published games) that we do not have is obtained from IGDB
SEARCH PAGE
SEARCH PAGE: EJS
GAME PAGE
GAME PAGE
GAME PAGE
COMPANY PAGE
EXPRESS ROUTES – MAIN PAGE & SEARCH
EXPRESS ROUTES – GAME & COMPANY PARAMETERS
ERROR 404 PAGE
GAME NOT FOUND
COMPANY NOT FOUND
HOSTED ONLINE
MOBILE SCREENSHOTS
FUTURE WORK
• Create a user accounts feature, and incorporate user lists
• Add the ability to rate games, possibly requiring an account
• Let users add friends (other users) for messaging, game sharing, etc
• Add the ability for users to submit updated content or new content (new
games) to the database
• Add an administration page to add new games and manage content
• Integrate with other services – Twitch, OpenCritic, etc
• Enhance the design and features of the website – content on the homepage,
ability search companies, general site appearance
• Track searches and pages visited to create recommended games for users
THANK YOU FOR WATCHING