Nhưng với thực trạng hiện nay, có quá nhiều thông tin về bất động sản khiến cho khách hàng rất khó khăn trong việc lựa chọn.Nhận thấy những hạn chế trong việc lựa chọn bất động sản của k
Trang 1ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO CUỐI KÌ
ĐỒ ÁN 1
ĐỀ TÀI: HỆ THỐNG TÌM KIẾM VÀ GỢI Ý BẤT ĐỘNG SẢN
Giảng viên hướng dẫn:
ThS Trần Anh Dũng
Sinh viên thực hiện:
Trần Huy Quỳnh 18521329 Nguyễn Hữu Minh Quý 18521315
Thành phố Hồ Chí Minh, 2021
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Trang 3LỜI CẢM ƠN
Chúng em xin cảm ơn thầy – Ths Trần Anh Dũng đã giúp đỡ chúng em trong quá trình thực hiện và giải đáp thắc mắc về đồ án Qua đó chúng em có đủ kiến thức để hoàn thành đồ án
Dù đã cố gắng hoàn thành đề tài trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo từ Thầy nhằm hoàn thiện những kiến thức mà nhóm chúng em
đã học tập và là hành trang để nhóm chúng em thực hiện tiếp đề tài trong tương lai
Chúng em xin chân thành cảm ơn
Nhóm thực hiện
Thành phố Thủ Đức, tháng 06 năm 2021
Trang 4ĐỀ CƯƠNG CHI TIẾT
Tên đề tài: Xây dựng hệ thống tìm kiếm và gợi ý bất động sản
Giảng viên hướng dẫn: ThS Trần Anh Dũng
Thành viên:
Nguyễn Hữu Minh Quý – 18521315
Trần Huy Quỳnh – 18521329
Thời gian thực hiện: Từ 17/03/2021 đến 30/06/2021
Nội dung đề tài:
1 Lý do chọn đề tài:
Ngày nay, việc sở hữu một thiết bị có thể truy cập Internet đã dễ dàng hơn nhiều do các công ty ngày càng tạo ra nhiều sản phẩm có giá thành rẻ Điều đó đã giúp cho Internet phát triển và phủ sóng khắp mọi nơi, kéo theo đó là sự bùng nổ của các website cung cấp các dịch vụ trực tuyến Và bất động sản là một lĩnh vực có sự quan tâm rất lớn vì mỗi người đều muốn sở hữu cho mình một nơi ở để sinh sống, học tập và làm việc Nắm bắt được những nhu cầu đó của khách hàng, nhiều công ty, doanh nghiệp, tổ chức cá nhân nói chung
đã tạo ra các hệ thống bất động sản ngay trên các trang web giúp mọi người dễ dàng trong việc tìm kiếm nơi phù hợp và nhanh chóng Nhưng với thực trạng hiện nay, có quá nhiều thông tin về bất động sản khiến cho khách hàng rất khó khăn trong việc lựa chọn.Nhận thấy những hạn chế trong việc lựa chọn bất động sản của khách hàng nên nhóm em
đã thảo luận và quyết định chọn đề tài “Xây dựng hệ thống tìm kiếm và gợi ý bất động sản”
để giúp khách hàng có thể dễ dàng tìm kiếm các bất động sản vừa ý về chất lượng và tài chính
2 Mục tiêu đề tài:
Hệ thống tìm kiếm và gợi ý bất động sản được thực hiện dựa trên các mục đích cụ thể sau:
- Thứ nhất là xây dựng được một ứng dụng có tính thực tiễn cao, có thể đưa vào sử dụng trong thực tế, giúp người dùng có thể tìm kiếm, xem thông tin các bất động sản
dễ dàng và nhanh chóng Ngoài ra hệ thống có thể gợi ý được các bất động sản để người dùng có thể đưa ra sự lựa chọn chính xác nhất
- Thứ hai là giúp cho nhóm em có thể tìm hiểu về các công nghệ mới hiện nay Điều
đó giúp nhóm em có nhiều kinh nghiệm hơn, tạo tiền đề để phát triển sự nghiệp sau này
- Nhóm hy vọng dựa trên nền tảng lý thuyết được thầy cô truyển thụ lại cùng với sự
Trang 5tìm hiểu của nhóm có thể tạo ra kết quả tốt cho đồ án này
3 Nhiệm vụ của đề tài:
- Xây dựng hệ thống bao gồm những chức năng cơ bản của một trang thông tin bất động sản: xem tin bất động sản, tìm kiếm thông tin như: giá cả, địa chỉ, thể hiện chi tiết thôngtin bất động sản, cho phép thích và lưu lại danh sách các bài viết đã thích
- Xây dựng hệ thống gợi ý cho từng người dùng: gợi ý bất động sản theo các thông tin giá
cả, địa chỉ của bất động sản theo các thông tin người dùng đã tìm kiếm trước đó
4 Đối tượng nghiên cứu:
- NodeJS, Express, MongoDB, ReactJS
- Recommender System: Content based recommender system, Collaborative filtering recommender system
• Quản lý thông tin người dùng
• Quản lí thông tin bất động sản
- Nghiên cứu các công nghệ cần thiết để hoàn thiện hệ thống
- Nghiên cứu về các thuật toán gợi ý để chọn ra thuật toán thích hợp
- Tham khảo các trang web bất động sản uy tín tại Việt Nam
Trang 6- Tham khảo ý kiến của giảng viên để có thể được định hướng đúng, đạt kết quả tốt.
7 Kế hoạch thực hiện: (thời gian thực hiện trong 15 tuần)
STT Công việc Thời gian thực
hiện Phân công Phase 1: Tìm hiểu công nghệ 3 tuần
QuỳnhQuý
Phase 2: Xây dựng ứng dụng thu nhập và chia sẻ
thông tin của các công ty, gợi ý sản phẩm bất
động sản
10 tuần
2.1
- Thiết kế và kết nối cơ sở dữ liệu
- Lấy dữ liệu từ các trang web bất động sản
- Tạo API quản lý đăng nhập, đăng kí người
dùng
- Tạo API tìm kiếm thông tin bất động sản
Tuần 4 – 7 (7/4/2021 – 4/5/2021)
QuỳnhQuý
2.2
- Thiết kế giao diện trang web với Reactjs
- Gọi các API từ Backend lên Frontend
- Thiết kế và chỉnh sửa UI/UX
Tuần 8 – 11 (4/5/2021 – 1/6/2021)
QuỳnhQuý
2.3 Nghiên cứu, phân tích và ứng dụng các thuật
toán gợi ý vào hệ thống
Tuần 12- 13 (2/6/2021 – 15/6/2021)
QuỳnhQuý
Phase 3: Kiểm thử và đánh giá 2 tuần
Trang 73.1 - Kiểm thử
- Đánh giá
Tuần 14 – 15 (16/6/2021 – 30/6/2021)
QuỳnhQuý
Trang 8Mục lục
Trang 93.2.3 Xem thông tin chi tiết bất động sản: 34
Trang 11Chương 1: Giới thiệu đề tài
1.1 Nội dung đề tài
1.1.1 Lý do chọn đề tài
Ngày nay, việc sở hữu một thiết bị có thể truy cập Internet đã dễ dàng hơn nhiều docác công ty ngày càng tạo ra nhiều sản phẩm có giá thành rẻ Điều đó đã giúp cho Internet phát triển và phủ sóng khắp mọi nơi, kéo theo đó là sự bùng nổ của các website cung cấp các dịch vụ trực tuyến Và bất động sản là một lĩnh vực có sự quan tâm rất lớn vì mỗi người đều muốn sở hữu cho mình một nơi ở để sinh sống, học tập và làm việc Nắm bắt được những nhu cầu đó của khách hàng, nhiều công
ty, doanh nghiệp, tổ chức cá nhân nói chung đã tạo ra các hệ thống bất động sản ngay trên các trang web giúp mọi người dễ dàng trong việc tìm kiếm nơi phù hợp và nhanh chóng Nhưng với thực trạng hiện nay, có quá nhiều thông tin về bất động sản khiến cho khách hàng rất khó khăn trong việc lựa chọn
Nhận thấy những hạn chế trong việc lựa chọn bất động sản của khách hàng nên nhóm em đã thảo luận và quyết định chọn đề tài “Xây dựng hệ thống tìm kiếm và gợi ý bất động sản” để giúp khách hàng có thể dễ dàng tìm kiếm các bất động sản vừa ý về chất lượng và tài chính
- Thứ hai là giúp cho nhóm em có thể tìm hiểu về các công nghệ mới hiện nay Điều đó giúp nhóm em có nhiều kinh nghiệm hơn, tạo tiền đề để phát triển sự nghiệp sau này
- Nhóm hy vọng dựa trên nền tảng lý thuyết được thầy cô truyển thụ lại cùng với sự tìm hiểu của nhóm có thể tạo ra kết quả tốt cho đồ án này
Trang 121.1.3 Nhiệm vụ của đề tài:
Xây dựng hệ thống bao gồm những chức năng cơ bản của một trang thông tin bất động sản: xem tin bất động sản, tìm kiếm thông tin như: giá cả, địa chỉ, thể hiện chitiết thông tin bất động sản, cho phép thích và lưu lại danh sách các bài viết đã thích
Xây dựng hệ thống gợi ý cho từng người dùng: gợi ý bất động sản theo các thông tin giá cả, địa chỉ của bất động sản theo các thông tin người dùng đã tìm kiếm trướcđó
1.1.4 Đối tượng nghiên cứu:
NodeJS, Express, MongoDB, ReactJS
Recommender System: Content based recommender system, Collaborative filtering recommender system
Search Engine
1.2 Phương pháp khảo sát:
Các website/ứng dụng tham khảo: batdongsan.com.vn, mogi.vn, hoozing.com…
Trang 13Chương 2: Mô Hình Usecase
2.1 Danh sách actor
STT Tên Actor Ý nghĩa/Ghi chú
1 Nhân viên quản lý(Admin) Người có trách nhiệm quản lý website
Trang 142.3 Danh sách các Use-case:
STT Tên Use-case Ý nghĩa/Ghi chú
Trang 151 Đăng kí Thêm tài khoản người dùng mới
7 Quản lý bất động sản Thêm xóa sửa các thông tin bất động sản
8 Quản lý tiện ích Thêm xóa sửa các tiện ích
Tên chức năng Đăng kí
Tóm tắt Chức năng đăng kí trên hệ thống
Dòng sự kiện chính 1 Hệ thống hiển thị form đăng kí
2 Nhập thông tin vào form đăng kí và chọn nút “Đăng kí”
3 Hệ thống kiểm tra thông tin đăng kí
4 Thông báo về kết quả đăng kíDòng sự kiện khác 3.1 Thông tin đăng kí bị trùng hoặc người dùng điền thiếu thông
tin:
Hệ thống hiển thị thông báo đăng kí tài khoản không thành công.Các yêu cầu đặc biệt Không có
Trang 16Trạng thái hệ thống
trước khi thực thiện use
case
Actor: khách hàng và nhân viên quản lý
Điều kiện: Chọn chức năng đăng kí trên hệ thống
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng đăng nhập thành công vào hệ thống, có thể sử dụng cácquyền mà hệ thống cho phép
2.4.2 Đăng nhập:
Tên chức năng Đăng nhập
Tóm tắt Chức năng đăng nhập vào hệ thống
Dòng sự kiện chính 1 Hệ thống hiển thị form đăng nhập
2 Nhập tên và tài khoản (bắt buộc) và nhấn “Đăng nhập”
3 Hệ thống kiểm tra thông tin đăng nhập
4 Hệ thống hiển thị trang chủ
Dòng sự kiện khác 3.1 Thông tin đăng nhập sai:
Hệ thống hiển thị thông báo tài khoản đăng nhập không hợp lệ.Các yêu cầu đặc biệt Không có
Trạng thái hệ thống
trước khi thực thiện use
case
Actor: Khách hàng và nhân viên quản lý
Điều kiện: Chọn chức năng đăng nhập trên hệ thống
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng đăng nhập thành công vào hệ thống, có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.3 Xem thông tin chi tiết bất động sản:
Tên chức năng Xem thông tin chi tiết bất động sản
Tóm tắt Chức năng xem thông tin chi tiết của bất động sản được chọn.Dòng sự kiện chính 1 Hệ thống danh sách các bất động sản trên trang chủ hoặc trên
Trang 17trang tìm kiếm
2 Người dùng chọn một bất động sản để xem thông tin
3 Hiển thị thông tin chi tiết của bất động sản gồm: danh mục bấtđộng sản, địa chỉ, giá, số lượng phòng, diện tích, các tiện ích
Trạng thái hệ thống sau
khi thực hiện use case
Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.4 Xem danh sách bất động sản:
Tên chức năng Xem danh sách bất động sản
Tóm tắt Chức năng xem danh sách bất động sản
Dòng sự kiện chính 1 Người dùng vào trang chủ website
2 Hệ thống danh sách các bất động sản trên trang chủ hoặc trêntrang tìm kiếm
Trạng thái hệ thống sau
khi thực hiện use case
Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
Trang 182.4.5 Tìm kiếm:
Tên chức năng Tìm kiếm thông tin bất động sản
Tóm tắt Chức năng tìm kiếm bất động sản theo địa chỉ, giá, danh mục Dòng sự kiện chính 1 Hệ thống hiển thị thanh tìm kiếm trên màn hình
2 Người dùng chọn và nhập thông tin tìm kiếm
3 Hiển thị danh sách bất động sản theo mức độ đánh giá
Trạng thái hệ thống sau
khi thực hiện use case
Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.6 Gợi ý bất động sản:
Tên chức năng Gợi ý bất động sản
Tóm tắt Chức năng gợi ý bất động sản trên hệ thống
Dòng sự kiện chính 1 Chọn xem thông tin của bất động sản
2 Xem thông tin gợi ý bất động sản do hệ thống đề xuất
Trạng thái hệ thống sau Hiển thị danh sách bất động sản Người dùng có thể sử dụng các
Trang 19khi thực hiện use case quyền mà hệ thống cho phép.
Điểm mở rộng Không có
2.4.7 Quản lý thông tin bất động sản:
2.4.7.1 Xóa thông tin bất động sản
Tên chức năng Xóa thông tin bất động sản
Tóm tắt Chức năng xóa thông tin chi tiết về bất động sản
Dòng sự kiện chính 1 Chọn một bất động sản muốn xóa
Trạng thái hệ thống sau
khi thực hiện use case
Hiển thị thông tin chi tiết về bất động sản Người dùng có thể sửdụng các quyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.7.2 Thêm thông tin bất động sản:
Tên chức năng Thêm thông tin bất động sản
Tóm tắt Chức năng thêm bất động sản trên hệ thống
Dòng sự kiện chính 1 Chọn chức năng thêm bất động sản
2 Hệ thống hiển thị form thêm bất động sản
3 Nhập đầy đủ thông tin và chọn “Thêm bất động sản”
4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo
Trang 205 Hệ thống lưu dữ liệu và thông báo thành công.
Dòng sự kiện khác 4.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng thêm thành công bất động sản mới vào hệ thống
Điểm mở rộng Không có
2.4.7.3 Sửa thông tin bất động sản:
Tên chức năng Sửa thông tin bất động sản
4 Hệ thống lưu dữ liệu và thông báo thành công
Dòng sự kiện khác 3.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống Actor: Nhân viên quản lý
Trang 21trước khi thực thiện use
case
Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sửdụng chức năng này
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng cập nhật thành công thông tin bất động sản trên hệthống
Điểm mở rộng Không có
2.4.8 Quản lý tiện ích:
2.4.8.1 Xem danh sách tiện ích:
Tên chức năng Xem danh sách tiện ích
Tóm tắt Xem danh sách các tiện ích
Dòng sự kiện chính 1 Vào trang tiện ích
2 Hiển thị danh sách các tiện ích
khi thực hiện use case
Hiển thị danh sách các tiện ích Người dùng có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.8.2 Thêm tiện ích:
Tên chức năng Thêm tiện ích
Tóm tắt Chức năng thêm tiện ích
Dòng sự kiện chính 1 Chọn chức năng thêm tiện ích
2 Hệ thống hiển thị form thêm tiện ích
3 Nhập đầy đủ thông tin và chọn “Thêm tiện ích”
Trang 224 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo.
5 Hệ thống lưu dữ liệu và thông báo thành công
Dòng sự kiện khác 4.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng thêm thành công tiện ích mới vào hệ thống
Điểm mở rộng Không có
2.4.8.3 Sửa tiện ích:
Tên chức năng Sửa thông tin tiện ích
Tóm tắt Cập nhật thông tin tiện ích
Dòng sự kiện chính 1 Người dùng vào mục thông tin, nhập thông tin mới vào form
thông tin và chọn “Lưu”
2 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo
3 Hệ thống lưu dữ liệu và thông báo thành công
Dòng sự kiện khác 2.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống Actor: Nhân viên quản lý
Trang 23trước khi thực thiện use
case
Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sửdụng chức năng này
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng cập nhật thành công thông tin tiện ích trên hệ thống.Điểm mở rộng Không có
2.4.8.4 Xóa tiện ích:
Tên chức năng Xóa tiện ích
Tóm tắt Xóa tiện ích trên hệ thống
Dòng sự kiện chính 1 Vào mục danh sách tiện ích và chọn tiện ích muốn xóa khỏi hệ
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng xóa thành công tiện ích trên hệ thống
Điểm mở rộng Không có
2.4.9 Quản lý danh mục bất động sản:
2.4.9.1 Xem danh sách danh mục:
Tên chức năng Xem danh sách danh mục
Trang 24Tóm tắt Xem danh sách các danh mục.
Dòng sự kiện chính 1 Vào trang danh mục
2 Hiển thị danh sách các danh mục
khi thực hiện use case
Hiển thị danh sách các tiện ích Người dùng có thể sử dụng cácquyền mà hệ thống cho phép
Điểm mở rộng Không có
2.4.9.2 Thêm danh mục:
Tên chức năng Thêm danh mục
Tóm tắt Chức năng thêm danh mục
Dòng sự kiện chính 1 Chọn chức năng thêm danh mục
2 Hệ thống hiển thị form thêm danh mục
3 Nhập đầy đủ thông tin và chọn “Thêm danh mục”
4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo
5 Hệ thống lưu dữ liệu và thông báo thành công
Dòng sự kiện khác 4.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin
Trang 25Các yêu cầu đặc biệt Không có
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng thêm thành công tiện ích mới vào hệ thống
Điểm mở rộng Không có
2.4.10 Sửa danh mục:
Tên chức năng Sửa thông tin danh mục
Tóm tắt Cập nhật thông tin danh mục
Dòng sự kiện chính 1 Người dùng vào mục thông tin, nhập thông tin mới vào form
thông tin và chọn “Lưu”
2 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo
3 Hệ thống lưu dữ liệu và thông báo thành công
Dòng sự kiện khác 2.1 Thông tin không hợp lệ:
Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống sau Người dùng cập nhật thành công thông tin tiện ích trên hệ thống
Trang 26khi thực hiện use case
Điểm mở rộng Không có
2.4.11 Xóa danh mục:
Tên chức năng Xóa danh mục
Tóm tắt Xóa danh mục trên hệ thống
Dòng sự kiện chính 1 Vào mục danh sách tiện ích và chọn danh mục muốn xóa khỏi hệ
Trạng thái hệ thống sau
khi thực hiện use case
Người dùng xóa thành công tiện ích trên hệ thống
Điểm mở rộng Không có
Trang 27Chương 3: Phân tích
3.1 Sơ đồ lớp (mức phân tích):
3.1.1 Sơ đồ lớp:
Trang 283.1.2 Danh sách các lớp đối tượng:
STT Tên lớp Loại Ý nghĩa/Ghi chú
Trang 29Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
NULL
Tên tài khoản
3.1.3.2 Class RealEstate:
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
NULL
Địa chỉ đầy đủ
Trang 309 more_description private Không được
NULL
Thông tin thêm
10 is_confirmed private Không được
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
ST
T
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
NULL
Phường
Trang 313.1.3.6 Class UserType:
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
NULL
Tên loại người dùng
NULL
Mô tả loại người dùng
3.2 Sơ đồ trạng thái:
3.2.1. Đăng nhập:
Trang 323.2.2 Đăng kí:
Trang 343.2.3 Xem thông tin chi tiết bất động sản:
Trang 353.2.4 Xem danh sách bất động sản:
Trang 363.2.5 Tìm kiếm thông tin bất động sản:
Trang 373.2.6 Gợi ý bất động sản:
Trang 383.2.7 Quản lý thông tin bất động sản:
3.2.7.1 Thêm thông tin bất động sản:
Trang 393.2.7.2 Xóa bất động sản:
Trang 403.2.7.3 Sửa thông tin bất động sản: