Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 96 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
96
Dung lượng
7,4 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM 🕮 Đồ Án Research Blockchain and build blockchainbased real estate martketplace application and automatically enter data using chatbot Lecturer: PhD.Nguyễn Trịnh Đông Students: 19521578 – Nguyễn Xuân Hưng 19521638 – Trương Hưng Huy TPHCM, 12 – 2022 Assessment 1|Page 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 2|Page Table of content General Introduction 1.1 Team Information 1.2 Project Information 1.2.1 1.2.2 1.2.3 1.2.4 1.3 Tools Theoretical foundations and related studies 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.3.1 2.3.2 2.3.3 2.3.4 Project Introduction Research Scope Research Content Targeted Results Blockchain General: Smart Contract 10 Token ERC-20 (Fungible token) 11 Token ERC-721 ( Non-Fungible tokens) .12 Difference between Non-Fungible Token (NFT) & Fungible Token (FT) .14 What is Web3? 14 Main components 17 Functionalites 18 Reason to use Flutter? 19 Features of rapid development of applications 19 Functional Requirement 21 3.1 Domain diagram 21 3.2 Actor list 21 3.3 Use case view 22 3.3.1 3.3.2 3.3.3 3.3.4 Authentication .22 View report 25 Staff management .27 Real Estate 29 3.4 30 3.5 3.5.1 3.5.2 Process View 33 System Sequence Diagrams .33 System Activity Diagrams 54 Database design 74 4.1 Entity Relation Diagram 74 4.2 Relations 74 4.2.1 4.2.2 RealEstates table: Real estate information 74 Users table: User information .76 3|Page 4.2.3 4.2.4 4.2.5 4.2.6 RealEstatePriceHistories table: Real estate’s price history information 76 RealEstatePost table: Real estate post information 76 RealEstatePostType table: Real estate post type information 77 RealEstateType table: Real estate type information 77 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 Technology used, installation and functional perfection 94 6.1 Technology used 94 6.2 Installation and test environment 94 6.3 Functional perfection 94 Conclusion 95 7.1 Summary 95 4|Page 7.1.1 Advantages 95 5|Page General Introduction 1.1 Team Information Group contains two members: - Member MSSV Class Email : Nguyễn Xuân Hưng 19521578 : PMCL2019.2 : 19521578@gm.uit.edu.vn - Member2 MSSV Class Email : Trương Hưng Huy 19521638 : PMCL2019.2 : 19521638@gm.uit.edu.vn 1.2 Project Information 1.2.1 Project Introduction 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 6|Page 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 1.2.2 Research Scope 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 7|Page 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 1.2.4 Targeted Results - Blockchain knowledge Interact with contracts deployed on the blockchain network Successfully built a cryptocurrency real estate marketplace 1.3 Tools - Github IDE Visual Code Studio, Android Studio Confluence Jira 8|Page Theoretical foundations and related studies 2.1 Blockchain 2.1.1 General: 2.1.1.1 What is Blockchain? The concept of blockchain has long become a familiar term in the information technology industry as well as other areas of life Businesses, corporations, and even governments are all working to apply blockchain technology in different fields to boost work efficiency 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 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 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 9|Page 5.2.3 Home Screen • General description and handling of screen events: The Home screen includes: 81 | P a g e - Show featured properties - Real estate search bar - Notification button - Filter button by location 5.2.4 Notification Screen • General description and handling of screen events: The notification screen includes: - Show list of notifications - Notification settings button 82 | P a g e 5.2.5 Message Screen • General description and handling of screen events: Message screen includes: - List of user can chat - Textfield input text chat - Send message button 83 | P a g e 5.2.6 Discover Screen • General description and handling of screen events: Discovery Screen includes: - Real estate search bar - Display information of real estate locations on the map - Display information when clicking on a property on the map 84 | P a g e 5.2.7 Search Real Estate Screen 85 | P a g e • General description and handling of screen events: Search Real Estate Screen includes: - Textfield Input information of estate - Show list estate follow search info - Filter Button - Tab selected for sale or rented - Filter by square or lot size - Apply button to apply filter for searching - Reset button to reset config - Slider with range of price 86 | P a g e 5.2.8 Detail Estate Screen • General description and handling of screen events: Detail Real Estate Screen includes: - Paging list of images - Description detail about information about real estate 87 | P a g e - Show location of real estate - Show information of owner estate - Rating of real estate - Button “All Amentities” will navigate to screen show all amentities - Button “View all Reviews” will navigate to screen show all reviews 88 | P a g e 5.2.9 Profile Screen • General Description and handle of screen events Profile screen includes: - 89 | P a g e Recently viewed Button Button “My favorites” Button “Past Tour” Button “My listings” Button “Setting” navigate to Setting screen 5.2.10 Setting Screen • General Description and handle of screen events Setting screen includes: - Button switch change “Notification” Buttin switch theme “Dark Mode” Button change language of app Some button show information about privacy 90 | P a g e 5.2.11 Privacy Screen • General Description and handle of screen events Privacy screen includes: - 91 | P a g e Show all information abount app 5.2.12 Past tour screen • General Description and handle of screen events Past tours screen includes: - Show list all past tours 92 | P a g e 5.2.13 Edit Profile Screen • General Description and handle of screen events Edit Profile screen includes: - Textfiled input edit fullname Textfiled input edit email Textfiled input edit address Textfiled input edit password Button “Save change” to save all information want to change 93 | P a g e 6.Technology used, installation and functional perfection 6.1 Technology used - Flutter technology based on Dart language - Use design patterns like Singleton, Facade, Observer, Factory Method, Prototype, Composite, State - Backend: NodeJS, TypeScript, Express, PosgreSQL 6.2 Installation and test environment APK: Installed device: Mobile device with Android 8.0 or higher installed 6.3 Functional perfection STT Screens Completion level Login screen 100% Hưng , Huy Sign up screen 100% Hưng, Huy Home Screen 100% Hưng, Huy Notification Screen 100% Hưng, Huy Message Screen 100% Hưng, Huy Discovery Screen 100% Hưng, Huy Search Real Estate Screen 100% Hưng, Huy Detail Estate Screen 100% Hưng, Huy Profile Screen 100% Hưng, Huy 10 Setting Screen 100% Hưng, Huy 11 Privacy Screen 100% Hưng, Huy 12 Past tour screen 100% Hưng, Huy 13 Edit Profile Screen 100% Hưng, Huy 94 | P a g e Person in charge 7.Conclusion 7.1 Summary • It is important when making a cryptocurrency wallet to ensure the security of the wallet's information, in addition to ensuring clear transparency when transferring tokens and NFTs between wallets In addition, the interface must be eye-catching, easy to use, and the user experience must be good Not only that, it must also handle errors and vulnerabilities when users encounter problems such as connection loss, transaction errors, etc • It is necessary to carefully analyze and define the features before implementing the code, design the interface, design the database • Need to arrange the code time for each function in a more reasonable way, should not spend a lot of time on a part.Kết đạt 7.1.1 Advantages - Understand how to program based on Flutter technology and Dart language - The database is organized on the server through back-end programming - Meet the basic functions of a cryptocurrency wallet application, especially simplicity, ease of use, convenience, security and transparency - Build a functional flow that's easy to understand, easy to use - Understand more about ETH, ERC721, ERC20, Blockchain, distributed database - There is a version for iOS 7.2 Development - Restructure the database to provide more functionality, flexibility in the services provided to users - Code optimization - Invest in interface design - Upgrade more user-friendly features 95 | P a g e ... 76 RealEstatePost table: Real estate post information 76 RealEstatePostType table: Real estate post type information 77 RealEstateType table: Real estate type... List Real Estate 45 | P a g e 3.5.1.13 View Real Estate Detail 46 | P a g e 3.5.1.14 Add Real Estate 47 | P a g e 3.5.1.15 Add Real Estate To Watch List 48 | P a g e 3.5.1.16 Remove Real Estate. .. 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 Actor Buyer, Agency Trigger Click “Heart icon” on real estate