Skip to content

Requirements and Specifications

Miseung Kim edited this page Nov 26, 2021 · 45 revisions

Team 3 : Gaejosim

Document Revision History

Rev. 1.0 2021-10-16 - initial version
Rev. 1.1 2021-11-10 - new service name & minor changes
Rev. 1.2 2021-11-26 - add apology feature

Backgrounds

League of Legend(i.e. LOL), one of the multiplayer online battle games, is still globally popular. In LOL, users split into two teams and destroy the opposite team’s base to win. When a user participates in a match, the LoL system automatically allocates teams like below.

lol queue picture

Players have no choice but to team up with strangers, there is always a possibility of forming a team with trolls. Trolls, who post inflammatory and digressive messages or disturb gaming intentionally, not only lead the team to defeat, but also ruin all other team users’ in-game experience badly. To defeat the enemy, all five players should cooperate with each other by taking different champions and roles. Therefore, it is very important to find out if there are any trolls, who are not cooperative, in the same team before starting the game.

Nowadays, most of the LoL users search their team members on the game log search site like op.gg or fow.kr, while they are waiting for the match to start. These search engines offer statistical data such as continuous winning rate, main champions and main roles, which might be useful sources for user to assume whether teammates are trolls or not. However, information from these sites are insufficient to figure out troll teammates. Since the sites only contain game logs returned by Riot’s api, they cannot offer any direct factors to judge trolls, such as using violent words, intentionally ruining the game or fleeing the game.

Moreover, the current report system on LoL cannot satisfy users at all. Reports on trolls are frequently ignored and punishment on reported users are not enough.

If you want to get some more information about LoL, you can see these videos :

Project Abstract

Gaejosim is a search and reporting platform of ill-mannered game players. This service can solve current situations by authentication-based reporting and user report-based Troll search engine.

Upon successful sign in, user will be able to report troll teammates. User can only write reports on team members who actually played recently in the same team. After proper authentication process, user can grade teammate’s Manner Point and choose tags that could describe the manner of the teammate.

Without logging in, any person can use a search engine freely. Gaejosim offers search 'Multi Search'. In most cases, LoL players can use our search engine while they meet new team members in game. Multi Search mode will display the search result of all five team members with proper format parsing. Similar to other search engines, we will display searched player’s game history data related to assumption of trolls, but in a better visualization way. Unlike other conventional searches, our results also contain Manner Point and tags, which could directly backup user’s decision on troll teammates. By searching teammates on our search engine, users can make a proper decision whether to play a match with current teammates or try to meet other teammates.

Overall, LoL players could avoid trolls by using a search engine on Gaejosim and could report trolls who present them the uncomfortable game experience. This service will overcome limitation of current trolling prevention actions, furthermore, help to create cleaner game culture. (260 words)

Key Terms

There are some key terms used in LoL and our service.

En Ko Description
summoner 소환사 Real League of Legends user who plays the game. Each LoL ID has one to one match with summoner.
champion 챔피언 Game characters played by summoners.
position 포지션 Five parts of each team. Each position takes charge of each part of the map. There are Top Laner, Jungler, Mid Laner, Bot Laner, and Support.
tier 티어 The hierarchy of the score of the summoner that fluctuates with each victory/defeat.
queue Waiting until 10 summoners for each position with the similar tier gather.
multi search 멀티검색 Search for the information of the four summoners who become on the same team.
match 매치 A unit of the game. In each match, user is allocated in a new team with other summoners
troll 트롤 Ill-mannered game player who post inflammatory and digressive messages or disturb gaming intentionally
report 신고 Report a troll summoner with valid reasons.
MP 매너 포인트 The points indicating summoner's manner. It fluctuates with reports and manner points that the summoner receives.
tags 태그 Keywords that identify each troll's ill-mannered action.
match log 매치 기록 The logs of the history of a summoner's recent matches
authentication 인증 Confirming process whether user actually played game with the reported summoner in the same team recently.

