Skip to content

JaredDaniel341/GameYap

Repository files navigation

Game Yap

Overview

Buying games without knowing what you're getting is a disappointing experience for everyone. With Game Yap, you can talk about your experience with a game and also find games that are tailored to your favorite genres!

Game Yap is a web app that lets users review, rate, and get recommended games. Each user can register for an account so that they're able to engage with the proposed features. They'll be able to search for games based off rating and genre, and have a homepage that recommends them games based off of chosen genres. Viewing without an account is perfectly fine.

Data Model

The application will store Users, reviews, genres, and games

  • users have reviews associated with them (via references)
  • reviews associated with overall score (by embedding)
  • users have favorite genres (via references)
  • games will be associated with reviews (via references)

An Example User:

{
  username: "linoonefan3",
  hash: // a password hash,
  reviews: // references to reviews
  genres: // references to genres
}

An Example List of a User Reviews:

{
  user: // a reference to a User object
  reviews: [
    { game: "Mario 1000", score: "10", review: "Best game ever!", checked: true},
    { game: "Jump Dude", score: "2", review: "Terrible ripoff...", checked: true},
  ],
  createdAt: // timestamp
}

Schema

Wireframes

/ - homepage

list create

/login - login page

list

/register - registation page

list

/games/slug - page for specific games and reviews for specified game

list

/user/slug - page for showing specific user and all their reviews

list

/search?q="" - lists all searched games

list

/all - lists all games

list

Site map

list create

User Stories or Use Cases

  1. as non-registered user, I can register a new account with the site
  2. as non-registered user, I can view games and reviews
  3. as a user, I can log in to the site
  4. as a user, I can write a game review
  5. as a user, I can view all my reviews or someone elses on specified user page
  6. as a user, I can add prefered genres and get recommended games based off them
  7. as a user, I can browse any game available on the site and see reviews and scores

Research Topics

  • (3 points) Unit testing with JavaScript
    • Unit testing is testing small snippets of code and verifying if said code has your desired output.
    • It's very useful to use since it can help highlight issues in code that one may have overlooked.
    • I am planning on using Mocha for my project.
  • (5 points) Automated functional testing for all of your routes using any of the following:
    • Automated testing for all routes makes sure that all paths are functional.
    • Using it is beneficial because it saves you a lot on time on manually testing paths and may alert you of issues you wouldn't see in normal use.
    • I am considering using Selenium for my project.
  • (2 points) Use a CSS framework or UI toolkit, use a reasonable of customization of the framework (don't just use stock Bootstrap - minimally configure a theme):
    • CSS frameworks have prewritten CSS files to make it easier to design elements, and similarly UI toolkits have many built in design tools to simplify design
    • These are useful becaue they help shorten the amount of time spent on designing elements.
    • I am most likely going to use Tailwind for my project.

10 points total out of 10 required points

Main Project File

Annotations / References Used

  1. mongoose docs

About

A mock game review website made for a final project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •