1. Trang chủ
  2. » Tất cả

Đề tài research blockchain and build blockchainbased real estate martketplace application

96 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Research Blockchain and Build Blockchain-Based Real Estate Marketplace Application
Tác giả Nguyễn Xuân Hưng, Trương Hưng Huy
Người hướng dẫn PhD. Nguyễn Trịnh Đông
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Software Engineering
Thể loại Đồ Án
Năm xuất bản 2022
Thành phố TPHCM
Định dạng
Số trang 96
Dung lượng 7,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. General Introduction (7)
    • 1.1 Team Information (7)
    • 1.2 Project Information (7)
      • 1.2.1 Project Introduction (7)
      • 1.2.2 Research Scope (8)
      • 1.2.3 Research Content (9)
      • 1.2.4 Targeted Results (9)
    • 1.3 Tools (9)
  • 2. Theoretical foundations and related studies (10)
    • 2.1 Blockchain (10)
      • 2.1.1 General (10)
      • 2.1.2 Smart Contract (11)
      • 2.1.3 Token ERC-20 (Fungible token) (12)
      • 2.1.4 Token ERC-721 ( Non-Fungible tokens) (13)
      • 2.1.5 Difference between Non-Fungible Token (NFT) & Fungible Token (FT) (15)
    • 2.2 What is Web3? (15)
      • 2.3.1 Main components (18)
      • 2.3.2 Functionalites (19)
      • 2.3.3 Reason to use Flutter? (20)
      • 2.3.4 Features of rapid development of applications (20)
  • 3. Functional Requirement (22)
    • 3.1 Domain diagram (22)
    • 3.2 Actor list (22)
    • 3.3 Use case view (23)
      • 3.3.1 Authentication (23)
      • 3.3.2 View report (26)
      • 3.3.3 Staff management (28)
      • 3.3.4 Real Estate (30)
    • 3.5 Process View (34)
      • 3.5.1 System Sequence Diagrams (34)
      • 3.5.2 System Activity Diagrams (55)
  • 4. Database design (75)
    • 4.1 Entity Relation Diagram (75)
    • 4.2 Relations (75)
      • 4.2.1 RealEstates table: Real estate information (75)
      • 4.2.2 Users table: User information (77)
      • 4.2.3 RealEstatePriceHistories table: Real estate’s price history information (77)
      • 4.2.4 RealEstatePost table: Real estate post information (77)
      • 4.2.5 RealEstatePostType table: Real estate post type information (78)
      • 4.2.6 RealEstateType table: Real estate type information (78)
  • 5. User inferface design (79)
    • 5.1 List of screens (79)
    • 5.2 Screen Description (80)
      • 5.2.1 Login Screen (80)
      • 5.2.2 Sign up Screen (81)
      • 5.2.3 Home Screen (82)
      • 5.2.4 Notification Screen (83)
      • 5.2.5 Message Screen (84)
      • 5.2.6 Discover Screen (85)
      • 5.2.9 Profile Screen (90)
      • 5.2.10 Setting Screen (91)
      • 5.2.11 Privacy Screen (92)
      • 5.2.12 Past tour screen (93)
      • 5.2.13 Edit Profile Screen (94)
  • 6. Technology used, installation and functional perfection (95)
    • 6.1 Technology used (95)
    • 6.2 Installation and test environment (95)
    • 6.3 Functional perfection (95)
  • 7. Conclusion (96)
    • 7.1 Summary (96)

Nội dung

User click “Logout button” Exception The system returns an error if Pre-condition or Post-condition are not met 3.3.1.3 Reset password Description All user can reset pass of acocunt p

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA

blockchain-Lecturer:

PhD.Nguyễn Trịnh Đông

Students:

19521578 – Nguyễn Xuân Hưng

19521638 – Trương Hưng Huy

TPHCM, 12 – 2022

Trang 2

Assessment

Trang 3

THANKS

I would like to thank Mr Nguyen Trinh Dong, Lecturer of the Faculty of Software Engineering for creating conditions and opportunities to help my team in the process of building and realizing this course project In the past time, thanks to your guidance, my group has gained certain knowledge and definitions to complete the report in the best way However, in the process of researching and implementing the project, with limited time, knowledge and experience, it is difficult to avoid mistakes, looking forward to receiving your comments to accumulate lessons learned experience for better project implementation

Once again, my team would like to thank Mr

Trang 4

Table of content

1 General Introduction 6

1.1 Team Information 6

1.2 Project Information 6