Customer

  • Any LOL players who are curious whether their teammates are trolls
  • Any LOL players who have suffered from trolls and want to report trolls
  • Any LOL players who have witnessed trolls and want to report trolls
  • Any LOL players want to examine their own report history for self-check

Competitive Landscape

Search results of summoner's game log MultiSearch Report trolls Authentication Search result of trolls well-visualized of search data one-to-one matching summonerID and user Ad-free
op.gg O O X X X X X X
poro.gg O O X X X X X
fow.kr O O X X X X X
uemy.cc O O O O X X
TrollDetector O O O O O O O O

Three Major Strengths of Gaejosim:

(1) Authentication-based Reporting

Unlike other services Gaejosim only lets users write comments on team members who actually played recently in the same team. By authentication process, comparing to the user's match history of data from Riot api, Gaejosim could prevent intentional abuse and improve reliability of the search result.

(2) User-report-based Search Engine

By collecting user reports based on the authentication process, Gaejosim could provide qualitative data like Manner Point and tags. Combination of these qualitative data and quantitative data like player’s history game log, users of Gaejosim can get at most directly related information to judge whether their teammate is a troll or not.

(3) User-friendly Interface

Currently most of the other services focus on offering more data, which leads to messy User Interface. Based on the user interview, Gaejosim enhanced user-friendliness by refining information and visualizing them in better way.

User Interface Requirements

wireframe1016

User Story

We will prepare required documents, UI/Design, and settings for coding in Sprint 2, and then implement below features in Sprint 3, 4, and 5 in detail.

No. Feature Sprint No.
1 Sign Up 3
2 Login 3
3 Find User Info 3
4 My Page 5
5 Main Page 5
6 Apology 3
7 Multi Search 4
8 Reporting 4

User Story 1 : Sign up

Feature: Sign Up

Actors: User who wants to use this service, especially LOL(League of Legend) game users who are suffering from trolls.

Precondition: User has not created his or her own account yet and wants to make a report of troll.

Trigger: User clicks Sign Up Button on the Login page.

Scenario

  1. At first, user can access the Main page without logging in or signing up.
  2. User clicks on the Login Button in the Main page.
  3. User have to make an account with Sign Up button on the Login page if user doesn't have his or her own account.
  4. The Sign Up form appears when user clicks on the Sign Up button on the Login page. (There is no redirection for Sign up)
  5. User should fill in the required user information fields such as username(ID), email, summoner, password, and password confirm.
  6. Before user clicks Sign Up Button, he or she should Duplicate Check Button of username.
  7. User should agree to Terms of Web service.
  8. After user feeds all required information, he or she can sign up this service by clicking Sign up Button.
  9. If there is information that has not been filled in, there might be some alert which asks to fill in the blanks.
  10. If not, the signing up process will be finished and user will be redirected to the Login page.
  11. After signing up and loggin in, user can make a report for trolls with his account.

Exceptions

  • User does not fill out all the required fields : username(ID), email, summoner, and passwords.
  • User already has his or her own account with the same summoner or email.
  • User does not click the Duplicate Check button or not follow up password checking process.
  • The summoner name entered by user does not exist or already exists in our service.
  • Username entered by user already exists.
  • Password and password confirm field do not match.
  • User does not agree to Terms of Web service.

Acceptance Test

  • When the user fills in required information for sign up and clicks on [Sign Up] button successfully, the user should be redirected to Main page.

User Story 2 : Login

Feature: Login

Actors: User who has already signed up Gaejosim and wants to report trolls.

Precondition: User has already created an account before.

Trigger: User clicks Login Button in the upper right conner of Search page (Main page) or Report Button in the center of Search page (Main page) without logging in.

Scenario

  1. If user wants to report a troll, he or she needs to login.
  2. User clicks on the Login Button in the upper right conner of Main page.
  3. User fills his or her account information : username(ID) and password.
  4. User clicks Login Button.
  5. User will be redirected to Main page.

Exceptions

  • User does not fill out the required fields : username(ID) or password.
  • The entered information is not correct.

