UPDATE USER INFORMATION SEQUENCE DIAGRAM 91 FIGURE 62.. PRIVATE ROOM CONTROLLER CLASS DIAGRAM SPECIFICATION TABLE 25.. PRIVATE ROOM BOUNDARY CLASS DIAGRAM SPECIFICATION TABLE 26.. FORGOT
Trang 1VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY
UNIVERSITY OF INFORMATION TECHNOLOGY
RENT ME - A WEB-BASED PLATFORM FOR
THE GAME PLAYER COMMUNITY
BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS
DINH THI MY HOAN - 18520771
LAM LE DINH KHANG - 18520885
Trang 2VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY
UNIVERSITY OF INFORMATION TECHNOLOGY ADVANCED PROGRAM IN INFORMATION SYSTEMS
RENT ME - A WEB-BASED PLATFORM FOR
THE GAME PLAYER COMMUNITY
BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS
THESIS ADVISORS:
Ph.D NGUYEN THANH BINH
MSc VU MINH SANG
STUDENTS:
DINH THI MY HOAN - 18520771
LAM LE DINH KHANG - 18520885
HO CHI MINH, 2022
Trang 3ASSESSMENT COMMITTEE
The Assessment Committee is established under the Decision , date
" by Rector of the University of Information Technology.
1 - Chairman.
pm - Secretary.
= - Member
- Member.
Trang 4Certified that the thesis entitled “RENT ME - A WEB-BASED PLATFORM FOR THE GAME PLAYER COMMUNITY” submitted by Dinh Thi My Hoan and Lam Le Dinh Khang towards partial fulfillment for the BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS is based on the investigation carried out under our guidance The thesis part, therefore, has not been submitted for the academic award of any other university or institution.
Ph.D Nguyen Thanh Binh M.Sc Vu Minh Sang
(Supervisor) (Supervisor)
Trang 5First, we would like to express our sincere thanks to the lecturers at the University of Information Technology - Vietnam National University, Ho Chi Minh City and the faculty
of Information Systems have helped our group have the basic knowledge as the foundation
to implement this thesis.
Our group would like to express our deepest gratitude to Ph.D Nguyen Thanh Binh and MSc Vu Minh Sang guided us during the project work They provided us with clear guidance, corrections, and numerous insightful remarks to enable us to successfully complete our subject report Once more, we greatly appreciate their help and send our best
wishes to them.
During one semester of implementing the project, we applied the background knowledge
and researched new knowledge from teachers, friends, and many reference sources From there, we make the most of what has been collected to complete the best thesis report However, because of our limited professional knowledge and our lack of practical experience, the content of the report cannot avoid shortcomings We would like to receive further advice and guidance from you in order to perfect our knowledge so that we can use
it as a piece of luggage to carry out other assignments in the future as well as in future study and work.
Once again, we would like to send our sincere and best thanks to my teachers and friends!
Ho Chi Minh City, 2022 Dinh Thi My Hoan, Lam Le Dinh Khang
Trang 6TABLE OF CONTENTS ACKNOWLEDGEMENTS
1.2 Motivation and purpose
1.2.1 Socially and communication 1.2.1 Terms of Esports
1.3 About Rent Me
CHAPTER 2: REQUIREMENT SPECIFICATION
2.1 Situation survey
2.1.1 Competitors survey difference
3.4.3 Use-case specification and activity diagram
3.4.3.1 Salient features: Livestream and private room 3.4.3.2 Authentication
3.4.3.3 Player Interaction
12
14
15 15
16
16
18
20
Trang 73.4.3.4 Manage Profile 3.4.3.5 Communication
3.4.3.6 Payment
3.4.3.7 Manage User 3.4.3.8 Dashboard
3.6.4 Class diagram specification
3.6.4.1 Salient features: Livestream and Private room 3.6.4.2 Actors - User, player, administrator
3.6.4.3 Authentication 3.6.4.4 Player Interaction
3.6.4.5 Manage Profile
3.6.4.6 Communication
3.6.4.7 Payment 3.6.4.8 Manage Users 3.6.4.9 Manage Transaction
Trang 8CHAPTER 4: IMPLEMENTATION AND DEPLOY
4.3.4 Player Interaction
4.3.5 Payment 4.3.6 My profile
Trang 9LIST OF FIGURES
FIGURE 1 TOP 20 HIGHEST EARNINGS OF VIETNAMESE IN ESPORTS 16 FIGURE 2 HUMAN INTERACTION IN VIET NAM ESPORT BY VERO 17 FIGURE 3 ESPORT AUDIENCE GROWTH - GLOBAL 2020,2021,2022 AND 2024 18 FIGURE 4 ESPORT REVENUE GROWTH - GLOBAL 2020,2021,2022 AND 2024 18 FIGURE 5 ESPORT AUDIENCE IN VIET NAM NATIONAL, 19 FIGURE 6 NUMBER OF HOURS VIETNAMESE PLAYERS SPEND ON ESPORTS EVERY DAY 19
FIGURE 7 STREAM PLATFORM COMPETITION IN VIET NAM - 2021 23
FIGURE 8 SYSTEM ARCHITECTURE 31
FIGURE 9 SYSTEM ARCHITECTURE DEVELOPMENT 32
FIGURE 10 FUNCTIONAL DIAGRAM 33
FIGURE 11 USER PROFILE ENTITY 36
FIGURE 12 LIVESTREAM ENTITY 36 FIGURE 13 PLAYER PROFILE ENTITY 37 FIGURE 14 TRADING ENTITY 37 FIGURE 15 REVIEW ENTITY 38 FIGURE 16 TRANSFER ENTITY, 38 FIGURE 17 NOTIFICATION ENTITY 39
FIGURE 18 TRANSACTION ENTITY 39
FIGURE 19 CONVERSATION ENTITY, 40
FIGURE 20 MESSAGE ENTITY 40
FIGURE 21 ALBUM ENTITY 41
FIGURE 22 SERVICE(GAME) ENTITY 41
FIGURE 23 PLATFORM ENTITY 42 FIGURE 24 STYLE ENTITY 42 FIGURE 25 COLLECTION RELATIONSHIP DATABASE DIAGRAM 43 FIGURE 26 OVERVIEW USE CASE DIAGRAM 44
FIGURE 27 HOME PAGE USE CASE DIAGRAM 46
FIGURE 28 AUTHENTICATION USE CASE DIAGRAM 46
FIGURE 29 PLAYER INTERACTION USE CASE DIAGRAM 47
FIGURE 30 FEEDBACK USE CASE DIAGRAM 47
FIGURE 31 PAYMENT USE CASE DIAGRAM 48
FIGURE 32 MANAGE PROFILE USE CASE DIAGRAM 48 FIGURE 33 MANAGE LANDING PAGE USE CASE DIAGRAM 49 FIGURE 34 MANAGE NOTIFICATION USE CASE DIAGRAM 49 FIGURE 35 MANAGE TRANSACTION USE CASE DIAGRAM 50 FIGURE 36 MANAGE USER USE CASE DIAGRAM 50 FIGURE 37 MANAGE PLAYER’S REQUEST USE CASE DIAGRAM 51 FIGURE 38 DASHBOARD USE CASE DIAGRAM 51 FIGURE 39 COMMUNICATION USE CASE DIAGRAM 51 FIGURE 40 LIVESTREAM ACTIVITY DIAGRAM 53 FIGURE 41 PRIVATE ROOM ACTIVITY DIAGRAM - VIDEO CALL, SHARE SCREEN 55 FIGURE 42 REGISTER ACTIVITY DIAGRAM 57
FIGURE 43 LOGIN ACTIVITY DIAGRAM 60
FIGURE 44 FORGOT PASSWORD ACTIVITY DIAGRAM 62
FIGURE 45 DONATE TO PLAYER ACTIVITY DIAGRAM 64
FIGURE 46 RENT PLAYER ACTIVITY DIAGRAM 67
Trang 10FIGURE 47 UPDATE USER INFORMATION ACTIVITY DIAGRAM 69
FIGURE 48 UPGRADE TO THE PROFESSIONAL PLAYER ACTIVITY DIAGRAM 7
FIGURE 49 PRIVATE CHAT ACTIVITY DIAGRAM 73 FIGURE 50 DEPOSIT & WITHDRAW ACTIVITY DIAGRAM 75 FIGURE 51 MANAGE USER ACTIVITY DIAGRAM 80 FIGURE 52 STATISTIC ACTIVITY DIAGRAM 82 FIGURE 53 LIVESTREAM SEQUENCE DIAGRAM 83 FIGURE 54 PRIVATE ROOM SEQUENCE DIAGRAM 84
FIGURE 55 REGISTER SEQUENCE DIAGRAM 85
FIGURE 56 LOGIN SEQUENCE DIAGRAM 86
FIGURE 57 FORGOT PASSWORD SEQUENCE DIAGRAM 87
FIGURE 58 RENT PLAYER SEQUENCE DIAGRAM 88
FIGURE 59 DONATE TO PLAYER SEQUENCE DIAGRAM 89
FIGURE 60 UPGRADE TO PLAYER SEQUENCE DIAGRAM 90 FIGURE 61 UPDATE USER INFORMATION SEQUENCE DIAGRAM 91 FIGURE 62 PRIVATE CHAT SEQUENCE DIAGRAM 92 FIGURE 63 DEPOSIT SEQUENCE DIAGRAM 93 FIGURE 64 WITHDRAW SEQUENCE DIAGRAM 94 FIGURE 65 WALLET HISTORY SEQUENCE DIAGRAM 95
FIGURE 66 MANAGE USERS SEQUENCE DIAGRAM 96
FIGURE 67 STATISTIC SEQUENCE DIAGRAM 97
FIGURE 68 OVERVIEW CLASS DIAGRAM 98
FIGURE 69 ADMIN OVERVIEW CLASS DIAGRAM 99 FIGURE 70 USER OVERVIEW CLASS DIAGRAM 100 FIGURE 71 REGISTER CLASS DIAGRAM 108 FIGURE 72 LOGIN CLASS DIAGRAM 109
FIGURE 73 FORGOT PASSWORD CLASS DIAGRAM 111
FIGURE 74 RENT PLAYER CLASS DIAGRAM 112 FIGURE 75 DONATE PLAYER CLASS DIAGRAM 114 FIGURE 76 MANAGE PROFILE CLASS DIAGRAM 115 FIGURE 77 UPGRADE TO PLAYER CLASS DIAGRAM 117 FIGURE 78 PRIVATE CHAT CLASS DIAGRAM 119 FIGURE 79 WALLET CLASS DIAGRAM 121 FIGURE 80 MANAGE USERS CLASS DIAGRAM 123 FIGURE 81 STATISTIC CLASS DIAGRAM 127 FIGURE 82 USER STATE DIAGRAM 128 FIGURE 83 PLAYER STATE DIAGRAM 128 FIGURE 84 HOME PAGE 131 FIGURE 85 PLAYER LIVESTREAM PAGE 132 FIGURE 86 NOTIFY TO USER WHEN A PLAYER IS STREAMING (USER MUST FOLLOW PLAYER) 133 FIGURE 87 USING OBS APPLICATION TO STREAM 134 FIGURE 88 PLAYER IS STREAMING AND LIVE CHAT WITH THE OTHER PEOPLE 134 FIGURE 89 PRIVATE CHAT - USER CAN CHAT WITH EVERYONE 135 FIGURE 90 VIDEO CALL BETWEEN PLAYER AND RENTER IN PRIVATE ROOM 136
FIGURE 91 PLAYER SHARE SCREEN WITH RENTER IN PRIVATE ROOM 136
FIGURE 92 CHAT BOX IN PRIVATE ROOM 137
FIGURE 93 LOGIN PAGE 138
FIGURE 94 REGISTER FORM 139
Trang 11FIGURE 95 FORGOT PASSWORD 140
FIGURE 96 CHANGE PASSWORD 140
FIGURE 97 RENT PLAYER PAGE 141 FIGURE 98 PLAYER INTERACTION - RENT, FOLLOW, DONATE, CHAT 142 FIGURE 99 NOTIFICATION WHEN THE USER RENT A PLAYER 143 FIGURE 100 NOTIFICATION WHEN THE PLAYER ACCEPTS OR DECLINE A RENT REQUEST FROM
149
Trang 12LIST OF TABLES
TABLE 1 COMPETITORS ANALYST
TABLE 2 FUNCTIONAL REQUIREMENTS
TABLE 3 NON-FUNCTIONAL REQUIREMENT
TABLE 4 PREREQUISITES FUNCTIONALITY
TABLE 5 NON-PRIORITY FUNCTIONALITY
TABLE 6 OUTSTANDING FUNCTIONALITY
TABLE 7 LIST OF ACTORS
TABLE 8 LIST OF USE-CASES
TABLE 9 LIVESTREAM USE CASE SPECIFICATION
TABLE 10 PRIVATE ROOM USE CASE SPECIFICATION
TABLE 11 REGISTER USE-CASE SPECIFICATION
TABLE 12 LOGIN USE-CASE SPECIFICATION
TABLE 13 FORGOT PASSWORD USE-CASE SPECIFICATION
TABLE 14 DONATE USE-CASE SPECIFICATION
TABLE 15 RENT PLAYER USE-CASE SPECIFICATION,
TABLE 16 UPDATE USER INFORMATION USE-CASE SPECIFICATION
TABLE 17 BECOME PLAYER USE-CASE SPECIFICATION
TABLE 18 PRIVATE CHAT USE-CASE SPECIFICATION
TABLE 19 DEPOSIT & WITHDRAW USE-CASE SPECIFICATION
TABLE 20 MANAGE USER USE-CASE SPECIFICATION
TABLE 21 ADMIN STATISTIC USE-CASE SPECIFICATION
TABLE 22 LIVESTREAM CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 23 LIVESTREAM BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 24 PRIVATE ROOM CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 25 PRIVATE ROOM BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 26 USER CLASS DIAGRAM SPECIFICATION
TABLE 27 PLAYER CLASS DIAGRAM SPECIFICATION
TABLE 28 ADMIN PAGE BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 29 REGISTER CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 30 REGISTER PAGE BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 31 LOGIN CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 32 LOGIN BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 33 FORGOT PASSWORD CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 34 RENT CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 35 RENT PAGE BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 36 DONATE CONTROLLER CLASS DIAGRAM SPECIFICATION,
TABLE 37 PROFILE CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 38 PROFILE PAGE BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 39 REQUIRE CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 40 MESSAGES CLASS DIAGRAM SPECIFICATION
TABLE 41 PRIVATE CHAT CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 42 PRIVATE CHAT BOUNDARY CLASS DIAGRAM SPECIFICATION
TABLE 43 WALLET HISTORY CLASS DIAGRAM SPECIFICATION
TABLE 44 WALLET CONTROLLER CLASS DIAGRAM SPECIFICATION,
TABLE 45 WALLET PAGE BOUNDARY CLASS DIAGRAM SPECIFICATION
21 23 28 33 34 35 44
45 52 53 55
58 61 63
65 68 70 71
74 76 81 100 101 102 103 103 105
106 108
109 110 110 111 112 113 114 115 116
117 118 119
120 120 122 122
Trang 13TABLE 46 MANAGE CONTROLLER CLASS DIAGRAM SPECIFICATION
TABLE 47 TRANSACTION HISTORY CLASS DIAGRAM SPECIFICATION
TABLE 48 NOTIFICATION CLASS DIAGRAM SPECIFICATION
TABLE 49 STATISTIC CONTROLLER CLASS DIAGRAM SPECIFICATION
123 124
125 126
Trang 14Currently, Esports is considered an official sport, well-invested by coaches, managers, and public relations, Esports players can build their own communication channels through the
form of Livestream playing games and making professional videos to share Esport
knowledge with the community of players Because there are too few communities to exchange gamers, we have created a healthy exchange community for those who are passionate about esports such as chat, video call, share screen, and Livestream, Besides, the impact of the covid-19 pandemic is not small, many people have been unemployed because they cannot go to work during the quarantine period So, we created a new source
of income for everyone by becoming a pro and live streaming or being hired by others.
KEYWORDS
Web application, ReactJs, NodeJs, MongoDB, Cloudinary, Livestream, Communication, Job, Professional
Trang 15CHAPTER 1: INTRODUCTION
1.1 Problem
First, the COVID-19 pandemic has had a huge impact on the country's economy according
to the General Statistics Office's fourth quarter 2021 employment report The problem of
underemployment and the high unemployment rate is one of the urgent issues that people are concerned about On the other hand, due to social distancing, people-to-people interactions are decreasing, which has affected people's psychology and emotions Impact
of covid 19 on employment and unemployment:
e Many argue that, even if Vietnam was a relatively more resilient economy than most
other countries last year, many people still experience economic hardship The economic situation and difficulties are increasing due to the worsening domestic economic situation when the GDP growth rate in the third quarter is estimated to have decreased by 6.17% compared to the same period last year - the deepest decline
since Vietnam started operating Masculinity and quarterly GDP release
e The number of unemployed people of working age in the fourth quarter of 2021 was
more than 1.6 million, a decrease of 113.1 thousand people compared to the previous quarter and an increase of 369.2 thousand people over the same period last year The unemployment rate of working age in the fourth quarter of 2021 was 3.56%, down 0.42 percentage points over the previous quarter and up 0.93
percentage points over the same period last year The urban-age unemployment rate
was 5.09%, down 0.45 percentage points from the previous quarter and up 1.39 percentage points over the same period in 2019.
Moreover, enhancing the value of Esport even during the Covid-19 pandemic:
According to Newzoo (the world's largest game and eSports data statistics site), despite
being affected by the pandemic, global e-sports still witnessed impressive growth in size with revenue forecast in 2021 at about 1.1 billion USD Southeast Asia is still a "hot"
region with the largest growth rate in audience growth compared to other regions in the world (about 20.8% annually).
It can be easily seen that, as people strictly follow the regulations of social distancing, limit going out, and stay at home more, the number of spectators and fans of e-sports also tends
to increase increase due to increased demand for entertainment content, of which eSports
is an attractive option This is a great opportunity to bring eSports closer to audiences and
fans, not only those who have already watched or played a particular eSports game but also
a large new audience with access to e-sports.
Trang 161.2 Motivation and purpose
N Tot Highest Paying Game Total (6 Total
Nguyén, Quéc Huy $223,635.70 ‘Arena of Valor $223,6 100.00%
XB Trần, Xuân Bách $206,796.41 ‘Arena of Valor $206,796.41 100.00%
QuangHai Nguyén, Quang Hai $204,515.47 Arena of Valor $204,515.47 100.00%
ADC Trần, Đức Chiến $193,929.17 ‘Arena of Valor $193,929.17 100.00%
BirdLB Nguyễn, Văn Hiếu $192,575.43 Arena of Valor $192,575.43 100.00%
Trần, Quang Hiệp $187,214.24 Arena of Valor $187,214.24 100.00%
Nguyễn, Quốc Hân $186,483.70 Arena of Valor $186,483.70 100.00%
Lâm, Văn Hoang $179,912.43 Arena of Valor $179,912.43 100.00%
Pham, Hồng Quân $173,059.25 ‘Arena of Valor $173,059.25 100.00%
Đặng, Huynh Trường $170,430.82 Arena of Valor $170,430.82 100.00%
LiemLe Lê, Quang Liêm: $159,369.29 thess24 $148,974.29 93.48%
SofM Lê, Quang Duy $157,297.95 League of Legends $157,297.95 100.00%
Bangg Thóng, Lai Bang $143,543.59 ‘Arena of Valor $143,543.59 100.00%
'ĐatKòili Dinh, Tiến Đạt $132,091.21 Arena of Valor $132,091.21 100.00%
Red Pham Vũ, Hoài Nam $115,473.44 Arena of Valor $115,473.44 100.00%
RAMBO Bui Đình Văn $98,949.96 ŒossFire $98,949.96 100.00%
Leviz Nguyény Hi Doar $89,475.63 PLAYERUNKNOWN'S BATTLEGROUNDS $89,475.63 100.00%
Lamborghini Vi, Hoang Hưng $89,196.57 PLAYERUNKNOWN'S BATTLEGROUND $89,196.57 100.00%
Beo Nguyén, Anh Quan $87,198.27 Free Fire $87,198.27 100.00%
Shin Nguyén, Ngoc Tram $86,942.03 Free Fire $86,942.03 100.00%
Figure 1.
Creating motivations for job opportunities, stabilizing the lives of players in need; Creating
livelihoods for players to find jobs, and increase income to ensure life; policies for players
to participate in training, retraining, skill improvement, and career change as well as several propaganda measures and instructions on appropriate health protection, helping to create psychological peace of mind, return to work for players during difficult times due to covid
19.
Trang 17VETO = dection tab
Cách thức tương tác khi chơi game
Thông qua các ứng dụng nhắn tin mm 123%
Tôi chơi một minh Tôi chơi một mình và Tôi va bạn của tôi Tôi chơi một
và tương tác với tương tác với những người chơi với nhau trong mình với bot
bạn bè qua mạng chơi khác trên mang cùng một không gian máy tính
Figure 2 Human interaction in Viet Nam esport by Vero
Creating a space and environment suitable for person-to-person communication (texting, calling, or video calling) Helping people with contact phobia, social anxiety, autism, and
stress excess,
Trang 181.2.1 Terms of Esports
Esports Audience Growth
Global | For 2020, 2021, 2022, and 2024
2020 2021 2022 2025
Due to rounding, esports enthusiasts and occasional viewers do not add up to the total audience in 2022.
©Newzoo | April 2022 Global Esports and Live Streaming Market Report
newzoo.com/esports-report
Figure 3 Esport Audience Growth - global 2020,2021,2022 and 2024
Esports Revenue Growth
Global | For 2020, 2021, 2022, and 2024
Trang 19BOERS lun PO"
Choi - Xem - Choi - Xem - Choi - Stream Chi Choi Xem - Stream - Chi Xem Chi Stream
Stream Không Stream - Không Xem Không Chơi
Figure 5 Esport Audience in Viet Nam national
Trang 20Although the COVID-19 epidemic is still happening in most countries around the
world, major eSports events are still held in the form of online or a combination oflive and online like the big tournaments: LCK, LPL with League of Legends orSoutheast Asian tournaments for Mobile Union, Free Fire, League of Legends: Wild
Rift, PUBG Mobile.
Even in Vietnam, the tournament system is also maintained, including professionaltournaments hosted by prestigious units such as VCS Spring 2021; Arena of Famespring 2021; League of Legends: Wild Rift Icon series; PUBG mobile PMPL S3;CrossFire Vietnam Championship for Crossfire The most recent is the VietnamQualifier of the IESE World Championship 2021 to select Vietnameserepresentatives to compete in the regional round and the world final round at the end
of the year
To build a professional development of Vietnam's e-Sports, high achievements,worthy of the region and the world Rent Me has helped bring talent to the bigtournament, as well as the big tournaments can find talent on Rent Me
In conclusion, our biggest motivation when building this website was:
Create a healthy gaming community
Create job opportunities, earn more personal income
Create talented gamers
1.3 About Rent Me
Rent Me is an online website platform that helps people who have problems due to theimpact of the Covid-19 epidemic and Esport revolution in the future, can:
Applying soft skills, the ability to master the game to earn extra income in their free
time, help them overcome the difficult epidemic period
Expanding online relationships, thereby serving as a foundation for training
important soft skills such as communication, negotiation,
To increase the value of the e-sports sector and to open new domestic andinternational markets, hire professional athletes
Players that seek fame and fortune on Rentme may also be KOLs looking to increasetheir notoriety in the gaming industry
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 21CHAPTER 2: REQUIREMENT SPECIFICATION
2.1 Situation survey
2.1.1 Competitors survey
Table 1 Competitors analyst
- Can find alot of amazing | - Boosted girls, no agepeople to play games with or | verification for epals,
chat no support team,
- The staff can be extremely | nobody cares about
helpful and do try their best | reports
a great concept justignores | - The website hasthe trolls and time wasters security problems and
- The best way to earn cash | bad ownersand support gamers
- A growing companylearning from their mistakes |
Great freelance opportunitiesGame player
for users
community
- Pioneer in building a - The live stream
Hiring platform feature has not been
- Used by many streamers as | integrated into the
a donation portal (can earn website
extra income) - Difficult to use and
Playduo - Build a large user account settings
community through social - Many faulty,
channels unnecessary, disruptive
functions
- The interface is not
Trang 22- Large idol community
interface to come across witheasy access to all the featuresand gives the best marketingavailable to reach to
maximum audience
- Have lowered the requiredthreshold for mobile
streaming for creators
a large variety and thequality of the video
- The best live broadcasting
app
- Good customer serviceeasy for use Facebook livestreaming and YouTube livestreaming
purchase of cash
"tallows,
- There is no utility tohire idols, streamers, or
players yet.
- Go Live button willappear through an errormessage and preview
player will not provide
a video feed to see inlow quality This will
be a problem to checkthe far-away video feedfrom OBS, Zoom, andWebex
- Watch a lot of ads andcan't react
Very Poor Server
-Recorded Live StreamGot Disconnected After
Trang 23Nền tảng stream game được yêu thích nhất
Figure 7 Stream platform competition in Viet Nam - 2021
2.1.2 Rent Me - makes a difference
Rent Me is a combination of a Game player community platform and a Game Livestreamplatform to provide the best user experience
Like the survey of existing competitors in the market, we can see that most game player
community platforms do not have the livestream function, and Livestream platforms willnot have their own communication function between players
Therefore, Rent Me creates a feature the "private room" used to interact between users and
players - this is a feature that almost some websites such as Playerdou, Epal, and Nimotv,
do not have for users can use Moreover, the private room feature including camerasharing, screen sharing, and chat can be used as a room that users use to coach onlinetogether More, Rent Me has developed the Livestream feature This is the function used
to make the User - the player role want to share the Livestream and notify all those whoare following them right on the website It helps to fix some websites that can't let userswatch live videos when using them
2.2 Functional requirements
Table 2 Functional requirements
es ee —
As auser,I want | - The system must allow users to register by
Register to create a new entering their Username, Full Name,
account Password, Confirm Password, and Email.
user, I want to be | account by entering their Username andable to log into my | Password and clicking the captcha
Trang 24account - The system must allow users to log in with
their Google accounts
- The system must allow users to log in withtheir Facebook accounts
As auser already | - The system must allow users to log out of the
As an existing - The system must allow users to reset theiruser, I want to password by clicking on "Forgot Password"
reset my password | and receiving a code to their verified email
when I forget address.
As an existing - The system must allow users to change theiruser, I want to password by entering the valid Old Password,change my New Password, and Confirm New Password
password
- The system must allow users to view the list
of players by clicking on “Rent Players”
- The system must allow the user to filtersearch for other players by classification:
GenderAccount Status (online, offline, default)Rent range (price)
As a user, I want Age range
to view thehome | - The system allows the user to search otherpage players by account ID, username, and game
title
- The system allows users to view the landing
page of other players
- The system must allow users to view PrivacyPolicy
- The system must allow users to view AboutUs
- The system must allow users to follow the
Trang 25interaction to interact with the | player by clicking on “Follow” button.
player that I had - The system must allow users to unfollow the
inputting rent time (hours)
- The system must allow users to donate to theplayer by clicking on the “Donate” button andentering the amount users want to donate
- The system must allow users to contact theplayer by clicking on the “Chat” button
As arenter, I want | - The system must allow users to input to that
to feedback to the | player by entering comments and rates startingplayer that I had after rent
rentedFeedback
- The system must allow users to deposit
money into the wallet from a bank account
- The system must allow users to deposit
As auser,I want | money into the wallet from zalo pay
to deposit and - The system must allow users to depositwithdraw on the money into the wallet from momo
system - The system must allow users to withdraw
money from wallet to bank account
- The system must allow users to viewpayment history
- The system must allow users to update theiravatar by clicking upload file
- The system must allow users to update their
As a user, I want information by editing the full name,
Manage profile | to manage my nickname, date of birth, city, gender and click
profile on save button
- The system must allow users (who are notplayer) to upgrade to the player by enteringgame info, bio, rent price, avatar, gallery
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 26As an admin, I
Manage users | want to manage
users
- The system must allow players to update
their avatar by editing player format
- The system must allow players to update
their gallery by editing player format
- The system must allow players to updatetheir bio by editing player format
- The system must allow players to updatetheir rent price by editing player format
- The system must allow players to view theiroutstanding achievements by editing player
- The system must allow users to accept rentrequest by clicking the confirm button on
Trang 27As an admin, IManage
- The system must allow the admin to browse
requests to update landing page
- The system must allow the admin to viewstatic revenue
+ Statistics of deposit/withdrawal by
week-monthStatistics of duo income by week-month
+ Statistics of donation income by
week-month
- The system must allow the admin to export
data (user list, player list, total income, )
- The system must allow users to chat with theother user or admin in private chat
- The system must allow users to chat with
- The system must allow users to use multiplelanguage (VN - EN)
Trang 28mode (day - night)
2.3 Non-functional requirements
Table 3 Non-functional requirement
mm — —
- The RentMe database should be restructured to be searchable by
name, gender, nickname, hometown, and year of birth.
Operational ; : ee
- Website can be run on all browsers (including internet explorer)
- All data input and output screens should be ready to be displayed
to the user within 3 seconds, if the client/server connection and
loading are normal, namely:
+ For input screens: up to 30 data fields, no complex data
calculations, no interaction with external systems, can storedata directly to the DB, and no large content files such asimages, videos, or files over 3MB
For the output screen: data is queried directly from the DB,
Performance limiting complex queries, and queries from external systems
Displays up to 50 rows of data, up to 10 columns each, andeach data is less than 100 characters in length
Normal load condition: 30 CCUs (concurrent user) withoutload balancing
Minimum server requirements: Intel Core i5, 4GB RAM,500GB hard disk
Client/ Server Connection: 500KB/s
- The site can handle 500 requests at a time
- User information (renter) must be confidential
- Payment information will be encrypted and secure
Security - The system will deactivate 30 minutes if the user enters the wrong
password 5 times in a row
- User password must be hashed with bcrypt, scrypt, or argon2
Trang 29- When the user makes an online payment, the system is not allowed
to store the user's credit/debit card information
- Minimize the impact of new users on the screen so they canbecome a Player on the system as quickly as possible
- Minimize the renter's actions on the screen so they can perform
player rental 4.3 The system must make the user proficient within
30 minutes
- Error Tolerance is extremely low, check the data type right on each
field, and immediately warn if there is an error, do not force the user
to enter it again and again
- The system must ask for confirmation (Y/N) for data deletionoperations
- Must be vertical scrolling, minimize horizontal scrolling
- The entire drop-down list must be arranged in A-to-Z order andascending numbers
All JavaScript code must be written according to coding convention
camelCase for variables, Pascal Case for classes and functions
The system must be operated 24/7, upgraded at most once, within 3months, downtime per year should not exceed 1 hour
- Capable of developing more live-streaming features
- Possibility to develop more online chat channel feature that allows
the streamer to communicate with viewers
- Can expand to many different areas (hire someone else to dosomething other than play the game with)
- Distributed database.
- All data must be integrated via API
- API must return results in JSON or XML
- Block all accounts with racist, anti-state behavior, and threateningbehavior to blackmail players
- Do not post images with violent or offensive elements
Trang 30========= ÂÄ_ _
Trang 31CHAPTER 3: ANALYSIS AND DESIGN
Figure 8 System architecture
Look at figure 8, the Code will be implemented and developed on the developer side andhosted in a GitHub environment The code will then be moved to the Linode server or usethe GitHub action to build, test and deploy the code Then for each type of frontend orbackend, the server will deploy the corresponding code
On the frontend side, use the react framework to build the website Besides, combined withsocket.io to do real-time function, use redux to manage the data of the website
On the backend, use NoSQL - MongoDB to manage and build the database Use 3rd libraryCloudinary to store images of the website
In addition, both frontend and backend use docker for packaging for deployment purposes
On the user side, they will access the website safely thanks to Cloudflare and Reverse
Proxy protection
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 32dene eee
r4 Dann
cd 6 a ee a s;2590060 sec Sey
Figure 9 System architecture development
Look at figure 9, we realize that the website has a lot of things to improve such as limited
resources, and the performance of the website is still slow, So, we want to use the:
e AWS - Amazon Web Service as S3 storage to store more information (such as
images, and customer information)
e Load balance service to improve website performance and reliability In addition, it
also helps to allocate traffic automatically to the application across multiple
services.
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 333.2 Functional diagram
Figure 10 Functional diagram
Rent Me is divided into 14 functional groups with 50 features which will be divided into
3 different priority levels:
Decline rent request
Browse requests to upgrade to player
M t (only for adanage request (only for admin) Browse request to update landing page
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 34Update game informationUpdate outstanding achievements
wes Mark notifications as read
Manage notification ¬
Delete notifications
View transactions Manage transaction
Trang 35Dashboard Statistic revenue
Communication Private chat
Private room (Call, video call, share screen)Livestream chat
Group chat
a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .
Trang 37videoLink
—
Cm)
Figure 13 Player profile entity
Figure 14 Trading entity
Trang 39Figure 17 Notification entity
paymentMethod
timestamps
Figure 18 Transaction entity
a