1.2.1 Project Introduction 6

1.2.2 Research Scope 7

1.2.3 Research Content 8

1.2.4 Targeted Results 8

1.3 Tools 8

2 Theoretical foundations and related studies 9

2.1 Blockchain 9

2.1.1 General: 9

2.1.2 Smart Contract 10

2.1.3 Token ERC-20 (Fungible token) 11

2.1.4 Token ERC-721 ( Non-Fungible tokens) 12

2.1.5 Difference between Non-Fungible Token (NFT) & Fungible Token (FT) 14

2.2 What is Web3? 14

2.3.1 Main components 17

2.3.2 Functionalites 18

2.3.3 Reason to use Flutter? 19

2.3.4 Features of rapid development of applications 19

3 Functional Requirement 21

3.1 Domain diagram 21

3.2 Actor list 21

3.3 Use case view 22

3.3.1 Authentication 22

3.3.2 View report 25

3.3.3 Staff management 27

3.3.4 Real Estate 29

3.4 30

3.5 Process View 33

3.5.1 System Sequence Diagrams 33

3.5.2 System Activity Diagrams 54

4 Database design 74

4.1 Entity Relation Diagram 74

4.2 Relations 74

4.2.1 RealEstates table: Real estate information 74

4.2.2 Users table: User information 76

Trang 5

4.2.3 RealEstatePriceHistories table: Real estate’s price history information 76

4.2.4 RealEstatePost table: Real estate post information 76

4.2.5 RealEstatePostType table: Real estate post type information 77

4.2.6 RealEstateType table: Real estate type information 77

5 User inferface design 78

5.1 List of screens 78

5.2 Screen Description 79

5.2.1 Login Screen 79

5.2.2 Sign up Screen 80

5.2.3 Home Screen 81

5.2.4 Notification Screen 82

5.2.5 Message Screen 83

5.2.6 Discover Screen 84

5.2.9 Profile Screen 89

General Description and handle of screen events 89

Profile screen includes: 89

- Recently viewed Button 89

- Button “My favorites” 89

- Button “Past Tour” 89

- Button “My listings” 89

- Button “Setting” navigate to Setting screen 89

5.2.10 Setting Screen 90

General Description and handle of screen events 90

Setting screen includes: 90

- Button switch change “Notification” 90

- Buttin switch theme “Dark Mode” 90

- Button change language of app 90

- Some button show information about privacy 90

5.2.11 Privacy Screen 91

General Description and handle of screen events 91

Privacy screen includes: 91

- Show all information abount app 91

5.2.12 Past tour screen 92

General Description and handle of screen events 92

Past tours screen includes: 92

- Show list all past tours 92

5.2.13 Edit Profile Screen 93

General Description and handle of screen events 93

Edit Profile screen includes: 93

- Textfiled input edit fullname 93

- Textfiled input edit email 93

- Textfiled input edit address 93

- Textfiled input edit password 93

- Button “Save change” to save all information want to change 93

6 Technology used, installation and functional perfection 94

6.1 Technology used 94

6.2 Installation and test environment 94

6.3 Functional perfection 94

7 Conclusion 95

7.1 Summary 95

Trang 6

7.1.1 Advantages 95

Trang 7

1 General Introduction

1.1 Team Information

Group contains two members:

- Member 1 : Nguyễn Xuân Hưng MSSV 19521578

Class : PMCL2019.2 Email : 19521578@gm.uit.edu.vn

- Member2 2 : Trương Hưng Huy MSSV 19521638

Class : PMCL2019.2 Email : 19521638@gm.uit.edu.vn

1.2 Project Information

Blockchain is the current technology trend and is applied in many different fields and industries Large countries or enterprises spend a lot of effort and finance to research blockchain technology with the desire to create practical and highly secure products

The rapid development of Blockchain technology in recent years has been gradually changing the face of many fields and industries in life Not out of that trend, real estate is also changing day by day with what Blockchain technology brings This can completely be a "spring" strong enough to help Vietnam's real estate market accelerate in the digital technology era

Blockchain is considered as a ledger in the digital field, managed by a decentralized network Because of that, Blockchain has outstanding advantages compared

to previous platforms such as: Immutability (cannot be repaired), cannot be faked, digitize contracts, high security thereby creating Absolute transparency for transactions

Perhaps it is not difficult to realize the advantages that Blockchain technology possesses that can easily solve "difficult problems" in the traditional real estate field for a long time:

