Tìm hiểu Flutter, ASP.NET Zero, phần mềm MariaDB, dịch vụ lưu trữ ảnh ImgBB, cáccông cụ Web Scraper và Adobe XD dé xây dựng ứng dụng đăng tin bat động sản, bên cạnh đó còn cung cấp thêm
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HỌC CÔNG NGHỆ THONG TIN
KHOA CONG NGHE PHAN MEM
NGUYEN MINH DUC PHAM QUOC DAT
KHOA LUAN TOT NGHIEP UNG DUNG BAT DONG SAN HỖ TRO QUYÉT ĐỊNH
DUA TREN GIA THI TRUONG
Real estate application that supports decisions based on
market prices
KY SU NGANH KY THUAT PHAN MEM
TP HO CHÍ MINH, 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
NGUYEN MINH ĐỨC - 18520210
PHAM QUOC DAT - 18520584
KHOA LUAN TOT NGHIEP
UNG DUNG BAT DONG SAN HO TRO QUYET DINH
DUA TREN GIA THI TRUONG
Real estate application that supports decisions based on
market prices
KY SU NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
ThS TRAN ANH DUNG
TP HO CHi MINH, 2022
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
NAY của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1 TS Nguyễn Tan Trần Minh Khang - Chủ tịch
2 ThS Lê Thanh Trọng ~ Thư ký
3 ThS Huỳnh Tuấn Anh ~ Ủy viên
Trang 4ĐẠI HỌC QUOC GIA TP HO CHI 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
TP HCM, ngày tháng năm
NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP
(CUA CÁN BỘ HUONG DAN)
Tên khóa luân:
UNG DUNG BAT ĐỘNG SAN HO TRỢ QUYÉT ĐỊNH DUA TREN GIÁ THỊ TRƯỜNG
Nhóm SV thực hiện: Cán bộ hướng dẫn:
Nguyễn Minh Đức 18520210 ThS Trần Anh Dũng
Phạm Quốc Đạt 18520584
Đánh giá Khóa luận
1 Vé cuôn báo cáo:
Số trang 181 trang Số chương 8 chương
Số bảng số liệu 102 bảng Số hìnhvẽ 98 hình
Số tài liệu tham khảo l5 tài liệu Sản phẩm 1
Một sô nhận xét về hình thức cuôn báo cáo:
e Nội dung cuốn khóa luận đã tuân thủ các quy định về bố cục và trình tự sắp xếp của một
bài khóa luận: Có đầy đủ các phần: trang bìa, lời cảm ơn, lời nói đầu, mục lục, tóm tắtkhóa luận, danh mục hình ảnh, danh mục bảng, danh mục tw viết tắt, kết luận, hướng pháttriển và tài liệu tham khảo
e Nội dung trình bày rõ rang, mạch lạc, có tính logic.
2 Vé nội dung nghiên cứu:
e Tiến hành khảo sát các trang web bất động sản như batdongsan.com.vn,
batdongsan24h.com.vn, nha.chotot.com, Thu thập và xử ly dif liệu từ các trang web bat
động san dé cung cấp dữ liệu cho ứng dung của đề tài
Trang 5Tìm hiểu Flutter, ASP.NET Zero, phần mềm MariaDB, dịch vụ lưu trữ ảnh ImgBB, các
công cụ Web Scraper và Adobe XD dé xây dựng ứng dụng đăng tin bat động sản, bên cạnh
đó còn cung cấp thêm các tính năng hỗ trợ quyết định cho người dùng như: xem biểu đồ giá thị trường theo loại hình bat động sản tại một khu vực, gợi ý các bắt động sản theo nhu
câu của người dùng.
3 Về chương trình ứng dung:
Các chức năng của ứng dụng đáp ứng đầy đủ yêu cầu của đề tài.
o Đầy đủ các tính năng của một trang đăng tin mua bán/cho thuê bat động sản.
©_ Quản lý thu phi bài đăng theo gói bài đăng.
o Nạp tiền qua công thanh toán điện tử Momo.
o_ Có nhiều loại vai trò người dùng với những chức năng riêng biệt.
o Hiển thị được các bất động sản xung quanh khu vực người dùng bằng Google Maps
API.
o Có các biểu đồ về giá cả của một loại hình bất động sản theo khu vực, cũng như đánh
giá sơ bộ thị trường đề hỗ trợ người dùng quyết định.
Gợi ý các bất động sản có những chỉ tiết, đặc điểm phù hợp nhu cầu người dùng.
Phần mềm ứng dụng của khóa luận có chức năng thu thập tin tức từ nguồn thông tin bất động sản khác nhằm phục vụ yêu cầu tra cứu trước khi chọn lựa và nhập thông tin bat
động sản có kèm tọa độ trên google map là điểm cộng trong hệ thống.
Ứng dụng có giao diện thân thiện với người dùng, thiết kế theo Flat Design bắt kịp xu thế.
Có hỗ trợ giao diện nền sáng/tối Nhiều hiệu ứng chuyển động, trải nghiệm người dùng tốt,
hỗ trợ đầy đủ các theo tác kéo, trượt, phóng to, thu nhỏ.
Ưu điểm:
o Các chức năng về hệ hỗ trợ quyết định cho người dùng là một lợi thế của ứng dụng.
o Sử dụng Repository pattern, giúp cho việc truy cập dữ liệu chặt chẽ hon, bảo mật hon
(Một nơi duy nhất để thay đổi quyền truy cập dữ liệu cũng như xử lý đữ liệu)
o Thu thập được bộ dữ liệu bat động sản lớn (170.480 bai) trong thời gian ngắn (3 tháng) Khuyét điểm:
o_ Chưa hỗ trợ đa ngôn ngữ.
Trang 6o Chức năng hiển thị các bat động sản trong khu vực trên bản đồ còn chậm.
4 Về thái độ làm việc của sinh viên:
Nhóm sinh viên có thái độ nghiêm túc, chăm chỉ, tích cực thực hiện đề tài, đã tổng hợp và vận dụng tốt các kiến thức đã học, thể hiện được khả năng nghiên cứu và áp dụng nhiều công
nghệ trong dé tài Chủ động báo cáo định kỳ thường xuyên và luôn hoàn thành tốt các công
việc do giảng viên hướng dẫn đề ra.
Đánh gia chung: Két quả dat được của đề tài đáp ứng tốt yêu cầu của một khóa luận tốt nghiệp
kỹ sư ngành Kỹ thuật phần mềm Xếp loại Xuất sắc.
Điểm từng sinh viên:
Nguyễn Minh Đức: 9.5/10 (Chín ruỡi)
Phạm Quốc Đạt: 9.5 /10 (Chín ruỡi)
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trần Anh Dũng
Trang 7ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên khóa luận:
ỨNG DỤNG BÁT ĐỘNG SẢN HỖ TRỢ QUYÉT ĐỊNH DỰA TRÊN GIÁ THỊ TRƯỜNG
Nhóm SV thực hiện: Cán bộ phản biên:
Nguyễn Minh Đức 18520210 TS Đỗ Thị Thanh Tuyền
Phạm Quốc Đạt 18520584
Đánh giá Khóa luân
1 Về cuốn báo cáo:
Số trang 181 trang Số chương 8 chương
Số bảng số liệu 102 bảng Số hình vẽ 98 hình
Số tài liệu tham khảo _ 15 tài liệu Sản phẩm I
Một số nhận xét về hình thức cuốn báo cáo:
Nhìn chung báo cáo được trình bày theo quy định về thể thức trình bày khóa luận, tuy nhiên cần đặt lại tiêu đề và bố cục lại các chương mục cho hợp lý: Mở đầu, Chương 1, Chương 2, Chương 4 (quá dài nên tách ra), Chương 5, Chương 7 (“Kết luận và hướng phát triển” không
phải là một chương mà chỉ là một mục giống như phần “Mở đầu”) Cần lưu ý cách hành văn,
diễn đạt ý.
2 Về nội dung nghiên cứu:
Khóa luận áp dụng các framework Flutter, ASP.NET Zero, phần mềm MariaDB, dịch vụ lưu trữ ảnh ImgBB và các công cụ Web Scraper và Adobe XD dé xây dựng một ứng dụng tương
tự như website https://batdongsan.com.vn/ Việc chọn các framework, dịch vụ và công cụ phù
hợp đề thiết kế và xây dựng một ứng dụng tương tự, trong đó phía client có thể chạy trên các
Trang 8thiết bị cầm tay thể hiện được kiến thức về công nghệ phần mềm của các tác giả Phần mềm
ứng dụng của khóa luận có chức năng thu thập tin tức từ nguồn thông tin bat động sản khác
nhằm phục vụ yêu cầu tra cứu trước khi chọn lựa và nhập thông tin bất động sản có kèm tọa
độ trên google map là điểm cộng trong thiết kế hệ thống.
3 Vé chương trình ứng dung:
Các chức năng của ứng dụng đáp ứng được yêu cầu của một website quảng cáo bat động sản.
4, Về thái độ làm việc của sinh viên:
Nhóm sinh viên chủ động liên hệ và cung cấp day đủ thông tin theo yêu cầu của giáo viên
phản biện.
Đánh giá chung: Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư.
Điểm từng sinh viên:
Nguyễn Minh Đức: 8.5/10 (Tám rưỡi)
Phạm Quốc Đạt: 8.5/10 (Tám rưỡi)
Người nhận xét
(Ký tên và ghi rõ họ tên)
Đỗ Thi Thanh Tuyển
Trang 9LỜI CÁM ƠN
Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn quý thầy cô khoa Côngnghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, đã tậntình hướng dẫn nhóm trong suốt thời gian qua Những kiến thức mà thầy cô đãtruyền đạt là nền tảng quan trọng đề nhóm có thê hoàn thành đề tài này
Nhóm tác giả xin gửi lời cảm ơn chân thành và 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 và tạo điều kiện tốt nhất chonhóm hoàn thành đề tài này Những lời động viên, góp ý chân tình của thầy là độnglực quí báu để nhóm vượt qua những khó khăn khi tìm hiểu và thực hiện đề tài.Trong thời gian thực hiện dé tài, nhóm tác giả đã cô găng vận dụng những kiến thứcnền tảng đã học, kết hợp học hỏi và tìm hiểu công nghệ mới dé ứng dụng xây dựng
dé tài môn học Tuy nhiên trong quá trình thực hiện, do kiến thức và kinh nghiệm
còn nhiều hạn chế, khó tránh khỏi những thiếu sót Chính vì vậy, nhóm tác giả rất
mong nhận được sự góp ý từ quý thay cô dé nhóm hoàn thiện thêm những kiến thức
mà nhóm đã học tập, làm hành trang quý báu cho nhóm trong công việc sau này.
Xin chân thành cảm ơn quý thay cô!
Trang 10ĐẠ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Ệ THONG TIN
DE CUONG CHI TIẾT
TEN DE TÀI: Ứng dụng bat động sản hỗ trợ quyết định dựa trên giá thị trường
TEN DE TÀI (Tiéng Anh): Real estate application that supports decisions based
on market prices
Cán bộ hướng dẫn: ThS Tran 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:
e_ Theo cách giao dịch bat động sản thông thường, những người có nhu cầu
mua hoặc thuê các loại hình bat động san phải tốn nhiều công sức trong
việc khảo sát thực địa các vấn đề về diện tích, giá cả, Mặt khác, những
người muốn bán hoặc cho thuê bat động sản cũng rất khó khăn dé có thétiếp cận các khách hàng tiềm năng Vì vậy, nhu cầu cho một ứng dụng cóchức năng kết nối giữa khách hàng và người có nhu cầu cho thuê hoặcbán bat động sản là rat cấp thiết
e Trong đó, khi người mua bat đầu quan tâm đến các giao dịch bất động
sản thì việc tham khảo giá cả thị trường là điêu tât yêu và tôn rât nhiêu
Trang 11thời gian, công sức mà độ chính xác không cao.
Từ những van đề trên, nhóm quyết định làm đồ án “Ứng dung bat độngsản hỗ trợ quyết định dựa trên giá thị trường ”
Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường
Tạo ra ứng dụng có giao diện thân thiện với người dùng và có tính thực
tiễn cao dé có thé triển khai vào thực tế
Thu thập dữ liệu từ các bài đăng bat động sản dé đưa vào hệ thống hỗ trợquyết định dựa trên giá thị trường
Tích hợp cổng thanh toán trong ứng dụng.
Tổng hợp kết quả và viết báo cáo
3 Tính mới/ khác biệt về chức năng
Khảo sát qua các trang web và các ứng dụng lớn bất động sản của
Việt Nam hiện nay như diaoconline.vn, batdongsan.com.vn, Homedy,
NhaDat24h, nhóm nhận thấy:
Các nên tảng này chưa có hệ thống hỗ trợ dé người dùng nắm bắt giá bat
động sản tại khu vực mà họ quan tâm Do đó, việc tích hợp hệ thống này
vào ứng dụng sẽ là tính năng đột phá.
Các trang web và ứng dụng hầu như thiếu tính năng hỗ trợ lưu các bất
động sản mà người dùng quan tâm Vì vậy, ứng dụng sẽ tích hợp thêm
tinh năng này dé tạo sự thuận tiện cho người dùng
Khi khảo sát trang batdongsan.com.vn, chức năng đăng bài theo gói bài
đăng hoạt động tương tự khi trả phí để quảng cáo bài đăng ngay trong nềntảng đó Do đó, nhóm sẽ tích hợp tính năng mới này vào ứng dụng, đồng
Trang 12thời tích hợp công thanh toán Momo.
Đối tượng và Phạm vi
Những người có nhu cầu tìm kiếm va đăng tin bat động sản
Các hệ thống hỗ trợ quyết định
Pham vi địa lý: Ứng dụng sử dụng tại Việt Nam, riêng hệ thống hỗ trợ
quyết định chỉ sử dụng tại địa bàn TP.HCM
Phạm vi chức năng:
o Xây dung ứng dung cho phép người dùng có thé tìm kiếm, đăng
tin mua bán, cho thuê bat động sản
o Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường tại
khu vực.
o Chức năng 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 thanh toán Momo dé nạp tiền vào ứng dụng.
Phương pháp thực hiện
Khảo sát các trang web, ứng dụng Bắt động sản đã có trên thị trường
Đánh giá ưu khuyết điểm của các nền tảng
Tìm hiểu về các hệ thống hỗ trợ quyết định.
Xây dựng ứng dụng cung cấp nền 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 bộ dữ liệu cho hệ thong hỗ trợ quyết định dựa trên giá thị
trường.
Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường
Tổng hợp kết quả và viết báo cáo
Kết quả 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ợ quyết định dựa trên giá thị trường
cho khu vực TP.HCM.
Trang 13e_ Tích hợp hệ thống hỗ trợ quyết định trên vào ứng dụng bat động sản.
Kế hoạch thực hién:(M6 ta kế hoạch làm việc và phân công công việc cho
từng sinh viên tham gia)
2 Vẽ sơ đồ UML cho ứng dụng Đức, Đạt
Nghiên cứu về các công nghệ được sử dụng: ASP.NET
3 Đức, Đạt
Zero, Flutter, MariaDB, Crawler, Adobe XD,
4 | Thiết kế UI/UX cho ứng dụng băng Adobe XD Đạt
Xây dựng ứng dụng cơ bản theo kiến trúc Client —
5 Server với Flutter tại Client và ASP.NET Zero tại Đức
Server.
Giai doan 2: 02/04/2022 — 20/05/2022
6_ | Xây dung Co sở dữ liệu cho ứng dụng Đức
7 | Xây dựng các API cho các chức năng của ứng dụng Đức
3 Xây dựng Giao diện người dùng theo mau thiết kế từ Đ
ạt giai đoạn 1.
9 Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị Đức, Đạt
Trang 14I1 | Tổng hop và viết báo cáo Đức, Đạt
Xác nhận của CBHD TP HCM, ngày 18 tháng 2 năm 2022
(Ký tên và ghi rõ họ tên) Sinh viên
(Ký tên và ghi rõ họ tên)
ThS Trần Anh Dũng Nguyễn Minh Đức
Phạm Quốc Đạt
Trang 15TÓM TAT KHÓA LUẬN + 25+ ©E2E2EE£EEEEE2EE2E127171121122171 71.21 E1 rxeeU 1
Chương 1 TONG QUAN DE TÀII 2-52 5E2E2EE2EE£EEEEEE2EEEEEEEEEEErErrrkervee 2
1.1 Đặt vấn G6 eeccccccccccsesssssessessessusssessessessusssessessessessussseesessssusesessessesseseseesess 2
1.2 Mục tiêu đề tài 2k k2 E21 7122121121111 11211 11c cere 2
1.3 Đối tượng và phạm Vi đề tài - ¿5s se E22 2EEEEEEEEE21122171E21 211 xcrxe 3
1.3.1 Đối tượng c.22c22k2EE 22k 2222112212111 cEkcree 3
1.3.2 Phạm vi đề tài : 7k 22k22 2212212112211 21 1 cEkcre 3
1.4 Công CU SỬ Ụng - SH TT TH HH HH ng 3
Chương 2 KIÊN THỨC NEN TẢNG 222£©++2E++E+EEtExerkerrerrkerxee 4
“ANH 28a y2 4
2.1.1 Flutter l2) Ar S E Le 4 2.1.2 Tại sao lại là Flutter? -:- sc©5<+<+Ek+EEeEECEEEEEkEEkerkrrkrrkerkrree 4
2.1.3 Đặc điểm nỗi bật 22-52: 2E 2 EEESEEE21121122121121ecEkecree 5
2.3.3 Đặc điểm nổi bật ¿52-52 2t 2x2 2222121211211 ctrrrei 6
2.4 MarlialÐB -ĂQ TS ky 7
2.4.1 MariaDB 18 cố 7
Trang 162.4.2 Tai sao lại là MarlalDB? << Q22 11kg kg khe, 7
2.4.3 Đặc điểm nỗi bật ¿©2222 22E2EEE212221 2112211271211 cEkecrkv 7
2.6.3 Đặc điểm nôi bật -c 2c 2c 2ccSc 2E E21 221121121111 12x ekrrei 9
2.7 Hé thống hỗ trợ người dùng ra quyết định - 2 2 ss£s+zs+s+¿ 10
2.7.1 Ra quyết định là gì? ¿-©2c22x+22kc2EkEEEEEkErkrrrkerkerkrerkee 10
2.7.2 Khái niệm hệ hỗ trợ ra quyết định - 2-2 s+sz+zz+xe+rxersez 11
2.7.3 Phương pháp xây dựng hệ thống hỗ trợ ra quyết định - 11
Chương 3 HỆ HỖ TRỢ QUYET DINH ono ccccesecssesssssesssesssessssseessecssessteeseessecs 12
3.1 So lược hệ thống hỗ trợ quyết định của đề tài ¿5c 5c sccsscsee 12
3.2 Các thách thức khi xây dựng hệ hỗ trợ quyết định -. : -: 12
3.3 sua n : 12
3.3.1 Lựa chọn nên tảng đăng tỉn -¿ 2c 5sSE+S++E2E2EEEerkerkerkereeree 12
3.3.1.1 Trang batdongsan24h.com.VII 5-5 Sex ssvsssessere 12 3.3.1.2 Trang nha.chOtOf.COm -G 11v Hee 13
3.3.1.3 Trang batdongsan.COm.VI - Ăcsk kiệt 13
3.3.1.4 Kết quả lựa chọn nền tảng -2- 2c 522c2+cxc£EczEzreerxerxeres 13
3.3.2 Quá trình thu thập dữ liệu - - 55 +1 re, 14
Trang 173.3.2.1 Vẽ sơ đồ trang web batdongsan.com.vn -: -s+ 14
3.3.2.2 _ Lựa chọn các thông tin của một bài đăng - - - 15 3.3.2.3 Cào đữ liệu 2.2222 TT E1 ererrree 16 3.3.2.4 Xử lý đữ GU eecccccccccccscsessessesssesseesessesssessessessessesseesessessnseseeseess 17
3.3.2.5 KẾtquả 27 2.222 TH 1121211 111k 19
3.4 Xây dựng biểu đồ giá của từng loại hình theo khu vực -. 21
3.5 Tính năng nhận xét nhanh cho biểu đồ giá 2-2 2+z+s+zsz+sz+‡ 23
3.6 Tinh năng gợi ý bất động sản phù hợp - 2 s+cs+cxe+x+rssrserxeee 24
Chương 4 PHAN TÍCH ĐẶC TẢ YÊU CÂU -¿-2¿©2++cs++cx+scszex 26
AL Danh sách yêu cầu ¿-ec©e+©5++c+t+EkEEEtEkeerketrkerkkerkesrkerrreee 26
4.1.1 _ Yêu cầu phần mềm -2- + 2 2+E£+E£EE+EE+EEEEE+EEEEEEEeEkerkrrkerkee 26
4.1.2 Bảng trách nhiệm cho từng yêu cầu .¿ ¿-«¿©+s++zx++zseex 27
4.1.2.1 Yêu cầu nghiệp vụ - -ccccE+EEEEeEEerkrrkrrkerkerree 27
4.1.2.2 Yêu cầu tiến hóa -<+E+2E+EE+EEEEEEEErrkrrkrrkerree 28
41.2.3 Yêu cầu hiệu quả -¿ ¿©-+©+++cx++rxtrxeerkesrxerrsees 30
4.1.2.4 _ Yêu cầu tiện dụng - - keckeEESEEEEEEEEEEEEEEkerkrrkrree 31
4.1.3 Yêu cầu phần cứng 2¿©5¿+2+2E+tEE+SEESEErEErerkrsrkrrrrees 33
Trang 184.3.4 Usecase cho Kiểm duyệt viên ¿2¿©5++2+++zxc2xterxesrxezrxees 71
4.3.5 Usecase cho AdMmiIn ccccccccceccccccccesesscescccsssssseceseessseesecesessseeeeeesseees 76
AA, Sơ đỗ tuần tự -+7kc2k2 22221 2121121122121 96
44.1 Sơ đồ tuần tự việc đăng ký - +ccctcEEEerkerkrrrrrrkerrees 96
4.4.2 Sơ đồ tuần tự cho việc thêm bài đăng - 2 2+scxccxezxsceee 97
4.4.3 Sơ đồ tuần tự cho việc nạp I0 98
4.4.4 Sơ đồ tuần tự cho việc gia hạn bài viẾt -2 5¿©5z+cz+cscrxerseee 984.4.5 So đồ tuần tự cho việc lập báo cáo -¿- 2s xccx+ezrxerxerseee 99
45 Sơ đồ trạng thai c.cceccceccccsccsssssesssecssecssessssssscsscsusssssssecssecssessecssecsseeseeeseeees 100
4.5.1 Sơ đồ trang thái cho Đăng nhap ccccccccccscecscssscsssesssecsessseessecsessteeseeans 100
4.5.2 So đồ trạng thái cho Thêm tài khoản 2-5 2 22sz+szcxze: 101
4.5.3 Sơ đồ trang thái cho Nạp tiền cho tài khoản - 2-5: 101
4.5.4 So đồ trạng thái cho Tạo bai đăng mới -5- 2 2sz+szcsze: 102
4.5.5 So đồ trạng thái cho Tìm kiếm bài đăng -¿ 5¿55s¿ 103
4.6 ERD và sơ đồ lớp - 2-52 2E2E22215712112112217121121111 11c tre 104
4.6.1 Mô hình thực thể ERD hoàn thiện -2- 5252 ©<+xz+zsezzed 104
46.2 Sơ đỗ lớp - 2c 2L 2222211221211 errree 105
4.6.3 Mô tả sơ đồ lớp + 2E E2 EE1221121121171211211211 11.1 ee 106
4.6.3.1 Danh sách các lớp đối tượng và quan hệ - 2: 106
4.6.3.2 Mô tả chỉ tiết từng lớp đối tượng - 2s xcccczcszrsees 106
Chương 5 THIET KE HE THÓNG -2©22- 2+2E+EE2EE+EE£EEeEEerEezrerrxee 113
5.1 Sơ đồ logiC -cc 2L 2k 2222 E2 2122121121111 errrree 113
5.1.1 _ Thiết kế sơ d6 logiC - ¿5s 2E2E2EEEEEEEEEEE2E1221 7121 re 113
5.1.2 Mô tả sơ đồ logiC -:- + E2 2 2121711111111 cxee 114
Trang 195.1.2.1 Bang NguoiDung c- cành ngư 114 5.1.2.2 Bảng BaiDang nh HH HH 114 5.1.2.3 Bang DanhMuc Gv HH ng ngư 115 5.1.2.4 Bang ThuocTĩnh - cà 1v vn ngư 115 5.1.2.5 Bang ChiTietBallDang - c key 116 5.1.2.6 Bang HinhAnh 5c cv HH ng ng ngư 116 5.1.2.7 Bảng Xa Ăn TH TH TH ng HH TH như 116 5.1.2.8 Bang Huyen HH TH TH kp 116 5.1.2.9 Bang Tinh — 117
5.1.2.10 Bang ThamSo cccceccccceccesseseeseeseeeeeeeceececeeeeseeeeeseeseeeeeeaeenees 117
S.1.2.11 Bang GoIBailDang cv vn ng ng ve 117
5.1.2.12 Bảng BaiGhimYeuThich ¿5s ++s*++£+serseereeeseerseers 117
5.1.2.13 Bang ChiTietHoaDonBaiDang - - 5 5s 5<s++scsseeress 118
5.1.2.14 Bảng LichSuGiaoDICH - csc sex +sxekketeeereererrrres 118
5.2 Thiết kế kiến trúc -+ct2c2+rtttErtrtttrtrrttrrrrtrtrrrrrrrrrrrried 118
5.2.1 _ Kiến trúc tổng quan + 22522 +E£E£EESEEEEEEEEEEErrrrerkerree 118
5.2.2 Flutter ADD Ăn HH TH TH HH HH TT nh 119 5.2.3 ASP.NET Core SỌUtION c- G2 ng ngư 119
5.3 Thiết kế giao diện - ¿52+ EE1211211211211171 11111 1e re 120
5.3.1 Man hình Đăng nhập - c2 1S S9 SH g nrgngrưy 120 5.3.2 Man hình Đăng ky vn ng nghệ, 121
5.3.3 Man hình Quên mật khẩu 2 2 + +++E+E++£xerxtzkzrerrxees 123
5.3.4 Màn hình Trang chủ - + S2 vn ng ng ng re 124
5.3.4.1 Màn hình Trang chủ chế độ người dùng khách - 124
Trang 205.3.4.2 Man hình Trang chủ - eee 5 5< Sky 125
5.3.4.3 Màn hình Bộ lọc bài đăng -.- cSĂcsSssssiserereres 126
5.3.4.4 Màn hình Chi tiết bài đăng -2-©5ccccccccrxerrereerree 128
5.3.5 Màn hình Bản đồ cccccrttitrtrirtrtrrirrrrirrrrrrirrrrrre 130
5.3.5.1 Màn hình Xem bản d6 -¿- 2 +2x+2z++zerxerxerreerrerxee 130
5.3.5.2 Màn hình Tìm kiếm trên bản đồ ¿ c-cceccxerrrre 132
5.3.6 Man hình Đăng bải 11v 9 9 ng rệt 133 5.3.7 Màn hình Cá nhân - s9 9v 9v 9 ng nghệ 136
5.3.7.1 Man hình Tài khoản của tÔI .- Ă Si, 138 5.3.7.2 Man hình Chỉnh sửa thông tin cá nhân - <+s 139
5.3.7.3 Màn hình Ví tiền của tôi -cccccccrerrrrrtrrrrrrrrrrrree 140
5.3.7.4 Màn hình Nạp tiền -©2¿+c<+ckcEEcEEEEEerkerkrrrrkerkee 141
5.3.7.5 Màn hình Bộ loc lịch sử giao dịch - -s+++x+<>+sxxs 142
5.3.7.6 Man hình Báo cáo thông kê - 6+5 + sskssessersseses 143
5.3.7.7 Màn hình Cat đặt - -.c- SĂ 3n Shin 144
5.3.7.8 Màn hình Đổi mật khẩu - -c+©c+eererrxererrkrrrrrreee 145
5.3.7.9 Man hình Bài đăng của tÔI Gà SH, 146
5.3.7.10 Màn hình Bài ghim yêu thích -.- - 5 «5s +++x£sveseeseesee 148
5.3.7.11 Màn hình Biểu đồ giá 2-52 2+E+EeEEeEeEkeEerrrerrrred 149
5.3.7.12 Màn hình Tra cứu bat động sản và kết quả tra cứu 150
5.3.8 Màn hình Quản trị (Chỉ hiển thị với admin và kiểm duyệt viên) 152
5.3.8.1 Man hình Quản lý người dùng 55-ccscscsersee 154
5.3.8.2 Màn hình Xem thông tin chỉ tiết người dùng 155
5.3.8.3 Man hình Thêm mói/Chỉnh sửa thông tin người dùng 157
Trang 215.3.8.4 Màn hình Quản lý vai trỒ .- ác cSek+skireireirkrerrke 158 5.3.8.5 Màn hình Quan lý danh mục 5 eee +<<++scsscceseees 160 5.3.8.6 Man hình Thêm mới/Chỉnh sửa danh mục - - 161 5.3.8.7 Man hình Quản lý gói bai đăng - - 55 5<c<++s+ssersss 162 5.3.8.8 Màn hình Thêm mới/Chỉnh sửa gói bai đăng 164 5.3.8.9 Man hình Quản lý thuộc tính -.- 5+5 ++x+scseeseesersee 165
5.3.8.10 Man hình Thêm mới/Chỉnh sửa thuộc tính - 167
5.3.8.11 Man hình Kiểm duyệt giao dịch - + s+cs+ce+szxzed 168
5.3.8.12 Màn hình Quan lý bài đăng - 2- SĂcSssisireererres 169
Chương 6 PHÁT TRIÊN VA CÀI DAT UNG DỤNG - 171
6.1 Môi trường phát triển ứng dụng 2-2 2+£+k+£k+EE+Ex+Ezrezrerreree 171
6.2 Môi trường triển khai ứng dụng -¿©s¿©++:x++zx+zx+erxezrxesred 171
6.3 Thanh toán qua MOmO G1111 kg 171
6.4 Xuất bản trên CH Play -:- 2:22 ©5£+2E2EEt2EEEEEEEEEEEEerkkerkrerkerred 172
6.5 Cài đặt dành cho nhà phát triên 22 ¿©+++++x++zxtzxxerxezrxesred 172
6.5.1 Cai đặt tiên quyẾt :- ccs E2 212211 2127111111111 2121 1 cxee 172
6.5.2 _ Hướng dẫn cài đặt từng bước -: - ¿+ ++s+c++xezxexzxerees 173
Chương 7 KIEM THỬ -2-22+SE+EE2EE2EEEEEEEEEEEEEEEEEEEEEerkkrrrrrkee 174
TL TOStCase 174 7.2, Umit T@S( Gà 174 7.3 Automation Tet 176
Chương 8 KETLUAN VÀ HƯỚNG PHAT TRIÉN -. : :5¿ 178
8.1 Kết quả dat đượcC -©5+©2+2EEcEk 2221221211212 ee 178
8.1.1 Về mặt nghiên CỨU - ¿ - E©k+EE+EE2EE£EEEEEEEEEEEEESEEEEErrerkerree 178
Trang 23DANH MỤC HÌNH
Hình 2.1: Ví dụ minh họa cho FÏut{er- << 5555 21111 E + +22 EEEeessseeeeeerss 5 Hình 2.2: Hệ quản tri cơ sở dữ liệu MarIaD - 5 5s + *+kvseeeeseerssrreree 8
Hình 2.3: Tiện ích Web SCTAD€T - - G11 HH HH ng 9
Hình 2.4: Ứng dụng Adobe XD - ¿22 <+SEeEE2 E2 1EE1211211211171 71121111 re, 10Hình 3.1: Sơ đồ trang batdongsan.com.Vn - ¿2 + x+2E++EE+EE+EEerEezrksrxerxerex 14
Hình 3.2: Một số thuộc tính chính của bài đăng trên trang batdongsan.com.vn 15Hình 3.3: Crawl dữ liệu bằng Web sCraper - 2-5652 2EE2EEeExerkrrkerkerkerex 17
Hình 3.4: Tỉ lệ dữ liệu sau khi lọc dữ liệu ảO - 5 5S ssveeseereserrre 21
Hình 3.5: Vi dụ biểu đồ giá của Căn hộ chung cư tại Phường Bến Nghé, Quận 1 22
Hình 3.6: Các bộ lọc thuộc tính của biểu đỗ giá -. cccc-ccccccrrrerrrrkerrre 23Hình 3.7: Ví dụ về tính năng nhận xét trong bài đăng 2 ¿2 s2 s+csz s2 24Hình 3.8: Tinh năng gợi ý bất động sản phù hợp - 2-2 2 2+ +x+zx+z+zzssez 25Hình 4.1: Sơ đồ Usecase tông quát -¿- ¿- + + +8EE#EE#EESEEEEEEEEEEEEEEEEerkerkrrkrree 37Hình 4.2: Sơ đồ Usecase cho Actor ““Khách'” s- s+++£+£x+zxezxzresrxerxeres 37Hình 4.3: Sơ đồ hoạt động của “Đăng ký” 5-cs ckcct 2E 2E erkrrei 39Hình 4.4: Sơ đồ hoạt động của “Đăng nhập”” - + + ++£++E+EezEerxerxerxersrree 41Hình 4.5: So đồ hoạt động của “Xem bai dang” oe essessessessesessessessessessesseeee 43Hình 4.6: Sơ đồ hoạt động của “Tim kiếm bai đăng” -¿ ¿©cxeecsccxesree 45Hình 4.7: Sơ đồ hoạt động của “Ghim bài đăng”” ¿- 2 z+cecxerxerxersersrree 47Hình 4.8: Sơ đồ hoạt động của “Xem bản 7A & 50Hình 4.9: So đồ hoạt động của “Tìm kiếm xung quanh khu vực” - 52Hình 4.10: Sơ đồ Usecase cho Actor “Người đùng” -¿- ¿se ccccxerxersersrree 53Hình 4.11: So đồ hoạt động của “Quan lý thông tin cá Nha” eee 55Hình 4.12: Sơ đồ hoạt động của “Dang bài” 5: 222Sc2cxc2EeExverkrrrxerrreree 58Hình 4.13: Sơ đồ hoạt động của “Chỉnh sửa bai dang” eeccccscscesseestesstesseesseesseens 59Hình 4.14: Sơ đồ hoạt động của “Xóa bài đăng” -2-©5c+ce+cxccxerErrxerxerrrrex 60Hình 4.15: Sơ đồ hoạt động của “So sánh hai bai đăng” -c¿ccs+cccrxccez 62Hình 4.16: Sơ đồ hoạt động của “Gia hạn bài ViẾt” ¿- 2 2+ +xecxezxerxerssree 64
Trang 24Sơ đô hoạt động của “Xem báo cáo cá nhâñ” - -. cc+ccs+cssersee 66
Sơ dé hoạt động của “Xem biểu đồ giá khu VỰC” .c-s-cxxes 68
Sơ đồ hoạt động của “Tra cứu bất động sản phù hợp” - 70
Sơ đồ Usecase cho Actor “Kiểm duyệt viên” +©z©cs+cxccxczez 71
Sơ đồ hoạt động của “Kiểm duyệt bài đăng không hop lệ” 73
Sơ đồ hoạt động của “Xác nhận nạp LIỀN” Su tt Set Erkskerrkeree 75
Sơ đồ Usecase cho Actor “Á dmiñ” - ¿5s s2 2£2ExeEkezkzrxerkerkcres 76
Sơ đồ hoạt động của “Thêm người dùng mới” -: s¿ 79
Sơ đồ hoạt động của “Chỉnh sửa thông tin người dùng” 80
Sơ đồ hoạt động của “Xóa người dùng ” - ¿c2 5sccccccczrerxrrecres 81
Sơ đồ hoạt động của “Xem báo cáo tong thé” eececcsesseeseeeeeeeeeeees 83
Sơ đồ hoạt động của “Thêm danh mục TỚi” - +s«+++ss+++sss+ 85
Sơ đồ hoạt động của “Chỉnh sửa danh mục” - ‹ -«+-e<++ex++ 86
Sơ đồ hoạt động của “Cập nhật thông tin hiển thị danh mục” 87
Sơ dé hoạt động của “Thêm thuộc tính mới” - «++s<+s+>+ 89
Sơ đồ hoạt động của “Chỉnh sửa thuộc tính” - ¿+ +-s++++s++es++ 90
Sơ đồ hoạt động của “Thêm gói bài đăng mới” ¿+ + +: 93
Sơ đồ hoạt động của “Chỉnh sửa thông tin gói bài đăng” 94
Sơ đồ hoạt động của “Cập nhật hiển thị cho gói bai đăng” 95
Sơ đồ tuần tự cho việc “DANG ký” c¿©c+cccccckcrkrrrrerrerkrervee 96
Sơ đồ tuần tự cho việc “Thêm bài GANG” 1 97
: Sơ đồ tuần tự cho việc “Nạp n0 98
Sơ đồ tuần tự cho việc “Gia hạn bài viẾt” -ccccccxvrrrrerrerrvee 98
Sơ đồ tuần tự cho việc „0, ác la 99
Sơ đồ trạng thái cho “Đăng nhập” -: ¿©++cs+2cxvzxxvrxesrxre 100
Sơ đồ trạng thái cho “Thêm tài khoản” 2- s+©cx2c++cx+zzxze 101
Sơ đồ trạng thái cho “Nạp tiền cho tài khoản” -2- 2-5555: 101
Sơ đồ trạng thái cho “Tạo bài đăng mới” - + s+cz+cz+sccees 102
Sơ đồ trạng thái cho “Tìm kiếm bài dang” wo 103
Trang 25Hình 4.46: Mô hình thực thé ERLD - 2 2 2£ 5E2S£+E££EE£EEtEEEEEEEEEerkerkerrrrrkee 104
Hình 4.47: Sơ d6 Op ccescesscsssesssesssessssssssssecssessuecsssasecsuscsssssecssecsusssssssecsuecssecsecasecsees 105
Hình 5.1: Sơ đồ logic 2¿- 5:52 2S22Ex2212211221127121127112711211 21121111 1ecce, 113Hình 5.2: Kiến trúc tổng quát của hệ thống -2- ¿++++++x++zx+zrxrrseee 119
Hình 5.3: Giao diện “Đăng nhập'” - c3 122v 1111111111111 re 120
Hình 5.4: Giao diện “Đăng ký” ác HH TT TH HH gệp 121
Hình 5.5: Giao diện “Quên mật khâu ” - 2-5 £++£+£++£E+£E++EE£Exerxezrezreerxee 123Hình 5.6: Giao diện “Trang chủ” ở chế độ '“Khách'” -¿- - s+cecx+xerkerreerxsed 124
Hình 5.7: Giao diện “Trang chủ” khi đã đăng nhập - 5+5 +++<+<sx+sxs+ 125
Hình 5.8: Giao diện “Bộ lọc bài đăng ”” -c n1 TH HH ng nghệ, 126
Hình 5.9: Giao diện “Chi tiết bài đăng” ¿- 2-5552 2t22x2ExtEESEerxerkrrrrrrrerree 129Hình 5.10: Giao diện “Xem bản đồ” ¿St t2 EE+ESEEEESESEEEEEESEerkrkrkerereee 130Hình 5.11: Giao diện “Tim kiếm trên bản đồ” -ccc¿c5sccsccxvvrsrxvrrerrreed 132
Hình 5.12: Giao diện “Đăng bài” 2c E11 1111111111111 111111111 11 1T rệt 133 Hình 5.13: : Giao diện “Trang cá nhânỉ” - - + 2< + *+sksrererrrrrrrerrerre 136
Hình 5.14: Giao diện “Tai khoản của t61” 525 = + + +22 £++zeeezeeeeezzeeeees 138
Hình 5.15: Giao diện “Chỉnh sửa thông tin cá nhan” «+ «<+++++s+2 139
Hình 5.16: Giao diện “Vi tiỀn của tÔi” -¿-c- sec t+ESEEESESEEEEEESEEEEEEEErrkrkrkererres 140Hình 5.17: Giao diện “Nạp "` 78//NNẶ"" 141
Hình 5.18: Giao diện “Bộ loc lịch sử giao dịỊCHỉ” - - 5c sskseeseeesersres 142
Hình 5.19: Giao diện “Báo cáo thống kê”” -©2¿- e+2xeExeEEEEEEEEerkrrrrrkerkee 143
Hình 5.20: Giao diện “Cai đặt” - - 5 SH TH TH TH HH HH TH rệt 144
Hình 5.21: Giao diện “Đổi mật khẩu” c+ccvttetrvtrrrrtrrrrrtrrrrrtrerrrrred 145
Hình 5.22: Giao diện “Bài đăng của tÔI”” - - ct tt SH ri, 146 Hình 5.23: Giao diện “Bài ghim yêu thíchỉ” - c6 + + vs ri 148
Hình 5.24: Giao diện “Biểu đồ giá” ¿52+ 2ck22E2 2212212112121 ctrerrree 149Hình 5.25: Giao diện “Tra cứu bất động sản” - 2-2 x+2E+E+Eerxerxerrerrxee 150
Hình 5.26: Giao diện “Quản tTỊ ” - -c- 5 111111622111 11 111 981111111 85211 key 152 Hình 5.27: Giao diện “Quản lý người dùng ”” - -.- c vs sieeererserersee 154
Trang 26Hình 5.28: Giao diện “Xem thông tin chỉ tiết người dùng” -: -:-+: 155
Hình 5.29: Giao diện “Thêm mới/Chỉnh sửa thông tin người dùng ” 157 Hình 5.30: Giao diện “Quản lý vai tTÒ”” ác St S vn 1111 rệt 158
Hình 5.31: Giao diện “Quản lý danh mụỤC ”” - xxx ri, 160
Hình 5.32: Giao diện “Thêm mới/Chỉnh sửa danh mục” - -.‹‹+++ ss++++ 161
Hình 5.33: Giao diện “Quản lý gói bai dang” eee eeeececeeeeeeeeeeeeeeeeeneeeeeeees 162 Hình 5.34: Giao diện “Thêm mới/Chỉnh sửa gói bai đăng” «5+ 164 Hình 5.35: Giao diện “Quản lý thuộc tính'” .- cSc se x++kskkeireirerrrrrrre 165 Hình 5.36: Giao diện “Thêm mới/Chỉnh sửa thuộc tinh” 5-+s<«++<<+2 167
Hình 5.37: Giao diện “Kiểm duyệt giao dỊCH”” - c c cns + + n H r grey 168
Hình 5.38: Giao diện “Quản lý bài đăng ” St 32v ri irerirre 169
Hình 6.1: Tính năng nạp tiền qua Momo và kiêm duyệt giao dịch 172
Trang 27DANH MỤC BANG
Bảng 3.1: Bang mô tả chỉ tiết các thuộc tính chính của bai đăng - 16Bảng 3.2: Bảng kết quả sau khi loc dit liệu ảo 2 2¿22¿©5++2x++zxzzxvrxesree 21Bang 3.3: Bang các loại hình BĐS được xây dung biéu đỗ giá . - 22Bang 4.1: Bảng danh sách yêu cÂu 2-2 2+ £+ESE£EE£EE+EEEEEEEEEEEEErEerkerkrrkrree 26Bang 4.2: Bảng trách nhiệm cho yêu cầu nghiệp vụ -. - 2: 5©sz+ss+cs+zxzsz 28Bang 4.3: Bảng trách nhiệm cho yêu cầu tiến hóa - 2 2 2+ x+£++£z£s2 +2 30Bảng 4.4: Bảng trách nhiệm cho yêu cầu hiệu quả 2-2 s25z2s+z++zxzsz 31Bảng 4.5: Bảng trách nhiệm cho yêu cầu tiện ỤN - QĂ SH neưe, 33
Bang 4.6: Bảng quy tắc nghiệp vụ - ¿22-5652 2 1221211211211 71 2112111, 35
Bang 4.7: Danh sách các Actor và các Usecases tương Ứng -‹ -+ 36
Bảng 4.8: Bảng đặc ta Usecase “Đăng ký” - cà HH HH ng nh 38 Bảng 4.9: Bảng đặc tả Usecase “Dang nhập”” - ¿5 S3 skksesrrsersrrre 40 Bang 4.10: Bảng đặc tả Usecase “Xem bai đăng ”” 5 + S- + s+ksseeeeseeesers 42
Bảng 4.11: Bang đặc tả Usecase “Tim kiếm bài đăng” -¿ s¿©cscccccs+ 44
Bảng 4.12: Bảng đặc tả Usecase “Ghim bài đăng ” - se csessessssesske 46
Bảng 4.13: Bảng đặc tả Usecase “Xem bài đăng đã ghim” - 5-5 s+<+++s+ 48
Bang 4.14: Bảng đặc tả Usecase “Xem ban đồ)” -s-©5¿©5++cx+cxezxzxeerxerxeree 49Bảng 4.15: Bang đặc tả Usecase “Tim kiếm xung quanh khu vực” .- 51
Bang 4.16: Bảng đặc tả Usecase “Quản lý thông tin cá nhân”” ‹ -«< 5+ 54 Bang 4.17: Bang đặc ta Usecase “Quan lý bai dang” oo ee eeeeeeeeeeeeeeeeeseeseees 57
Bang 4.18: Bang đặc ta Usecase “So sánh hai bài đăng ” - 72c c Sex 61 Bảng 4.19: Bảng đặc tả Usecase “Gia hạn bài dang” -s-cccccsssseseerees 63
Bang 4.20: Bảng đặc tả Usecase “Xem báo cáo cá nhâñ” - s55 ssss++ss+ssss+ 65
Bảng 4.21: Bang đặc tả Usecase “Xem biéu đồ giá khu vực” - -s- 67Bảng 4.22: Bang đặc tả Usecase “Tra cứu bat động sản phù hợp”” -.- 69Bang 4.23: Bảng đặc tả Usecase “Kiểm duyệt bài đăng không hop lệ” 72Bang 4.24: Bảng đặc tả Usecase “Xdc nhận nạp tiỀn” - 2-2 s+sz+zs+cxsrxczez 74
Bảng 4.25: Bảng đặc tả Usecase “Quản lý người dùng ” -s-ccscssscsseerees 78
Trang 28Bảng 4.26: Bảng đặc tả Usecase “Xem báo cáo tổng thế” -¿ -:©csc5+ 32
Bang 4.27: Bảng đặc tả Usecase “Quản lý danh mục ”” - s- «cs«c<<<sxssesses 84
Bảng 4.28: Bang đặc ta Usecase “Quản lý thuộc tinh bat động sản” 88
Bảng 4.29: Bảng đặc tả Usecase “Quản lý gói bài đăng ” - cccccc+cssreey 92
Bang 4.30: Danh sách các lớp đối tượng và quan hệ 2 s2 22sz+sz+sze: 106
Bang 4.31: Mô ta chỉ tiết lớp “AbpUSeTS”” -:- 2 52S22E‡EcEEeEEeEEEEEeErrkrrerrees 108Bang 4.32: Mô tả chỉ tiết lớp “ADpRoles” c.ccscccssessesssessessessesssessessecssessessessessseeses 108Bảng 4.33: Mô tả chỉ tiết lớp ““BaiDangs”” ¿ s:©2+2c+2cxt2Exezxxerkerkrrrrerrree 109
Bang 4.34: Mô tả chỉ tiết lớp “GoiBaiDangs” ¿- + +tccxerererrrrrerrees 109
Bảng 4.35: Mô tả chỉ tiết lớp “ChïTietHoaDonBaiDangs” : -: 110
Bang 4.36: Mô tả chỉ tiết lớp “LichSuGiaoDichsỶ” - ¿5c scs+cs+cczzzxecxees 110
Bang 4.37: Mô tả chỉ tiết lớp “BaiGhimY euThiclis” 5c 55s 225222: 110Bang 4.38: Mô tả chỉ tiết lớp “HinhAnhs”” ©2¿ 2-52 E££E+E££Eerxezxezreersee 110Bang 4.39: Mô tả chỉ tiết lớp “ChiTietBaiDangs” 5-©52ss+cs+cxczxezreerxee 111
Bang 4.40: Mô tả chi tiết lớp “ThuocTinhs”” cccccccecccscessesessessessessesessesteseeseeses 111
Bang 4.41: Mô ta chi tiết lớp “DanhMucs” o c.ccecccccsceseessessesesseesessesessesseseeseesees 111Bang 4.42: Mô ta chỉ tiết lớp “Xas” cccceccssesssessessesssessessessessessecsecsecsseesessesseeseeeses 111Bang 4.43: Mô ta chỉ tiết lớp “Huyens” ccccececssccsessessessessesteseesessessessesesesesees 112Bang 4.44: Mô ta chỉ tiết lớp “Tinhs” c.cceccccccssesseessessessesssessessessesssessessessesseeeees 112Bảng 4.45: Mô tả chỉ tiết lớp ““ThamSos” .¿- 5: ©2+22+2EE+2EEt2EEvEEterxesrxerrree 112
Bang 5.1: Mô tả chỉ tiết bảng “Người dùng'” - 2-55 SscctccEcEeExerkerrrrrerree 114
Bang 5.2: Mô tả chi tiết bảng “BaiDang” c.cceccsccessessesesseseeseeseeseesessesseseeseesees 115Bang 5.3: Mô tả chỉ tiết bảng ““DanhMu”” 5-52-5252 S2‡EEE‡EEeEEEEEeEeErrerrees 115Bảng 5.4: Mô tả chỉ tiết bảng ““Thuoc Tỉnh” - 5:55 55+22x+2£xt2x+vzxtzrxsrxerseee 115Bảng 5.5: Mô tả chỉ tiết bảng ““ChiTietBaiDang” -¿25¿©5sccscczxcsrxerseee 116Bảng 5.6: Mô tả chỉ tiết bảng ““HinhAnh'” 5:©25c55222S+2£xc2Evzxeerxrsrxerseee 116
Bang 5.7: Mô tả chỉ tiết bảng “°Xa” 5-5 5c SE E21211271271711211211 11111 xe 116
Bang 5.8: Mô tả chi tiết bảng “Huyen” c.cccccscscsscssessessessesseseeseesessessessesseseeseeses 116Bang 5.9: Mô tả chi tiết bang “Tinh” ccccsccecsessesseessessessesssssessessssesssessessesseseees 117
Trang 29Mô tả chỉ tiết bảng “ThamS0” c.cscssscsssesssssssssecssesssssecssecssecseessecsees 117
Mô tả chỉ tiết bảng “GoiBaiDang'” 26c ccccxccxerkerkrrrrerreee 117
Mô tả chỉ tiết bảng “BaiGhimYeuThich”” - 2-55 xczxczzezzxze: 118
Mô tả chỉ tiết bang “ChiTietHoaDonBaiDang” cccccecseecseesseeseesees 118
Mô tả chỉ tiết bảng “LichSuGiaoDich'” -5- 5c 5sccs+czcszsezscred 118
Mô tả chi tiết màn hình “Dang nhập”” 2-5-5 s+c++E+zEzEzxered 121
Mô tả chỉ tiết màn hình “Đăng ký”” -c5ccccccccxerkerkrrrerxee 122
Mô tả chỉ tiết màn hình “Quên mật khẩu” - 2-5 sz+cz2csze: 123
Mô tả chỉ tiết màn hình “Trang chủ” ở chế độ “Khách” 125
Mô tả chỉ tiết màn hình “Trang chủ” khi đã đăng nhập 126
Mô tả chỉ tiết màn hình “Bộ lọc bài š0 10117 127
Mô tả chỉ tiết màn hình “Chi tiết bài dang” 130
Mô tả chỉ tiết màn hình “Xem bản đồ'” - 2 25s+cxzxczxsczxeei 131
Mô tả chỉ tiết màn hình “Tìm kiếm trên bản đỒ”” -: 132
Mô tả chi tiết màn hình “Dang bài” - + ¿5c 5s+cxv£vEzezxrrered 135
Mô tả chỉ tiết màn hình “Cá nhân” 2- 5+ ©5¿+5++c++zxezxzxeerxees 137
Mô tả chỉ tiết màn hình “Tài khoản của tôi”” s- + s+x+s+zezxzš 139
Mô tả chỉ tiết màn hình “Chinh sửa thông tin cá nhân” 140
Mô tả chỉ tiết màn hình “Ví tiền của tôi”” 2c xccxcecerxees 141
Mô tả chi tiết màn hình “Nap tiền” -¿-c5¿©5cccscccxcsrxerscee 142
Mô tả chỉ tiết màn hình “Bộ lọc lịch sử giao dịchỉ” «‹-«-x++ 143
Mô tả chỉ tiết màn hình “Bao cáo thống kêT” - 2 z+sz+czcea 144
Mô tả chỉ tiết màn hình “Cài đặt” ¿5s cccccccxcerxerxerkrrrrerxees 144
Mô tả chỉ tiết màn hình “Đổi mật khẩu”” 2-5 s22: 145
Mô tả chỉ tiết màn hình “Bài đăng của tôi” -¿ s¿©cscc5c+: 147
Mô tả chỉ tiết màn hình “Bài ghim yêu thích” -¿-5+©55+: 149
Mô tả chỉ tiết màn hình “Biểu đỗ giá” 2-©2¿ sccsccxcrxcrrerxees 150
Mô tả chỉ tiết màn hình “Tra cứu bất động sản” - :-5¿ 151
Mô tả chỉ tiết màn hình “Quản tri? occ 6-55 ‡EeEEeEerkerrkerees 153
Trang 30Bảng 5.39: Mô tả chỉ tiết màn hình “Quản lý người dùng” - : -: 155Bảng 5.40: Mô tả chỉ tiết màn hình “Xem thông tin chỉ tiết người ding” 156Bảng 5.41: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa người dùng” 158Bang 5.42: Mô tả chỉ tiết màn hình “Quan lý vai trò” 2- 25s s2szzzsscsee 159
Bang 5.43: Mô tả chỉ tiết màn hình “Quản lý danh mục” -. .:¿-scs+¿ 161
Bảng 5.44: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa danh mục” 162Bảng 5.45: Mô tả chỉ tiết màn hình “Quan ly gói bai đăng” -: - 163Bảng 5.46: Mô tả chi tiết màn hình “Thém mới/Chỉnh sửa gói bài đăng” 165
Bang 5.47: Mô tả chỉ tiết màn hình “Quản lý thuộc tính” -.:-: 2-5+: 166
Bang 5.48: Mô tả chi tiết man hình “Thêm mới/Chỉnh sửa thuộc tính” 167
Bang 5.49: Mô tả chỉ tiết màn hình “Kiểm duyệt giao dịch”” - : 168
Bảng 5.50: Mô tả chỉ tiết màn hình “Quản lý bài đăng” -2- 2-52 255: 170Bảng 7.1: Kết quả kiêm thử 171 testcase trên 15 modules - : - 174Bảng 7.2: Bảng kết quả Unit Test -5: 2255222 2EE‡EEE2EE+2EEeEEEerkeerxrrrxerrree 175Bang 7.3: Bảng thống kê tổng quan Unit 'Tes( 2-2 5£2522££+£++£xzEzzEzzrseẻ 175Bảng 7.4: Bảng kết quả Unit Test - ¿5-55 SE+SE‡EE2EE2E££E£EEeEEEEEEEEerkrrrrrerrees 177
Trang 31DANH MỤC TU VIET TAT
STT Từ viết tắt Y nghĩa
Ol API Giao diện lập trình ứng dụng —
Application Programming Interface
02 BDS Bat động san — Real estate
03 TP.HCM Thành phô Hồ Chí Minh — Ho Chi Minh city
04 UI Giao diện người dùng — User Interface
05 UX Trải nghiệm người dùng — User Experience
06 DSS Hệ thống hỗ trợ quyết định — Decision Support System
Trang 32TÓM TAT KHÓA LUẬN
Khóa luận với đề tài “Ứng dụng bất động sản hỗ trợ quyết định dựa trên giá
thị trường” nhằm nghiên cứu phát triển một nền tang đăng, xem tin mua ban cho thuêcác bất động sản, dành cho nhà môi giới và nhà đầu tư bất động sản trong nước Đềtài không chỉ kế thừa các tính năng của trang đăng tin bất động sản, mà còn cung cấpthêm các tính năng hỗ trợ quyết định cho nhà đầu tư như: Xem biểu đồ giá thị trườngtheo loại hình bất động sản tại một khu vực, gợi ý các bất động sản theo nhu cầu
Ứng dụng được phát triển trên nền tảng di động vì điện thoại thông minh đã vàđang trở thành xu thế toàn cầu nên sẽ tăng tính tiện dụng và khả năng tiếp cận người
dùng Các công nghệ được nhóm sử dụng như Flutter để phát triển ứng dụng ngườidùng, làm giảm chi phí khi phát triển ứng dụng đa nền tảng Kết hợp với FrameworkASP.NET Zero được sử dụng ở phía server-side Chi tiết hơn về các công nghệ được
đề cập tại Chương 2
Trang 33Chương 1 TONG QUAN ĐÈ TÀI
Trong đó, khi người mua bắt đầu quan tâm đến các giao dịch BĐS thì việctham khảo giá cả thị trường là điều tất yếu và tốn rất nhiều thời gian, công sức mà độ
e Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường
e Tao ra ứng dụng có giao diện thân thiện với người dùng và có tính thực
tiễn cao dé có thé triển khai vào thực tế
e Thu thập dữ liệu từ các bai đăng BĐS dé đưa vào hệ thống hỗ trợ quyết
định dựa trên giá thị trường.
e Tích hợp công thanh toán trong ứng dụng.
e Tổng hợp kết quả và viết báo cáo
Trang 341.3 Đối tượng và phạm vi dé tài
e _ Xây dựng hệ thong hỗ trợ quyết định dựa trên giá thị trường tại khu vực
e Chức năng quản lý thông tin người dùng.
e Quản lý phân quyền người dùng.
e_ Tích hợp công thanh toán Momo dé nạp tiền vào ứng dụng
1.4 Công cụ sử dụng
Công cụ dùng dé phân tích, thiết kế: draw.io, Astah, Adobe XD
Công cụ dung để xây dựng ứng dụng: Visual Studio 2019, Visual Studio
Code, Android Studio 4.x.
Công cụ quản lý dự án: Github, Trello, Messenger Group, Microsoft Teams.
Công cụ soạn thảo: Google Sheet, Excel, Word, Notepad.
Công cụ quản lý Database: DataGrip, PHPMyAdmin.
Trang 35Chương2 KIÊN THUC NEN TANG
2.1 Flutter Framework
2.1.1 Flutter là gi?
Flutter [1, 2] là mobile UI framework của Google nhằm tạo ra các giao diện
chất lượng cao trên iOS và Android trong khoảng thời gian ngắn Flutter hoạt động
với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức.
Flutter hoàn toàn miễn phí và cũng là mã nguồn mở.
2.1.2 Tai sao lại la Flutter?
Flutter là một công nghệ mới được Google phát triển, một framework dựa trênngôn ngữ lập trình Dart Đây được kỷ vọng sẽ là một công nghệ có thể khắc phục cácnhược điểm của React Native
Các ứng dụng được xây dựng với Flutter hầu như không thé phân biệt vớinhững ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện vàhiệu suất Và chỉ cần thêm một số tham số là có thé triển khai phiên ban IOS của một
ứng dụng.
Với khả năng chạy hỗ trợ 60 khung hình trên giây, giao diện người dùng được
tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các
framework phát triển đa nền tảng khác chang hạn như React Native va Ionic Một sốđiểm đặc biệt của Flutter:
e Flutter sử dung Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều
tinh năng hữu ích như mixin, generic, isolate, va static type.
e Flutter có các thành phan UI được thiết kế riêng theo Material Design
của Google, có thé sử dụng trên cả hai nền tang Android và iOS
e Các ứng dụng Flutter thường được phát triển bang cách sử dung IntelliJ
IDEA, Android Studio và Visual Studio Code.
Trang 362.1.3 Dic điểm nỗi bật
e Fast Development: Ting năng Hot Reload hoạt động rất nhanh Sử dụng
tập hợp các widget có thể customizable để xây dựng giao diện trong vài
phút.
e Expressive and Flexible UI: Có rất nhiều các thành phan dé xây dựng
giao diện của Flutter vô cùng đẹp mat theo phong cách Material Design
và Cupertino, hỗ trợ nhiều các APIs chuyên động, smooth scrolling
e Native Performance: Các widget của fluter kết hợp các sự khác biệt của
các nền tảng ví dụ như scrolling, navigation, icons, font dé cung cấpmột hiệu năng tốt nhất tới iOS và Android
Flutter Demo Home Page
fe)
context
widget.title),
(
Button clicked O times
-of (context) textTheme.display1,
ASP.NET Zero [12]: Day là một Visual Studio solution nền cho các dự án
Web app mới Cung cấp kiến trúc SOLID và dễ dàng scale Có sẵn các van đề vềquản lý người dung, chức vụ, phân quyền, audit logging, setting management, quan
ly user profile, Được xây dựng trên dự án mã nguồn mở ASP.NET Boilerplate
Trang 372.2.2 Tại sao lại là ASP.NET Zero?
ASP.NET Zero tiết kiệm thời gian phát triển bằng cách cung cấp các tính năngthường gặp ở các dự án phần mềm với kiến trúc SOLID Mặt khác, tốc độ phát triển
và sửa lỗi sẽ nhanh hơn so với các Framework của Javascript/ Typescript.
e Xác thực & Ủy quyền Nâng cao người dùng, vai trò, quản lý
quyền Nhiều tùy chọn đăng nhập tích hợp & tích hợp
e Phát triển ứng dụng nhanh chóng ngoài các tính năng tích hợp, công cụ
RAD tăng tốc độ phat trién ứng dụng
2.3 ImgBB
2.3.1 ImgBB là gì?
ImgBB [13] là một dịch vụ lưu trữ hình ảnh miễn phí Quá trình sử dụng và tài
liệu API gọn nhẹ, nhanh chóng dé triển khai tích hợp cho dự án
2.3.2 Tại sao lại là ImgBB?
ImgBB là một dịch vụ lưu trữ ảnh miễn phí lên đến 32MB cho mỗi file ảnh
Dap ứng được yêu cau của đề tài
2.3.3 Đặc điểm nỗi bật
e Có tài liệu API.
e Tốc độ tải ảnh và truy xuất nhanh
e Miễn phí.
e Không giới hạn tông dung lượng
Trang 382.4 MariaDB
2.4.1 MariaDB là gi?
MariaDB [3, 4, 14] là hệ quan tri cơ sở dữ liệu miễn phí được phát triển từ hệquản trị cơ sở dữ liệu mã nguồn mở MySQL MariaDB được phát triển nhằm thay thécông nghệ cơ sở dit liệu MySQL, vì thé nó tương thích và cho một hiệu suất cao hơn
so với MySQL.
2.4.2 Tại sao lại là MariaDB?
MariaDB được Michael “Monty” Widenius, developer hàng đầu của MySQL
dẫn dắt và phát triển Ưu điểm lớn nhất của hệ quản trị này là tương thích với nhiều
hệ điều hành, bao gồm Linux CentOS, Ubuntu và Window với các gói cài đặt tar,
zip, MSL, rpm cho cả 32bit và 64bit với hiệu suất cao hơn so với MySQL.
Vì thế, MariaDB đang ngày càng được đông đảo các nhà phát triển sử dụng,trong đó có wikipedia, Fullstack-Station, MariaDB đang có xu hướng thay thé choMySQL - hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất được sử dụng từ trước
đến nay
2.4.3 Đặc điểm nỗi bật
e Hoàn toàn miễn phi.
e Khắc phục những hạn chế của MySQL
e Bồ sung thêm nhiều loại Storage Engine như: Aria, XtraDB,
FederatedX, OQGRAPH, SphinxSE, IBM DB2I, Spider.
e Kết hợp ca SQL và NoSQL
e Hỗ trợ nhiều loại bảng mã ký tự, trong đó có tiếng Việt
Trang 39PA McrioDB
Hình 2.2: Hệ quản trị cơ sở dữ liệu MariaDB!
2.5 Web Scraper
2.5.1 Web scraper là gì?
Web scraper [15] là một công nghệ trích xuất dữ liệu từ trang web Có khả
năng tự động hóa công việc thủ công của việc sao chép thông tin một cách thủ công.
Chỉ cần một crawler để thu thập các văn bản, giá cả, hình ảnh, liên kết sản phẩmtrong một tệp xuất trong khi quy trình thủ công có thể mắt nhiều thời gian
2.5.2 Tại sao lại là Web scraper?
Web scraper miễn phí, không cần cài đặt vào hệ thống Windows, mà là một
tiện ích tích hợp của Chrome và cách sữ dụng rất đơn giản Do đó, tiết kiệm đượcnhiều thời gian, công sức cho việc lấy dữ liệu Thời gian tiết kiệm được sẽ tập trung
cho việc làm sạch bộ dữ liệu.
2.5.3 Đặc điểm nỗi bật
e Hoàn toàn miễn phí.
e Là một tiện ích mở rộng của trình duyệt Chrome.
e Cách sử dụng đơn giản.
e Hầu như không cần phải viết code
e Lấy dữ liệu nhanh, có thé chạy nhiều luồng
! https://aws.amazon.com/vi/rds/mariadb/
Trang 40Web Scraper - Free Web Scraping
**#**%**# 757 @ | Năng suất | 500.000: người dùng
Hình 2.3: Tiện ích Web Scraper?
2.6 Adobe XD
2.6.1 Adobe XD là gì?
Adobe XD [5] (còn được gọi là Adobe Experience Design) là một công cụ
chuyên hỗ trợ về thiết kế website và ứng dụng được phát triển bởi Adobe Inc Adobe
XD một phần mềm rất hữu ích và hỗ trợ cho những người dùng trong việc thiết kếcũng như tạo nguyên mẫu cho nhiều ứng dụng khác nhau
2.6.2 Tại sao lại là Adobe XD?
Khi sử dụng Adobe XD có thể hiểu thêm được quy trình về xây dựngWireframe, giúp tao và thiết kế giao diện cho người dùng về App
Mobile/Web/Landing Page nhanh chóng Giao diện Adobe XD it công cụ, g1úp người
dùng dễ dàng tìm thấy các công cụ khác trong lúc thao tác hơn những phần mềmkhác nên có thé sử dụng cả khi là một người không chuyên Trong lúc làm việc với
Adobe XD, có thê cùng lúc mở nhiêu bản vẽ cho nhiêu giao diện màn hình.
Nếu là một lập trình viên hoặc đã từng sử dụng và hiểu rõ về X-Code (công cụlập trình iOS) thì việc chuyển hướng qua Adobe XD rat đơn giản bởi phần mềm này
có giao diện khá tương tự và điều hướng với phần mềm X-Code
2.6.3 Đặc điểm nỗi bật
e Tạo hoặc chia sẻ liên kết đến người dùng khác
? https://webscraper.io/blog/ultimate-web-scraping-guide