Acceptance Test

  • When user fills in required information correctly for login and clicks on Login button, the user should be logged in successfully and redirected to Main page.

User Story 3 : Finding User Info

Feature: Finding User Information

Actors: User who forgot his or her account's username(ID) or password

Precondition: User has already created an account before.

Trigger: User clicks Find your Information Button in Login page.

Scenario

  1. User accesses the Login page.
  2. If user forgot his or her account's username(ID) or password, he or she needs to clicks Find your Information button.
  3. User selects between finding ID and finding password based on needs.
  4. If user wants to find username(ID), he or she needs to fill out the email, which was entered when signing up. If user wants to find password, he or she needs to fill out username(ID) and email, which was entered when signing up.
  5. After filling out the required information, user can click Find button.
  6. User can go back to Login page by clicking Login button.

Exceptions

  • The entered email has never been registered in this service.
  • The username and entered email does not match when finding password.

Acceptance Test

  • When the user fills in required information correctly, the mail should be sent with username(ID) or password information as content.

User Story 4 : MyPage

[4-1. My report logs]

Feature: My report logs

Actors: User who wants to see his or her report logs

Precondition: User has already created an account before.

Trigger: User clicks MyPage button in Search page (Main page).

Scenario

  1. User accesses My page by clicking MyPage button in Main page.
  2. User can see his or her reporting logs.
  3. If user clicks specific report which he or she wrote, it redirects to the reported user's Single Search Result page.

Exceptions

  • If there is no reporting log, it shows 'No report' message instead of logs.

Acceptance Test

  • When the user clicks specific report, it redirects to the reported user's Single Search Result page.

[4-2. My Summoner Information]

Feature: My Summoner Information

Actors: User who wants to see his or her summoner information.

Precondition: User has already created an account before.

Trigger: User clicks MyPage button in Search page (Main page).

Scenario

  1. User accesses My page by clicking MyPage button in Main page.
  2. User can click My Summoner button, and it redirects to user's Single Search Result page.
  3. Instead of entering from My page, searching my summoner name on the Search page functions the same way.

Exceptions

  • If summoner account (LoL account) does not exist, My Summoner button might be deactivated.

Acceptance Test

  • When the user clicks My Summoner button, it redirects to user's Single Search Result page.

User Story 5: Search Page (Main)

[5-1. Access Main page]

Feature: Access to the main features of the service

Actors: User who accesses the web service

Precondition: There is no precondition

Trigger: User enters the address of the service.

Scenario

  1. User accesses the web page by entering the address.
  2. User can look over the features of the service.
  3. User can check some useful information about the service at the bottom of the page :
    • Frequently reported users
    • Statistics of the troll report history
      • The number of reports (today / total)
      • The number of troll prevention cases (today / total)

Exceptions

  • If user enters the address incorrectly, the user is directed to HTTPS error page.

Acceptance Test

  • When user enters the address, the user is directed to the Main page.
  • On the Main page, all the information appears without any error.

[5-2. Search at the Main page]

Feature: Single Search / Multi Search at the Main page

Actors: User who wants to use search service

Precondition: User should know the name of the summoner that the user wants to search

Trigger: User enters the names of summoners and clicks the Search button.

Scenario

  1. User accesses the web page by entering the address.
  2. User clicks the toggle bar to select between 'Single Search' and 'Multi Search'.
  3. User enters the names of the summoners in the input field.
    • Single Search : A name for single-search
    • Multi Search : A text containing the names of teammates with proper format
  4. User clicks the Search button or hits the Enter key to get the result.

Exceptions

  • If user enters a name of a summoner who does not exist, the user gets an error message, such summoner does not exist.
  • If user enters an imperfect text or improper format text for multi-search, user gets an error message, Please enter the proper format text for multi-search.
  • If the user incorrectly sets the toggle bar, the user gets an error message, Please set the toggle bar correctly.

Acceptance Test

  • When user sets the toggle bar, enters the names of summoners, and clicks the search button or hits the enter key, the user will get the search results.