Not for everyone: Dozens of barriers from finance, banking, quality control

make real estate has long been considered a game not for everyone

Transparency: Transparency in traditional real estate activities is always

questioned when cases of corruption, tax evasion and money laundering still

Trang 8

occur every year

High cost: There are countless fees incurred during real estate transactions

such as exchange fees, transfer fees, brokerage fees, attorney fees, etc

Transaction speed: A lot of procedures and paperwork make real estate

transactions often take place extremely slowly Besides, there is the lack of liquidity, the accessibility of those in need

The "difficult problems" are easily solved, so it will not be difficult to understand when the applications of Blockchain technology in the real estate field are increasing It would not be an exaggeration to say that Blockchain technology is bringing a real revolution to the real estate industry

This study focuses on the basic functions of real estate marketplace:

- Posting for rent/sale of existing real estate based on blockchain technology

- Search real estate

- Show following real estate

Trang 9

1.2.3 Research Content

Research covers blockchain concepts, introduction to cryptocurrency wallets, concepts of ERC20 (Token), ERC721(NFT), how to deploy contracts on a simple blockchain network

- Blockchain knowledge

- Interact with contracts deployed on the blockchain network

- Successfully built a cryptocurrency real estate marketplace

Trang 10

2 Theoretical foundations and related studies

Each block contains information about its creation time and is linked to the previous block, along with a timecode and transaction data Once the data is accepted by the network, there is no way to change it Blockchain is designed to resist fraud and alteration of data

2.1.1.2 How Blockchain works?

Blockchain is a combination of 3 technologies:

- Cryptography: to ensure transparency, integrity and privacy, Blockchain technology uses public key and hash function

- Peer-to-peer network: Each node in the network is considered as a client and also a server to store a copy of the application

- Game theory: All nodes participating in the system must comply with the rules of the consensus game (PoW, PoS, ) and are driven by economic motivation

Blockchain systems are divided into 3 main types:

- Public: Anyone has the right to read and write data on the Blockchain The process

of validating transactions on this Blockchain requires a lot of participating nodes Therefore, to attack this Blockchain system requires a huge cost and is really not feasible For example: Bitcoin, Ethereum, etc

- Private: Users are only allowed to read data, not write because this belongs to an absolutely trusted third party Since this is a Private Blockchain, the transaction confirmation time is quite fast because only a small number of devices are required to participate in the transaction validation For example, Ripple is a form

of Private Blockchain, this system allows 20% of nodes to be fraudulent and only the remaining 80% is stable

- Permissioned (also known as Consortium): a form of Private but adds some other features, this is a combination of Public and Private Example: Banks or joint venture financial institutions will use their own Blockchain

Trang 11

2.1.2 Smart Contract

Smart Contracts are programs that run on the blockchain A smart contract is like a digital contract that is enforced by a specific set of rules These rules are predefined by computer code that all nodes in the network must copy and enforce

In essence, Smart Contract is just a piece of code that runs on a distributed system (blockchain), allowing the creation of Permissionless protocols (ie without authorization)

Trang 12

2.1.3 Token ERC-20 (Fungible token)

ERC20 is a technical standard used to issue and deploy tokens on the Ethereum network, a form of Fungible Token ERC20 provides developers with a list of rules that must be followed allowing ERC20s to work seamlessly within the Ethereum platform

Applications:

- The contract structure of ERC20 includes six mandatory functions: totalSupply, balanceOf ,transfer, transferFrom, approve and allowance In addition, there are optional functions such as name, symbol and decimal

- By combining all the above functions, we were able to create ERC20 tokens We can query the total supply, check balances, transfer funds and authorize other DApps to manage our tokens

Each ERC20 token is interchangeable, i.e each unit has equivalent usability and value If you hold 1 USDC, it doesn't matter which particular token you hold You can trade it, exchange it with other people's tokens and they are still functionally identical, just like going to the market to buy fish and meat, you can pay with any amount of 10,000 VND

This is very beneficial, if your token has the goal of becoming a currency of some kind You don't want individual units to have distinct characteristics, as this makes them non-interchangeable This can make some tokens more or less valuable than others, undermining their intended use

Trang 13

How it works:

- In simple terms, Smart Contract acts as a deterministic program Smart Contracts will execute a specific task in case certain conditions are satisfied Therefore, a Smart Contract system usually follows "if…then " statements

- On the blockchain network, Smart Contracts are responsible for executing and managing the activities that take place on the blockchain when users (addresses) interact with each other Any address that is not a smart contract is called an Externally Owned Account (EOA) Therefore, the smart contract will be controlled by the computer and the EOA controlled by the use

