Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)

200 8 0
Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN MINH ĐỨC PHẠM QUỐC ĐẠT KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG BẤT ĐỘNG SẢN KẾT HỢP HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH DỰA TRÊN GIÁ THỊ TRƯỜNG Real estate application with decision support system based on market prices KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2022 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN MINH ĐỨC – 18520210 PHẠM QUỐC ĐẠT – 18520584 KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG BẤT ĐỘNG SẢN KẾT HỢP HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH DỰA TRÊN GIÁ THỊ TRƯỜNG Real estate application with decision support system based on market prices KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN ThS TRẦN ANH DŨNG TP HỒ CHÍ MINH, 2022 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin LỜI CẢM ƠN Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn q thầy khoa Cơng nghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, tận tình hướng dẫn nhóm suốt thời gian qua Những kiến thức mà thầy cô truyền đạt tảng quan trọng để nhóm hồn thành đề tài Nhóm tác giả xin gửi lời cảm ơn chân thành lòng biết ơn sâu sắc đến ThS Trần Anh Dũng, cảm ơn thầy tận tình hướng dẫn tạo điều kiện tốt cho nhóm hồn thành đề tài Những lời động viên, góp ý chân tình thầy động lực q báu để nhóm vượt qua khó khăn tìm hiểu thực đề tài Trong thời gian tháng thực đề tài, nhóm tác giả cố gắng vận dụng kiến thức tảng học, kết hợp học hỏi tìm hiểu cơng nghệ để ứng dụng xây dựng đề tài môn học Tuy nhiên trình thực hiện, kiến thức kinh nghiệm cịn nhiều hạn chế, khó tránh khỏi thiếu sót Chính vậy, nhóm tác giả mong nhận góp ý từ q thầy để nhóm hồn thiện thêm kiến thức mà nhóm học tập, làm hành trang q báu cho nhóm cơng việc sau Xin chân thành cảm ơn q thầy cơ! ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Ứng dụng bất động sản kết hợp hệ thống hỗ trợ định dựa giá thị trường TÊN ĐỀ TÀI (Tiếng Anh): Real estate application with decision support system based on market prices Cán hướng dẫn: Ths Trần Anh Dũng Thời gian thực hiện: Từ ngày 01/03/2022 đến ngày 17/06/2022 Sinh viên thực hiện: Nguyễn Minh Đức – 18520210 Phạm Quốc Đạt – 18520584 Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện, kết mong đợi đề tài) Đặt vấn đề • Theo cách giao dịch bất động sản thơng thường, người có nhu cầu mua thuê loại hình bất động sản phải tốn nhiều công sức việc khảo sát thực địa vấn đề diện tích, giá cả, Mặt khác, người muốn bán cho thuê bất động sản khó khăn để tiếp cận khách hàng tiềm Vì vậy, nhu cầu cho ứng dụng có chức kết nối khách hàng người có nhu cầu cho thuê bán bất động sản cấp thiết • Trong đó, người mua bắt đầu quan tâm đến giao dịch bất động sản việc tham khảo giá thị trường điều tất yếu tốn nhiều thời gian, cơng sức mà độ xác khơng cao • Từ vấn đề trên, nhóm định làm đồ án “Ứng dụng bất động sản hỗ trợ định dựa giá thị trường” Mục tiêu đề tài • Xây dựng ứng dụng cung cấp tảng cho phép người dùng đăng tin mua bán, cho thuê bất động sản • Xây dựng liệu cho hệ thống hỗ trợ định dựa giá thị trường • Xây dựng hệ thống hỗ trợ định dựa giá thị trường • Tạo ứng dụng có giao diện thân thiện với người dùng có tính thực tiễn cao để triển khai vào thực tế • Thu thập liệu từ đăng bất động sản để đưa vào hệ thống hỗ trợ định dựa giá thị trường • Tích hợp cổng tốn ứng dụng • Tổng hợp kết viết báo cáo Tính mới/ khác biệt chức Khảo sát qua trang web ứng dụng lớn bất động sản Việt Nam diaoconline.vn, batdongsan.com.vn, Homedy, NhaDat24h, … nhóm nhận thấy: • Các tảng chưa có hệ thống hỗ trợ để người dùng nắm bắt giá bất động sản khu vực mà họ quan tâm Do đó, việc tích hợp hệ thống vào ứng dụng tính đột phá • Các trang web ứng dụng thiếu tính hỗ trợ lưu bất động sản mà người dùng quan tâm Vì vậy, ứng dụng tích hợp thêm tính để tạo thuận tiện cho người dùng • Khi khảo sát trang batdongsan.com.vn, chức đăng theo gói đăng hoạt động tương tự trả phí để quảng cáo đăng tảng Do đó, nhóm tích hợp tính vào ứng dụng, đồng thời tích hợp cổng tốn Momo Đối tượng Phạm vi • Những người có nhu cầu tìm kiếm đăng tin bất động sản • Các hệ thống hỗ trợ định • Phạm vi địa lý: Ứng dụng sử dụng Việt Nam, riêng hệ thống hỗ trợ định sử dụng địa bàn TP.HCM • Phạm vi chức năng: o Xây dựng ứng dụng cho phép người dùng tìm kiếm, đăng tin mua bán, cho th bất động sản o Xây dựng hệ thống hỗ trợ định dựa giá thị trường khu vực o Chức quản lý thông tin người dùng o Quản lý phân quyền người dùng o Tích hợp cổng toán Momo để nạp tiền vào ứng dụng Phương pháp thực • Khảo sát trang web, ứng dụng Bất động sản có thị trường • Đánh giá ưu khuyết điểm tảng • Tìm hiểu hệ thống hỗ trợ định • Xây dựng ứng dụng cung cấp tảng cho phép người dùng đăng tin mua bán, cho thuê bất động sản • Xây dựng liệu cho hệ thống hỗ trợ định dựa giá thị trường • Xây dựng hệ thống hỗ trợ định dựa giá thị trường • Tổng hợp kết viết báo cáo Kết mong đợi • Hoàn thiện ứng dụng đăng tin mua bán, cho thuê bất động sản • Xây dựng thành cơng hệ thống hỗ trợ định dựa giá thị trường cho khu vực TP.HCM • Tích hợp hệ thống hỗ trợ định vào ứng dụng bất động sản Kế hoạch thực hiện:(Mô tả kế hoạch làm việc phân công công việc cho sinh viên tham gia) Công việc STT Người phụ trách Giai đoạn 1: 01/03/2022 – 01/04/2022 Khảo sát tảng đăng tin bất động sản có mặt thị trường Vẽ sơ đồ UML cho ứng dụng Nghiên cứu công nghệ sử dụng: ASP.NET Zero, Flutter, MariaDB, Crawler, Adobe XD, … Thiết kế UI/UX cho ứng dụng Adobe XD Đức, Đạt Đức, Đạt Đức, Đạt Đạt Xây dựng ứng dụng theo kiến trúc Client – Server với Flutter Client ASP.NET Zero Đức Server Giai đoạn 2: 02/04/2022 – 20/05/2022 Xây dựng Cơ sở liệu cho ứng dụng Đức Xây dựng API cho chức ứng dụng Đức Xây dựng Giao diện người dùng theo mẫu thiết kế từ giai đoạn Đạt Xây dựng hệ thống hỗ trợ định dựa giá thị trường Đức, Đạt Giai đoạn 3: 21/05/2022 – 17/06/2022 10 11 Tích hợp hệ thống hỗ trợ định vào ứng dụng bất động sản Tổng hợp viết báo cáo Đức, Đạt Đức, Đạt Xác nhận CBHD TP HCM, ngày 18 tháng năm 2022 (Ký tên ghi rõ họ tên) Sinh viên (Ký tên ghi rõ họ tên) Ths Trần Anh Dũng Nguyễn Minh Đức Phạm Quốc Đạt MỤC LỤC TÓM TẮT KHÓA LUẬN Chương TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề .2 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi đề tài 1.3.1 Đối tượng 1.3.2 Phạm vi đề tài 1.4 Công cụ sử dụng Chương 2.1 KIẾN THỨC NỀN TẢNG Flutter Framework 2.1.1 Flutter gì? 2.1.2 Tại lại Flutter? 2.1.3 Đặc điểm bật 2.2 ASP.NET Zero .5 2.2.1 ASP.NET Zero gì? 2.2.2 Tại lại ASP.NET Zero? .6 2.2.3 Đặc điểm bật 2.3 ImgBB 2.3.1 ImgBB gì? 2.3.2 Tại lại ImgBB? 2.3.3 Đặc điểm bật 2.4 MariaDB .7 2.4.1 MariaDB gì? kiếm Search IconButton Thêm thuộc tính IconButton Danh sách ListView Tên Text Kiểu liệu Text Trạng thái Text Chỉnh sửa Icon Thực việc tìm kiếm Di chuyển đến trang tạo thuộc tính Danh sách thuộc tính hệ thống Tên thuộc tính Kiểu liệu thuộc tính Trạng thái thuộc Có trạng thái tính On Off Di chuyển đến trang chỉnh sửa thuộc tính Bảng 4.92: Mơ tả chi tiết hình “Quản lý thuộc tính” 161 4.9.8.10 Màn hình Thêm mới/Chỉnh sửa thuộc tính Hình 4.83: Giao diện “Thêm mới/Chỉnh sửa thuộc tính” STT Kiểu Tên Tên Kiểu TextFormField liệu Kích hoạt DropdownButton Checkbox Chức năng/Biến cố Ghi Nhập tên thuộc tính Chọn kiểu liệu cho thuộc tính Kích hoạt/Khơng kích hoạt thuộc tính Lưu thơng RoundedButton Thêm mới/Chỉnh sửa Thực tin thuộc tính Widget thơng tin đủ Bảng 4.93: Mơ tả chi tiết hình “Thêm mới/Chỉnh sửa thuộc tính” 162 4.9.8.11 Màn hình Kiểm duyệt giao dịch Hình 4.84: Giao diện “Kiểm duyệt giao dịch” Kiểu STT Tên Hiển thị lọc nâng cao Giao dịch Nội dung giao dịch Chức năng/Biến cố Ghi GestureDetector Hiển thị loc ListView ExpansionTile Danh sách Giao dịch Hiển thị nội dung giao Chọn vào icon để hiển thị dịch thêm thông tin Người dùng Duyệt nạp tiền FlatButton Kiểm duyệt nạp tiền chuyển tiền qua momo Bảng 4.94: Mô tả chi tiết hình “Kiểm duyệt giao dịch” 163 4.9.8.12 Màn hình Quản lý đăng Hình 4.85: Giao diện “Quản lý đăng” STT Tên Kiểu Tìm kiếm TextFormField Search IconButton Chọn loại tìm kiếm Chức năng/Biến cố Ghi Nhập nội dung tìm kiếm Thực việc tìm kiếm Đổi loại hình DropDownButton Chọn loại tìm kiếm thay đổi cách tìm kiếm Bài đăng ListView Danh sách đăng Bản đồ BottomTabBar Đến hình đồ 164 Gia hạn Ẩn/hiện thông tin gia ExpansionTile hạn Sau chọn Chọn ngày kết RoundedButton thúc Chọn ngày cần gia hạn Widget Gia hạn xong hiển thị nút gia hạn RoundedButton Gia hạn với thông tin Widget chọn Sau nhấn Chỉnh sửa Chỉnh sửa cho GestureDetector đăng chuyển đến hình chỉnh sửa đăng 10 Xóa Xóa đăng GestureDetector Bảng 4.95: Mơ tả chi tiết hình “Quản lý đăng” 165 Xóa đăng chọn Chương PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG 5.1 Môi trường phát triển ứng dụng • Hệ điều hành: Windows 10 • Hệ quản trị sở liệu: MariaDb 10 • Mơi trường chạy thử: Xiaomi Note 4X, Xiaomi Note pro, Máy ảo Pixel 3, … • Framework sử dụng: Material, ASP.NET Zero 10.1.0, NET 5.0, Entity Framework, Identity Server, Aspboilerplate, AutoMapper, Flutterboilerplate, … 5.2 Môi trường triển khai ứng dụng • Hệ điều hành: Android 5+, IOS 10+ • RAM: 2GB (Android) / 1GB IOS • CPU: Snapdragon 439 / MediaTek MT6762 (P22) trở lên/ Apple A8 • Phần cứng: Chipset 64-bit • Bộ nhớ: 200MB 5.3 Xuất CH Play Nhóm triển khai ứng dụng lên CH Play để người dùng Android dễ dàng truy cập tạo tính thực tiễn cho ứng dụng Đường dẫn cài đặt ứng dụng: https://play.google.com/store/apps/details?id=com.homies.realestate 5.4 Cài đặt dành cho nhà phát triển 5.4.1 Cài đặt tiên Flutter phiên 1.22.6 • Mở terminal chạy lệnh để cài đặt: choco install flutter version=1.22.6 166 5.4.2 Hướng dẫn cài đặt bước • Tải source code từ link: https://github.com/18520584/RE-DecisionSupport.git • Cài đặt thư viện bắt buộc: cd Clientside/flutter flutter pub get • Chạy ứng dụng máy ảo 167 Chương KIỂM THỬ 6.1 Testcase Nhóm thực làm testcase tất module ứng dụng Kết kiểm thử 171 testcase 15 modules đạt tỉ lệ pass 95.53%, chi tiết kết thể bảng đây: No Module code Pass Fail Untested N/A Number of test cases Đăng ký 0 Đăng nhập 11 0 11 Trang chủ 15 0 15 Bản đồ 0 5 Đăng 10 0 10 Quản lý tài khoản cá nhân 10 0 10 Quản lý ví tiền 0 8 Báo cáo 10 0 10 Cài đặt 0 10 Quản lý đăng cá nhân 11 0 13 11 Quản lý người dùng 27 0 27 12 Quản lý danh mục 13 0 15 13 Quản lý thuộc tính 0 11 14 Quản lý gói đăng 21 0 23 15 Kiểm duyệt giao dịch 0 171 0 179 Sub total Bảng 6.1: Kết kiểm thử 171 testcase 15 modules Chi tiết testcase thể tập tin HRE_Testcase.xlsx 6.2 Unit Test Kết Unit Test chức năng, bao gồm: • Đăng nhập 168 • Tạo danh mục • Cập nhật danh mục • Tạo người dùng • Cập nhật người dùng • Xóa người dùng Kết báo cáo thể bảng sau: No Function code Passed Failed Untested N A B Total Test Cases Login 0 AddCategory 15 0 12 15 UpdateDanhMuc 15 0 12 15 createUser 96 0 72 24 96 updateUser 11 12 deleteUser 0 0 148 Sub total 106 36 Bảng 6.2: Bảng kết Unit Test Loại hình kiểm thử Phần trăm Test coverage 100.00 % Test successful coverage 99.33 % Normal case 71.14 % Abnormal case 24.16 % Boundary case 5.37 % Bảng 6.3: Bảng thống kê tổng quan Unit Test 169 149 Hình 6.1: Biểu đồ thể kết Unit Test 6.3 Automation Test Công cụ sử dụng: integration testing sử dụng thư viện flutter test flutter driver Kết Automation Test chức bao gồm: • Đăng ký • Thêm gói đăng • Đăng tin 170 No Function Passed Failed Untested Total Test Cases Đăng ký 15 21 Thêm gói đăng 18 21 Đăng tin 28 30 61 11 72 Sub total Bảng 6.4: Bảng kết Unit Test Tỉ lệ pass 84,72% Chi tiết Automation test thể tập tin HRE_AutomationTest.xlsx 171 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 7.1 Kết luận 7.1.1 Kết đạt • Nhóm thực hồn chỉnh chức đặt đề tài • Giao diện thân thiện, dễ sử dụng • Thực việc kiểm thử, có testcase 7.1.2 Điểm đặc sắc đề tài • Hệ thống xây dựng dựa kiến trúc Client-Server riêng biệt deploy máy chủ khác nhau, giao tiếp qua phương thức API • Phía server sử dụng Framework ASP.NET Zero 10.1.0, NET 5.0, kết hợp với SOLID Principals tạo điều kiện dễ dàng cho việc bảo trì, mở rộng tương lai • Sử dụng Entity Framework (Code-first) để kết nối, khởi tạo, seed data, migration cho database • Dùng LINQ để thực truy vấn • Sử dụng Repository pattern Giúp cho truy cập liệu chặt chẽ hơn, bảo mật lại gọn gàng (Một nơi để thay đổi quyền truy cập liệu xử lý liệu) • Hệ thống xác thực token, phân quyền Identity Framework • AutoMapper tự động hoá việc chuyển đổi liệu DTO • Hệ thống chức tài khoản: gửi email kích hoạt sau đăng ký, xác thực hai bước, … • Tính ghi lại nhật ký hoạt động user.  • Giao diện xây dựng sẵn cho ba đối tượng sử dụng: khách, người dùng, quản lý • Có chế độ ban đêm 172 • Thiết kế giao diện thận thiện với người dùng, có số animation làm tăng trải nghiệm cho người sử dụng • Đặc biệt có biểu đồ giá theo loại hình BĐS theo khu vực gợi ý BĐS phù hợp cho nhà đầu tư 7.2 Hướng phát triển • ReCaptcha v3 đảm bảo tính ổn định server • Phát triển thêm chức so sánh đăng • Lien kết ứng dụng toán để tiện lợi cho người dùng • Phát triển UI thêm animation • Thêm tính tìm kiếm theo tên địa điểm cho đồ đủ khả tài • Thêm tính hồn tiền • Phát triển hỗ trợ biểu đồ giá thị trường toàn quốc 173 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] T.Việt, “Flutter gì? Nó có ưu điểm vượt trội để làm ứng dụng mobile?,” 2018 [Trực tuyến] Địa chỉ: https://topdev.vn/blog/flutter-la-gi/ [Truy cập 16/3/2022] [2] V.N.Tuấn, “Giới thiệu Flutter,” 2018 [Trực tuyến] Địa chỉ: https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw [Truy cập 17/3/2022] [3] M.Bão, “MariaDB gì? Cách cài đặt kết nối MariaDB,” 2021 [Trực tuyến] Địa chỉ: https://wiki.matbao.net/mariadb-la-gi-cach-cai-dat-va-ket-noimariadb/ [Truy cập 12/3/2022] [4] “MariaDB,” 2022 [Trực tuyến] Địa chỉ: https://vi.wikipedia.org/wiki/MariaDB [Truy cập 15/3/2022] [5] N.T.Phương, “Adobe XD gì? Các tính thiết kế web bật Adobe XD,” 2021 [Trực tuyến] Địa chỉ: https://www.thegioididong.com/gameapp/adobe-xd-la-gi-cac-tinh-nang-thiet-ke-web-noi-bat-tren-adobe-1376731 [Truy cập 20/3/2022] [6] INet, “Thông tin WHOIS tên miền batdongsan24h.com.vn,” 2022 [Trực tuyến] Địa chỉ: https://whois.inet.vn/whois?domain=batdongsan24h.com.vn [Truy cập 22/5/2022] [7] INet, “Thông tin WHOIS tên miền chotot.com,” 2022 [Trực tuyến] Địa chỉ: https://whois.inet.vn/whois?domain= chotot.com [Truy cập 22/5/2022] [8] INet, “Thông tin WHOIS tên miền batdongsan.com.vn,” 2022 [Trực tuyến] Địa chỉ: https://whois.inet.vn/whois?domain=batdongsan.com.vn [Truy cập 22/5/2022] [9] Đ.N.T.Mại, “Các yếu tố ảnh hưởng đến giá trị bất động sản,” 2022 [Trực tuyến] Địa chỉ: https://datnenthuongmai.com/tin-tuc/cac-yeu-to-anh-huongden-gia-tri-bat-dong-san/ [Truy cập 22/5/2022] 174 Tài liệu tiếng Anh [10] Volosoft, “Explore the ASP.NET Zero Features,” 2022 [Online] Available: https://aspnetzero.com/Features [Accessed 19/3/2022] [11] N.Constant, “What is ImgBB? (& How to Use it For Free Image Hosting!),” 2021 [Online] Available: https://expertphotography.com/imgbb/ [Accessed 20/3/2022] [12] MariaDB Foundation, "About MariaDB Server," 2022 [Online] Available: https://mariadb.org/documentation/ [Accessed 12/3/2022] [13] Zoom59, “The Ultimate Web Scraping Guide,” 2021 [Online] Available: https://webscraper.io/blog/ultimate-web-scraping-guide 14/3/2022] 175 [Accessed ... cho hệ thống hỗ trợ định dựa giá thị trường • Xây dựng hệ thống hỗ trợ định dựa giá thị trường • Tổng hợp kết viết báo cáo Kết mong đợi • Hồn thiện ứng dụng đăng tin mua bán, cho thuê bất động sản. .. giai đoạn Đạt Xây dựng hệ thống hỗ trợ định dựa giá thị trường Đức, Đạt Giai đoạn 3: 21/05/2022 – 17/06/2022 10 11 Tích hợp hệ thống hỗ trợ định vào ứng dụng bất động sản Tổng hợp viết báo cáo Đức,... thuê bất động sản • Xây dựng thành cơng hệ thống hỗ trợ định dựa giá thị trường cho khu vực TP.HCM • Tích hợp hệ thống hỗ trợ định vào ứng dụng bất động sản Kế hoạch thực hiện:(Mô tả kế hoạch

Ngày đăng: 16/06/2022, 21:05