ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC HỆ THỐNG QUẢN LÝ TIN ĐĂNG CHO THUÊ PHÒNG NGÀNH: KHOA HỌC MÁY TÍNH GVHD: TS. TRƯƠNG TUẤN ANH GVPB: THS. TRƯƠNG THỊ THÁI MINH ---o0o--- SVTH 1: LÊ HOÀNG PHÚC 1810440 SVTH 2: LÊ QUANG MINH 1813073 SVTH 3: HỨA THỊ SƠN 1811360 TP. HỒ CHÍ MINH, THÁNG 12/2022 Trường Đại học Bách Khoa - ĐHQG - Tp.
Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Trang 2 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Trang 3 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Trang 4 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Trang 5 Trường Đại học Bách Khoa - ĐHQG - Tp.
Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Trang 6 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Lời cam đoan Nhóm chúng tôi xin cam đoan đề tài: “Hệ thống quản lý tin đăng cho thuê phòng” là sự nghiên cứu của cả nhóm không có sự sao chép của người khác. Mọi điều được trình bày trong báo cáo, cũng như mã nguồn là do nhóm tự thực hiện - trừ các kiến thức tham khảo có trích dẫn cũng như mã nguồn mẫu do chính nhà sản xuất cung cấp, hoàn toàn không sao chép từ bất cứ nguồn nào khác. Nếu lời cam đoan trái với sự thật, nhóm chúng tôi xin chịu mọi trách nhiệm trước Ban Chủ Nhiệm Khoa và Ban Giám Hiệu Nhà Trường.
Nhóm sinh viên thực hiện đề tài. Trang 7 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Lời cảm ơn Người ta thường nói: Thành công không phải chỉ một cá nhân tạo nên, kết quả đó còn gắn liền với sự giúp đỡ và hỗ trợ của mọi người xung quanh. Trong suốt 4 năm đại học, chúng em luôn nhận được sự quan tâm, giúp đỡ, khích lệ, động viên từ quý cô thầy cô, gia đình và bạn bè của mình.
Để hoàn thành tiểu luận này, em xin gửi lời cảm ơn chân thành đến: Ban giám hiệu trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin. Chúng em xin chân thành cảm ơn Khoa Khoa Học và Kỹ Thuật Máy Tính đã tạo điều kiện thuận lợi cho chúng em học tập và thực hiện đề tài tốt nghiệp này. Đặc biệt, chúng em xin gửi lời cảm ơn chân thành nhất đến giảng viên Trương Tuấn Anh đã trực tiếp hướng dẫn nhóm làm đề tài này. Trong quá trình làm đề tài này, thầy đã tận tình hướng dẫn, định hướng, giải đáp thắc mắc, chỉ ra những sai sót, khuyết điểm để giúp chúng em có thể hoàn thành luận văn của mình.
Một lần nữa chúng em xin chân thành cảm ơn thầy. Cuối cùng, chúng em xin cảm ơn gia đình, bạn bè, người thân đã luôn ở bên để động viên và là nguồn cổ vũ lớn lao, là động lực giúp chúng em hoàn thành luận văn này. Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng có thể. Tuy nhiên sẽ không tránh khỏi những thiếu sót.
Chúng em rất mong nhận được sự cảm thông và tận tình chỉ bảo của quý thầy cô và toàn thể các bạn. Chúng em xin chân thành cảm ơn! Trang 8 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ Tóm tắt Trong những thập kỷ trước, từ khi các công nghệ hiện đại như điện thoại, máy tính và Internet chưa được phổ biến mạnh mẽ, con người ta gặp không ít khó khăn trong việc liên lạc, giao tiếp, hơn hết là việc tìm kiếm bất cứ thứ gì liên quan để đáp ứng nhu cầu cá nhân. Đặc biệt hơn hết chính là nhu cầu tìm kiếm chỗ ở, tìm chỗ cho thuê thời điểm này còn gặp rất nhiều hạn chế, trở ngại.
Ngày nay, cùng với sự phát triển và phổ biến mạnh mẽ của khoa học công nghệ hiện đại, kèm theo nhu cầu sử dụng Internet ngày càng cao, nhiều hệ thống ứng dụng tìm kiếm và cho thuê bất động sản đã xuất hiện và giúp mọi người có thể dễ dàng tìm kiếm, giảm thiểu các vấn đề và rủi ro trong việc xác minh bất động sản. Nhận thấy sự phát triển của các hệ thống này, nhóm đã tìm hiểu, phân tích các thế mạnh cũng như mặt hạn chế của chúng để bắt đầu thiết kế và xây dựng một hệ thống đáp ứng nhu cầu của mọi người trong việc tìm kiếm hay cho thuê bất động sản đồng thời cũng giúp giảm đi một số mặt hạn chế của các hệ thống hiện có. Trang 9 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ MỤC LỤC DANH SÁCH HÌNH VẼ 10 DANH SÁCH BẢNG VẼ 15 GIỚI THIỆU 17 1.1 Giới thiệu đề tài 17 1.2 Mục tiêu và phạm vi đề tài 18 1.3 Các ứng dụng hiện có và thách thức 19 1.1 Các ứng dụng hiện có 19 1.2 Thách thức mà hệ thống có thể gặp 24 PHÂN TÍCH 26 2.1 Người dùng 26 2.1 Xem các bài đăng.2 Để lại thông tin liên lạc 26 2.3 Xem thông tin chủ cho thuê 26 2.4 Đăng ký, đăng nhập, đăng xuất 27 2.5 Quan tâm tin đăng 27 2.2 Chủ cho thuê, bán 27 2.1 Đăng tin cho thuê nhà 27 2.2 Quản lý trang chủ cá nhân 27 2.3 Quản lý tin đăng 27 2.1 Quản lý người dùng 28 2.2 Quản lý tin đăng 28 2.3 Thống kê giao dịch 28 2.2 Lược đồ Use-case 29 2.1 Lược đồ Use-case 29 2.2 Đặc tả Use-case 29 2.1 Use-case “Xem tin trên trang cá nhân” 29 2.2 Use case “Xem trang cá nhân” 30 2.3 Use case “Để lại lời nhắn” 31 2.4 Use case “Tìm kiếm, lọc tin” 32 2.5 Use-case “Chỉnh sửa thông tin trang chủ cá nhân” 32 2.6 Use-case “Đăng tin” 33 2.7 Use-case “Sửa tin đăng” 34 Trang 10 Trường Đại học Bách Khoa - ĐHQG - Tp.
Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ 2.8 Use-case “Xóa tin đăng” 35 2.9 Use-case “Sửa tin đăng” 36 2.10 Use-case “So sánh” 36 2.11 Use-case “Lưu tin” 37 2.12 Use-case “Xem các tin đã lưu” 38 2.13 Use-case “Xóa tin đã lưu” 38 2.14 Use-case “Đăng nhập” 39 2.15 Use-case “Đăng xuất” 40 2.16 Use-case “Xóa tin đăng” 41 2.17 Use-case “Gia hạn tin đăng” 41 2.18 Use-case “Xem thông tin người dùng” 42 2.19 Use-case “Xem thông tin các giao dịch” 43 2.3 Lược đồ Entity Relationship 44 2.4 Cấu trúc cơ sở dữ liệu 45 2.1 Đăng nhập, đăng ký 47 2.4 Yêu thích 49 2.5 So sánh 50 CÔNG NGHỆ 52 3.1 Mô hình 3-tiers 52 3.4 Những thư viện nổi bật hỗ trợ hệ thống 56 3.2 MongoDB hoạt động như thế nào? 57 3.4 Ưu, nhược điểm 58 3.1 Ưu điểm của MongoDB 59 3.2 Nhược điểm của MongoDB 59 3.3 Tại sao dùng Mongodb cho hệ thống? 59 3.7 Express framework 60 Trang 11 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ 3.1 Giới thiệu Express 60 3.2 Lý do sử dụng 61 3.5 Phân biệt Nodejs và Express 63 3.8 Amazon Simple Storage Service (S3) - AWS 64 3.1 Giới thiệu Amazon Simple Storage Service - AWS 64 3.3 Lý do sử dụng 64 3.9 Tích hợp VNPAY 65 3.10 Nodemailer 65 HIỆN THỰC HỆ THỐNG 66 4.1 Kiến trúc hệ thống 66 4.2 Khách hàng 67 4.1 Chức năng đăng ký 67 4.2 Chức năng Đăng nhập 69 4.3 Người chưa đăng nhập 71 4.4 Người đã đăng nhập 71 4.5 Các chức năng của người dùng đã đăng nhập 71 4.2 Trang đăng tin 72 4.3 Thanh toán qua ngân hàng 74 4.4 Trang chi tiết tin đăng 76 4.5 Trang so sánh 78 4.6 Trang liên hệ 79 4.7 Trang Giới thiệu 80 4.8 Trang thành viên nhóm 81 4.8 Trang dành cho doanh nghiệp 83 4.1 Thông tin cá nhân 85 4.2 Quản lý tin đăng 86 4.3 Đổi mật khẩu 86 4.4 Xem các tin quan tâm 87 4.1 Xem và xuất danh sách người dùng 87 Trang 12 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ 4.2 Quản lý tin đăng 89 4.3 Biểu đồ doanh thu 89 KIỂM THỬ HỆ THỐNG 91 5.1 Kiểm thử API 91 5.1 API lấy danh sách thành phố, quận huyện 92 5.2 API đăng ảnh 92 5.3 API lấy danh sách loại nhà 93 5.4 API đăng ký tài khoản 94 5.1 Kết quả API đăng ký đã tồn tại số điện thoại 94 5.2 Kết quả API đăng ký email đã tồn tại 95 5.3 Kết quả API đăng ký thành công 95 5.5 API đăng nhập 96 5.1 Kết quả API đăng nhập với Email không tồn tại 96 5.2 Kết quả API đăng nhập sai mật khẩu 96 5.3 Kết quả API đăng nhập thành công 97 5.6 API đổi mật khẩu 98 5.1 Kết quả API đổi mật khẩu với token không hợp lệ 98 5.2 Kết quả API đổi mật khẩu với mật khẩu cũ sai 99 5.3 Kết quả API đổi mật khẩu thành công 99 5.7 API thay đổi thông tin cá nhân 100 5.1 Kết quả API thay đổi thông tin cá nhân với token không hợp lệ 100 5.2 Kết quả API thay đổi thông tin cá nhân thành công 100 5.8 API lấy thông tin người dùng qua ID 101 5.9 API lấy thông tin bản thân 102 5.1 Kết quả API lấy thông tin bản thân với token không hợp lệ 102 5.2 Kết quả API lấy thông tin bản thân thành công 102 5.10 API tìm kiếm người dùng 103 5.11 API gửi email nhận mật khẩu mới khi quên mật khẩu 104 5.12 API lấy danh sách người dùng để thống kê 105 5.1 Kết quả API lấy danh sách người dùng thống kê với token không hợp lệ 106 5.2 Kết quả API lấy danh sách người dùng thống kê thành công 106 5.13 API tạo tin trả về liên kết thanh toán 107 5.14 API tìm tin đăng 108 5.15 API lấy thông tin tin đăng 109 5.16 API thêm hoặc bỏ tin đăng khỏi danh sách quan tâm 110 5.1 Kết quả API thêm tin vào danh sách quan tâm 110 Trang 13 Trường Đại học Bách Khoa - ĐHQG - Tp. Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính _________________________________________________________________________ 5.2 API bỏ tin đăng khỏi danh sách quan tâm 111 5.17 API thay đổi nội dung tin đăng 111 5.18 API xóa bài đăng 112 5.