- Ethereum Smart Contract consists of one contract code and two public keys:

o The first public key is the one provided by the contract creato

o The other key represents the contract itself, this key acts as a unique digital identifier for each Smart Contract

Smart Contracts are implemented via blockchain transactions and they are only activated when an Independent Account (EOA) or other Smart Contracts call them However, the first trigger is always from the EOA (user) side

ERC721 is a widely used NFT (Non-Fungible Token) token standard, it is a more complex token standard than ERC20, with many custom extensions

Trang 14

ERC-721 was created by four developers William Entriken, Dieter Shirley, Jacob Evans and Nastassia Sachs in 2018

Applications:

- Digital Art

- Collectibles

Trang 15

2.1.5 Difference between Non-Fungible Token (NFT) & Fungible Token (FT)

Fungible Token (FT) can be understood as each token is identical, interchangeable and divisible Trustworthy assets in daily use such as US dollars, Bitcoin, Ethereum,

Vietnamese dong, etc can all be considered as interchangeable assets

NFT extends the concept of “non-fungible” by leveraging the Ethereum blockchain to represent unique physical or digital assets NFT ownership is validated and

tracked using a public blockchain

NFT has many use cases It could be a digital asset in a game, a collectible piece

of cryptographic art, or even a real-world object like real estate, etc

2.2 What is Web3?

Web 3.0 is the coming third generation of the Internet where websites and applications

will be able to process information in a human-like intelligent way through technologies

like machine learning (ML), Big Data, decentralized ledger technology (DLT), etc

Originally, Web 3.0 was called the Semantic Web by the inventor of the World Wide

Web, Tim Berners-Lee, and it aimed to be an autonomous, intelligent internet, and more

open

The Web 3.0 definition can be extended as follows: data will be interconnected in a

decentralized manner This would be a huge step up from our current internet generation

(Web 2.0), where data is mostly stored in centralized repositories

Furthermore, users and machines will be able to interact with the data But to do this,

programs need to understand information both conceptually and in context With this in

mind, Web 3.0 has two platforms, semantic web and artificial intelligence (AI)

Trang 16

2.2.1 Breakthroughs

Web 3.0 inherits the good features of Web 2.0 and has additional elements to help solve the limitations of Web 2.0 including:

- Verifiable: Everything is transparent and verifiable on-chain

- Trustless & Permissionless: Minimize the factors related to trust and anyone

can participate

- Self-Governing: User-centered, users themselves have full rights to their

information and assets

- Distributed: Power is distributed to users and decisions will be made and

implemented by decentralized autonomous organizations (DAOs) All cannot

be controlled by some centralized organization

- Native built-in payments: Web 3.0 applications do not require users to provide

personal information and cannot prevent user payments and transactions

Looking at the above characteristics, do you see similarities between the things that Web 3.0 brings and the blockchain brings? It's no coincidence that blockchains have grown so powerful, they were an integral part of the birth of Web 3.0 It can be said that thanks to blockchain, there is Web 3.0 and thanks to Web 3.0, blockchain can develop

Trang 17

Just a Non-Custodial wallet, we can send money to anyone anywhere in the world

- Thanks to DeFi we can deposit money in the bank without having to go to the bank while the interest rate is better, we can borrow without looking at the creditor's face, we can optimize profits by rotating capital or farming

- Thanks to the Play to Earn and NFT games, the player's in-game property is the player's and cannot be destroyed, and also generates a source of income from the game

- There are many other breakthroughs waiting to be discovered

Despite its huge potential, it must be admitted that Web 3.0 is still in its infancy Some limitations can be mentioned as:

- Scalability: There is still a big gap between Web 2.0 and Web 3.0 in terms of

scalability, processing speed, cost,

- UX: User experience is still not really good because to participate in Web 3.0

products like Crypto, users need to learn new knowledge, download new software and manipulate many different steps This is a barrier to mass-adoption

- Accessibility: Applications are mostly built independently rather than integrated

with popular and familiar Web 2.0 applications, reducing accessibility to users

- Cost: The cost to develop a project is very expensive, dapps often have difficulty

putting code on the blockchain because of Ethereum's gas fees or the cost of auditing is also very high

Although there are limitations, they are all being gradually overcome The fact that it is still at an early stage and there are many problems to be solved also means that many opportunities are opened for people who believe in the future of Web 3.0 and develop related products

