-
Notifications
You must be signed in to change notification settings - Fork 0
Soft Requirements Specification
The goal for our project is to create a aggregated review site that will allow users to specify more clearly the type of reviews they are looking for regarding the product they are searching for. Users will have more control over the review filters such as specifying the age of the reviewer and date the review was posted.The first iteration of RevYou will Video Games, this will be expanded in future iterations.
Our overall scope is to create a game review site that allows users to specify details about a reviewer to further help the user in finding a product that is right for them based on there defined criteria. For this implementation scope, RevYou will focus on the game review side of the site and not any other for of products. This will be for later implementations.
Future iterations of the site will run SQL but for its early iterations data will be stored in json files.
Premium account membership is not within the scope of the whole project. A mobile website version for RevYou is out of this implementations scope But will be created in later versions.MySQL and MyPHP databases are out of scope for this iteration and will be worked on in following iterations to come. Currently, we will use a JSON file to act as our database for the demo.
| Term | Description |
|---|---|
| PUG | Formally known as Jade, Is a coding language that uses Node.js to turn PUG code into HTML code readable by a browser. |
| Node.js | Its a framework that aids in website development. Node is designed to be used for scalable network applications. |
| CoffeeScript | Is a coding language that makes writing JavaScript easier and more efficient. |
| Trello | Trello is a task board management system created by Atlassian that has been used to keep track of our tasks throughout this project. |
| Reputation | Reputation is given to both a reviewer and reviews. A review receives a high reputation by having more upvotes compared to downvotes then other reviews. The more upvotes a review has, the higher up the review will be on the review ordering list of view. A reviewer receives a reputation by having more reviews with more upvotes compared to downvotes. |
| LESS | Less is a CSS preprocessor, allows you to do more stuff with base CSS, the slogan for "less" is do more with less. |
RevYou is an aggregated review site, meaning it takes reviews from other sites such as steam and Metta critique and puts them all in one place, which is our site RevYou. Our site will be unique to other review sites as users can give specific filtering options regarding the reviewer's age, and reputation and how old the review can be. Despite being an aggregated review site, users can add their own reviews about a product directly onto our website. Some features such as creating a review will require an account. The ingenuity of our site comes from the account creation process. When users sign up for our website, they complete details such as age and interests which will help later when writing reviews so this type of information does not have to be specified again. Reviewers having an account will make users searching for reviews convenient.

| Package Name | Package Description |
|---|---|
| Account Handling | The Account handling package handles everything related to account management and account creation. Accounts can also be added, removed, and edited from this package. |
| Income Streams | This package deals with how Ratbit will receive income from the website. Mainly from sources of sponsors such as uplay and such. Advertisement will also be a form of income. |
| Review Searching | This package will handle how the user searches for a review. This package allows users to specify specific filters to search for in a review such as age, gender, and date of review publication. |
| Created Reviews | This package handles how reviews are created for the website. This package ensures that only account holders can create a review |
| Aggregated Reviews | This package handles reviews from other websites and ensures that they meet with the users searching criteria. |
| Reputation | This package handles the reputation of both the reviewer and the review made by a reviewer. Reputation of a review is established by calculating how many upvotes compared to downvotes the review has compared to other reviews in the same category. A reviewer reputation is calculated by how many upvotes and downvotes they have in total over all the reviews they have made. Only reviews that have been created on RevYou can get a reputation. |
| Actor Name | Description |
|---|---|
| Website Developer | The website team, us, that manage the website and ensures it upkeep and functionality |
| Reviewer | A particular user that writes either reviews for a living or a consumer that has created a account and written at least one review |
| Consumer | A particular user that does not have a account and is primarily on our website to search for a particular products review. All features are available to this type of actor except writing a review. Writing a review is restricted to people that have accounts. |

The review searching user case demonstrates the process of searching and filtering for reviews by a user. "Filter reviews by specification" extends "search for a review of type" as filtering reviews are optional but can also be done if users desire to.

Income streams are how the website will provide revenue for us by advertisement and also keeping track of reviewers that are either paid for there reviews or are being supported by a company for doing a review.

The reputation use case explains the intricate nature of how the reputation calculations work within the website. Upvote and downvote are included in "edit reputations of reviewer" as a reviewers reputation score is determined by how many upvotes compared to downvotes they have received amongst all of their written reviews. Re-sorting of the review order must happen after the editing of the reviewer's reputation score. Once a single review has been upvoted or downvoted, the individual reputation score for that review changes, which in term effects its order of appearance on the product review page.

The account handling use case describes the details of how a customer and reviewer can create, edit, or remove their RevYou account. When a reviewer is creating an account it is important that they declare if they are being supported by a company for there reviews as this may affect there opinions of the product they are reviewing, especially if the company that is supporting them is a product that the reviewer is writing for.
As a young gamer, I want to enjoy every game that I buy so that I am not wasting money on bad games.
As someone who is out of their depth when it comes to a product, I want to find one that I won’t be overwhelmed so than I can enjoy that product without to much effort
As a single parent, I want to know that the products I buy for my child are safe and fun so that my child is always safe.
As a developer or manufacturer of a product, I want to know what my users think of my product, so I know what changes I can make to improve the quality of my product.
As a developer or manufacturer of a product, I want to know what kinds of users are reviewing my product, so I can target that kind of person for new products. As a child I want to know what games people my age are playing so I can also play those games.
The development of this application was in firefox however it aims to be supported by all popular web browsers. Later versions of the site will work in phone browsers.
The first prototype of this application will be for web browsers and therefore the hardware requirements will be any PC or Mac than can run a popular web browser. The site should be operated with a keyboard and a mouse. Unsupported hardware include, VR , racing wheels , joysticks, Wii fit boards, guitar hero controllers. These features will be added in future versions of the site.
| Ref. # | Description |
|---|---|
| NFR 01 | The website will be accessible 98% of the time |
| NFR 02 | The website will keep users data safe |
| NFR 03 | All account passwords will be salted and hashed |
| NFR 04 | All users will be able to edit and remove their account at any time |
| NFR 05 | All income producers will receive a thorough background check when apply |
| NFR 06 | Users can report inappropriate reviews with illicit content |
| NFR 07 | There will be zero illicit content |
| NFR 08 | The reviewer can add how many hours they played the game for |
The image for the "no user profile photo uploaded" image was obtained using the creative commons license. [01] I.B TyMaHe, "Person placeholder," Wikimedia Commons, Feb. 20, 2013. [Image]. Available: https://commons.wikimedia.org/wiki/File:Placeholder_no_text.svg. [Accessed: Jul. 07, 2018].