Game Catalog Project Plan

Michael Hoffman

WDD 131


Overview

Purpose

To create a plan for users to find their favorite games to play and view information about.

Audience

My audience will contain those who are interested in video games and knowing information about them.

Dynamic elements

This project will contain a search filter, a random game generator, and a modal of each game containing more information about it.


Branding

Website Logo

Logo image

Style Guide

Color Palette

Palette URL: Color Palette colors
Primary Secondary Accent 1 Accent 2
[#838993] [#6c93c6] [#4a73b5] [#e9edf2]

Pseudocode for your project

To implement your project, I will start by defining my game data as an array of objects, where each object contains properties such as the title, platform, score, image URL, and a detailed description. I will create a renderGames function that selects your main display container, clears its current content, and uses the .map() array method to dynamically generate and inject HTML cards for each game in your array.

For my interactivity requirements, each game card will have an event listener attached to it that, when clicked, triggers an openModal function. This openModal function will select the modal element in your DOM, modify its inner HTML to display the specific details of the selected game object—including an additional image and expanded information—and then remove a "hidden" class to make the modal visible to the user.

I will also implement a filterGames function that utilizes the .filter() method to create a new array based on the user's selected platform and then calls the renderGames function to update the displayed list. Finally, I will incorporate conditional branching with if statements throughout your code, such as displaying a "Must Play" badge if a game's score exceeds a certain threshold, and you will ensure your project remains mobile-first and performant to meet your Lighthouse accessibility and performance criteria.

Wireframes

Dashboard

Header Section: Place the "Gaming Backlog Dashboard" logo in the top-left. Include a simple navigation menu or filter buttons (e.g., "All," "PC," "Console") to the right or below the logo. Main Content Area (The Grid): Use a responsive CSS Grid or Flexbox container. Game Cards: Each card contains a small representative image (required for the rubric), the game title, and a "View Details" button. On mobile, these cards stack vertically. On tablet/desktop, these cards align in 2 to 4 columns. Interaction: The "View Details" button on each card will trigger the JS event listener to open the Modal.

Game Details View (Modal)

This view is a "floating" layer over your existing dashboard. It provides the expanded information without needing a second HTML page. Overlay: A semi-transparent background that covers the entire viewport to focus the user's attention on the game content. The Modal Box: Close Button: An 'X' or "Close" button placed in the top-right corner to allow the user to exit the view. Image Section: A large, secondary, high-resolution image of the game (fulfilling the "additional picture" requirement). Info Section: Title: Large, bold heading. Dynamic Metadata: A section for the description, platform, and playtime. Conditional Badge: An area that displays a "Must Play" badge only if the game score is above 85 (satisfying the conditional branching requirement).

home page wireframe