Trang 18

2.3 What is Flutter?

As we mentioned in the introduction, this platform is used to develop phone software But that is not the complete definition of this platform Flutter is known as a platform to support software development, mobile applications Cross-platform applications for iOS and Android operating systems developed by Google Corporation It is very commonly used today in the programming world Flutter's mission is to create native apps for Google This is the most complete definition to answer What is Flutter?

Flutter consists of 2 important components:

- An SDK (Software Development Kit): A collection of tools that will help you develop your applications This includes tools to compile your code into native machine code (code for iOS and Android)

- A Framework (UI Library based on widgets): A set of reusable UI components (buttons, text inputs, sliders, etc.) that you can personalize according to your own needs

Trang 19

These are the two main components that answer the question of what is the most important component of Flutter Most of today's web or application building platforms

contain frameworks Depending on the purpose of the platform and the user, this

framework may vary However, in general, the features it brings are really effective

After learning about the definition and components of Flutter, we think that functionality is also very important Programmers before using this platform should also know what Flutter features are?

For programming experts, Flutter is considered as a react framework It is really powerful and convenient to use to develop background apps for Google This platform

also uses a fairly easy to understand programming language called Dart Even new

programmers can grasp and use this programming language

Trang 20

Not only that, Flutter supports rapid development of application software with flexibility The user interface is easy to understand and beautiful This is also the highly appreciated point in Flutter's features Also, when it comes to what Flutter features are

We cannot help but mention that it can support many different widgets Flutter can also

be represented on a completely different platform

The last feature we have to mention is high and fast working performance

Programmers appreciate these features of Flutter It is really effective in developing native apps for Google and background apps Perhaps because of these outstanding

features, Flutter is chosen by many programmers

After surveying developers, we came up with a lot of reasons to use Flutter Not just generic because Flutter is effective More than that, it has compelling reasons for programmers to use

This is one of the features we mentioned above However, it is really a compelling reason for users to choose Flutter has a lot of hot reload features Users can experience a lot faster and easier than other platforms This is the answer to the question of why should you use Flutter? You should consider this

Trang 21

Not to mention, the ability to build interfaces and quickly fix bugs for users These are convincing features to help users develop apps easily The reload experience

is also very easy, no loss of state on emulator, simulator and device for both iOS and Android

Trang 22

3 Functional Requirement

3.1 Domain diagram

3.2 Actor list

1 Board of Directors Managing the business activities synthesized from the report of Staff

2 Buyer End user of the system, who has the demand of buying real estate

3 Seller End user of the system, who has the demand of selling real estate

4 Agency End user of the system, who want to connect buyer and seller

5 System Admin In charge of all the business related to the real estate field (managing listing for sales, )

6 Staff In charge of customer care, answer customer’s question

Trang 23

7 Third party Provide maps service, advertisement banners

3.3 Use case view

3.3.1.1

Login

Trang 24

Description All User of the system can login in to the system to use any feature

Pre-condition • User need to input phone number and password

• All input should match validate without error message

Post-condition • User record match the user phone number found

• Password must match password record in user record

Flow of event 1 User navigate to login screen

2 User input phone number and password

3 Submit form login

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.1.2

Logout

Description All user can logout of the system

2 User click “Logout button”

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.1.3

Reset password

Description All user can reset pass of acocunt

password

2 User input phone number

Trang 25

3 Click send code to phone number

4 Input code receive from phone number

5 Input new password

6 Click reset password

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.1.4

Change password

Description All user can change password of acocunt

password

2 User input phone number

3 Click send code to phone number

4 Input code receive from phone number

5 Input new password

6 Click reset password

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.1.5

Register

2 User input phone number and password

3 Click register button

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 26

3.3.1.6

Statistical

Description User can see the report statistic has been generate

Pre-condition

Post-condition

2 Show list report on screen

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.2.1

Generate report

Trang 27

Description User can generate the report statistic

Pre-condition Post-condition

2 Click “Generate” button

3 Choose month for report

4 Click “Ok” button

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.2.2

Export report

Use case name Export report

Description User can export the report has been generate on statistic

Pre-condition Post-condition

2 Click Report item

3 Click “Export” button

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 28

3.3.3 Staff management

3.3.3.1

Manage staff info and status

Use case name Manage staff info and status

Description User can change information and status of staff account

Pre-condition Post-condition

2 Click “Staff” button

Trang 29

3 Choose staff that want to change information and status

4 Input change information or new status

