Giter Club home page Giter Club logo

i-scream-arcade's Introduction

IScream Arcade

Screen Shot 2020-07-29 at 2 20 18 PM

BE MOD3 Group Project

Click here to view it in production

Team Members

Mariana Cid

Whitney Kidd

Ross Perry

Melanie Tran

Quick Links

giphy

About

IScream Arcade is an app designed to asist users in their hunt for the next terrifying video game. The game data is returned from a sinatra microservice that accesses the IGDB (Internet Game Database) API. You can read more about the API documentation here

Users and visitors may take the ever terrifying Fear Quiz that will expose your true fears. Based on the results IScream Arcade will recommend video games that contain your recently exposed fears.

Certain functionality is hidden from the visitor accounts. To create an account, simply login with Google OAuth. Once a user is logged in, users may add games to their 'Saved Game' list, and contribute to the community by adding game reviews and "IScream" ratings.

A visitor or user may get information regarding a single game or a single keyword (terrifiny keywords recommended) by entering the search type and search term on the home page.

Games are returned with data relavent to your decision making such as trailers, descriptions, critical ratings, screenshots, themes, genres, and similar games. Similar games link to their game profile-- the rabbit hole is endless.

Software Requirements

  • Ruby Version 2.5.3
  • Rails Version 5.2.4

Getting Started

If you want to create your own IScream Arcade and make any additional improvements or add extenstions. Follow these steps.

To begin, fork and clone this repository. Or you can run the following command below if you are not interested in saving your own copy.

git clone [email protected]:perryr16/i-scream-arcade.git

Once the repository has been downloaded to your local machine. Run the following commands:

bundle install
rails db:create
rails db:migrate
rails db:seed

Running the Test Suite

The test suite is run using RSpec and Capybara. The test results have been mocked and stubbed using Webmock and VCR. To run all tests simply enter the following commands.

rails g rspec:install bundle exec rake db:create bundle exec rspec

In order to run tests with fresh data you must delete the VCR cassettes folder from /spec/fixtures/ and rerun bundle exec rspec. This will populate the fixtures folder with fresh data.

If you'd like to run the microservice locally you must clone down the sinatra microservice. Once the microservice has been opened run the following commands to get it setup.

bundle install shotgun

Shotgun is a gem that starts the sinatra service while allowing developers to make changes that will automatically reload on the local server. Shotgun will run the server on localhost:9393 where you can hit the API directly.

Schema

Untitled

Fear Quiz

Screen Shot 2020-07-30 at 2 48 55 PM

Games

Screen Shot 2020-07-29 at 2 53 42 PM

Screen Shot 2020-07-29 at 3 02 14 PM

Reviews

Screen Shot 2020-07-29 at 3 03 00 PM

Screen Shot 2020-07-29 at 3 02 45 PM

Profile

Screen Shot 2020-07-29 at 3 01 45 PM

Screen Shot 2020-07-29 at 3 03 19 PM

User Experience

There are two main types of users on our application (a regular user or a visitor). Visitors such as the casual gamer or a parent can search games and select some fears to return recommended games. For example, if a mom does not want her child to play games that involve drowning, they can select drowning from the quiz. It returns a list of games that include the keyword drowning and as a parent, those would be the games I would have my child avoid.

As a logged in user, you get to experience all the benefits listed above. Once a user has authorized Google, they have the ability to rate, review, and save games.

Future Implementations

  • Build a "cute search" for users that return games that don't include their fears
  • Provide a user with a button that allows them to buy the game

i-scream-arcade's People

Contributors

perryr16 avatar melatran avatar whitneykidd avatar mariana-21 avatar shock253 avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

i-scream-arcade's Issues

Game Show

As a user
When I visit a game's show page,
I can see:

  • an image of the game
  • description of the game
  • a youtube video or screenshots of the game
  • the critics' rating of the game
  • the community's rating of the game
  • a section for comments about the game
  • the option to favorite a game
  • a spoiler tab of characters in the game

Recommended Games

As a user
when I visit the user homepage
I can see a list of recommended games based off of my favorited games

Notes
the API will return an array of similar games. I believe it will be an array of game IDs. We would then have to hit the API for EACH of those ids

OAuth

As a user
When I visit /login
Then I should see a button that says "Connect with Google”
And when I click on "Connect with Google"
Then I should go through the OAuth process
And I should be redirected to /welcome

Scary Serach

As a visitor or user
when I visit homepage
I can enter scary keywords
I then click "iScream" search
I will be on a game results index page
results will not include those keywords

Ice Cream Search

As a visitor or user
when I visit homepage
I can enter scary keywords
I then click "Ice Cream" search
I will be on a game results index page
results will not include those keywords

Search By Console

As a visitor
When I make a search
I should see a box to check on the side of the page to filter by a specific console
When I check that box
I should only see games that are for that specific console

Fear Quiz

As a user
When I visit my dashboard
Then I should see a link that says "Take the Fear Matcher Quiz"
When I click on that link
I should be taken to a page with a quiz that I can fill out and submit
When I submit the quiz
I should see a section on the page labeled "Fears"

Keyword Search

As a visitor
When I make a search
I should see a text field to add keywords to the search
When I add a keyword to the search
I should see the search change to reflect the extra keyword

Game Price

EXTENSION

As a user,
when I click on a game's show page, I see the game's price displayed and I can click on the price and it will bring me to the website where I can buy the game

Login / Profile

As a visitor with a registered account
When I visit the welcome page
And click on the login link
I should be taken to the user dashboard, and I should see that I am logged in as the registered account

Partial match Search

As a visitor
When I visit the welcome page
I can put in a search term into the search bar
When I click search, I should see a selection of games related to the search term

Game Rating

As a user
when I visit profile or game index
and I click rate this game
I see a popup window with 1-5 radio buttons
"ice cream social" to "I screamed and wet my pants"
that game now has an average rating from all users

Exact Game Name Search

As a visitor
when I visit '/'
and type in the name of a game and click 'search'
I am then taken to that games show page with all of that games information

Write a Review

As a user, when I am logged in
And I visit a game's show page
And I click on 'Write a Review'
I can fill out a form with my review
And when I click 'Submit'
I'm taken back to the game's show page
And I can now see my review in the review section

keyword search

As a visitor/user when I serach for games by keyword or partial match
I can filter results by each of the game categories
Each filter will hit the API again to return a new batch of games

Register

As a visitor
when I go to '/'
I can see a link to register when I click that link I am then taken to a new page where I see a form to fill out the following

  • First and last name
  • username
  • Email
  • password

when I click 'Register I am then taken to the user homepage.

Saved Game Clickable

As a user
When I view a game show page
I can click a game controller icon
And that game will be added to my Saved Games on User Profile

Game Show Visitor

As a visitor
When I visit a game's show page,
I can see:

  • an image of the game
  • description of the game
  • a youtube video or screenshots of the game
  • the critics' review of the game

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.