[5-3. Access to the Login function at the Main page]

Feature: Access to the login feature

Actors: User who wants to log in

Precondition: User has an account of the service

Trigger: User clicks the Login button on the Main page

Scenario

  1. User accesses the web page by entering the address.
  2. User clicks the Login button on the Main page

Acceptance Test

  • When user clicks the Login button, the user will be redirected to the Login page.

[5-4. Access to the report feature at the Main page]

Feature: Access to the report feature

Actors: User who wants to report a troll

Precondition: User has already created an account before.

Trigger: User clicks the Report button on the Main page.

Scenario

  1. User accesses the web page by entering the address.
  2. User clicks the Report button on the Main page.

Exceptions

  • If user is not logged in, the user will be redirected to the Login page.

Acceptance Test

  • When user clicks the Report button, the user will be directed to the Report page when he or she is logged in.

User Story 6 : Apology

Feature: Apology

Actors: User who received a report

Precondition: User who received a report

Trigger:

  • User goes to Mypage.
  • In Mypage, user can see the list of reports that she or he received.

Scenario

  1. User goes to My page, and see the list of reports that she or he received.
  2. User want to increase his manner point, so decides to write an apology to reporting summoner.
  3. User writes an apology. If the apology is substantial as ML feature judged, it is sent to reporting summoner and his mannerpoint will be recovered.

Exceptions

  • If the apology has lack of content, ML feature will not allow to submit it.

Acceptance Test

  • When user writes an apology with substantial content, the apology will be sent to reporting summoner and reported user's mannerpoint will be recovered.

User Story 7 : Multi Search Result

Feature: Multi Search result

Actors: User who wants to get the information of the teammates or several users at once

Precondition: User knows the names of his or her teammates

Trigger: User selects Multi Search at the toggle bar in the Search page, enters the names of the teammate summoners, and clicks the search button or hits the enter key

Scenario

  1. User selects Multi Search at the toggle bar in the Search page
  2. User enters the names of the teammate summoners at the search box, and clicks the search button or hits the enter key.
  3. User can look over the information of the searched summoners.
    • Tier
    • Manner Tier / Point
    • The number of reports
    • User capabilities summary
    • User game records
      • Victory / Defeat
      • Kill score
      • K/D/A
      • Item list
  4. User can multi-search again on this page.

Exceptions

  • If user enters a text containing the name of the summoner who does not exist, the user gets the error message, Summoner does not exist.
  • If user enters a text with improper format, the user gets the error message, The format is not appropriate.

Acceptance Test

  • When user enters names of summoners, the user can view the sound information of all the summoners.

User Story 8 : Report

Feature: Report

Actors: User who wants to report teammates as a troll

Precondition: User should be logged in with his or her own account before. After logging in, the user is currently on the Search page.

Trigger: User clicks on Report Button.

Scenario:

  1. Clicking on Report button, not logged in user is redirected to Login page.

  2. Clicking on Report button, logged in user is redirected to Report page.

  3. User types summoner name whom user wants to report as a troll. While typing summonerID, the user can choose one of the auto-complete summonerID dropdowns or typing all the summonerID by himself or herself.

    • If the user chooses summoner name among one of the dropdowns, then Authentication button status changes to authenticated.

    • If the user types summonerID without choosing dropdown, then the user should click on Authentication button before further reporting.

  4. After authentication, the user can grade Manner Point of summoner.

  5. After grading, user can multi select tags that describe attitude of summoner with toggle buttons.

  6. (Optional) After then user can write down text field for further comment.

  7. User clicks on Submit button, then all information send to server database.

Exceptions

  • If user enters a name of a summoner whose name does not match to recently matching teammates, the user gets an error message, authentication failed.
  • If the user doesn't check any tags, the user gets an error message, Please check the tags for reporting.

Acceptance Test

  • When user puts name of the summoner, then authenticated, adjust Manner Point range, check appropriate tags, then click Submit button, the user will get the submission success message.