5 Click “Save” button

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.3.2

Create staff account

Use case name Create staff account

2 Click “Staff” button

3 Click “Create” button

4 Navigator to create account staff screen

5 Input information abount new staff and valid input

6 Click “Add account” button

Exception The system returns an error if Pre-condition or Post-condition are not met

3.3.3.3

Remove staff account

Pre-condition

2 Click “Staff” button

3 Click Staff that want to remove

4 Click “Remove” button

5 Confirm remove account

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 30

3.3.4 Real Estate

Trang 31

3.3.4.1

List Real Estate

3.4

3.4.1.1

View Real Estate Detail

3.4.1.2

Add Real Estate

Description System admin and Seller can add real estate

Pre-condition • Internet connection is stable

• Server is not down

Post-condition • Real estate is successfully added to the database

Flow of event 1 User click “My Home” tab

2 User navigate to My Home Screen

3 User Click “Add New Property” button

Use case name List real estate

Description All User can see list of available real estate

Pre-condition • Internet connection is stable

• Server is not down

Post-condition • User can see the real estate list that server responded

Flow of event 1 User navigate to home screen

2 System return list of real estate to user

Exception The system returns an error if Pre-condition or Post-condition are not met

Use case name View real estate detail

Description All User can view real estate detail information

Pre-condition • Internet connection is stable

• The real estate item is existed at the time user clicked

• Server is not down

Post-condition • User can see the real estate detail that server responded

Flow of event 1 User Click real estate item

2 User navigate to real estate detail screen

3 System return real estate’s detail information

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 32

4 User fill real estate’s information

5 User click “Create” button

6 System saves new real estate to the database

Exception - The system returns an error if Pre-condition or Post-condition are not met

- The system returns an error if user entered invalid real estate information

3.4.1.3

Add Real Estate To Watch List

Use case

name

Add Real Estate To Watch List

Description Buyer and Agency can add real estate to watch list

Pre-condition • Internet connection is stable

• The real estate item is existed and not added to user’s watch list at the time user clicked the heart icon

• Server is not down

Post-condition • User can see the real estate added to watch list

Flow of event 1 User Click “Heart icon” on real estate item

2 System add real estate item to user’s watch list

Exception The system returns an error if Pre-condition or Post-condition are not met

3.4.1.4

Remove Real Estate From Watch List

Description Buyer and Agency can remove real estate to watch list

Pre-condition • Internet connection is stable

• The real estate item is existed and added to user’s watch list at the time user clicked

• Server is not down

Post-condition • User can see the real estate removed from watch list

Flow of event 1 User Click “Heart icon” on real estate item

2 System remove real estate item to user’s watch list

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 33

3.4.1.5

Remove Owned Real Estate

Pre-condition • Internet connection is stable

• The real estate item is existed at the time user clicked

• The real estate is owned by user

• Server is not down

Post-condition • User can see the real estate removed from user’s real estate list

Flow of event 1 User “Remove real estate” icon

2 System check if this real estate can be deleted

3 System show popup to confirm user delete decision

4 User click yes

5 System remove real estate from user’s property list

Exception The system returns an error if Pre-condition or Post-condition are not met

3.4.1.6

Chat

Description Seller and Buyer, Agency can chat with each other

Pre-condition • Internet connection is stable

• The user clicked is existed at the time user click

• Server is not down

Post-condition • User can chat with other user

Flow of event 1 User click other user’s avatar

2 System show chat history between users

3 User enter text to send

4 User click send button

5 The chat message is added to chat history and other user can see it

Exception The system returns an error if Pre-condition or Post-condition are not met

Trang 34

3.4.1.7

Find/Filter Real Estate

Use case name Find/Filter Real Estate

Description All User of system can find or filter real estate based on their need

Pre-condition • Internet connection is stable

• Server is not down

Post-condition • User can see the filtered real estate list that server responded

Flow of event 1 User click “Filter” button

2 User select/enter filter condition

3 User click “Apply” button

4 System return the filtered real estates list

Exception The system returns an error if Pre-condition or Post-condition are not met

3.5 Process View

Trang 35

3.5.1.1

Login

Trang 36

3.5.1.2

Logout

Trang 37

3.5.1.3

Change Password

Trang 38

3.5.1.4

Reset Password

Trang 39

3.5.1.5

Register

Trang 40

3.5.1.6

View Report

Ngày đăng: 01/02/2023, 21:10

🧩 Sản phẩm bạn có thể quan tâm

w