Đồ Án Tốt Nghiệp: Xây Dựng Hệ Thống Quản Lý Căn Hộ Cho Thuê Homelike

Xây dựng hệ thống quản lý cộng đồng cho thuê căn hộ homelike giúp tối ưu hóa quy trình đặt phòng và nâng cao trải nghiệm người dùng.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2021

67
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN VÀ CÁC CÔNG NGHỆ XÂY DỰNG HỆ THỐNG

1.1. Giới thiệu bài toán

1.2. Giới thiệu Elasticsearch

1.2.1. Giới thiệu chung

1.2.2. Shard

1.2.3. Primary Shard

1.2.4. Replica Shard

1.2.5. Lưu trữ dữ liệu trong Elasticsearch

1.2.6. Quá trình lưu dữ liệu của Elasticsearch

1.2.7. Quá trình lấy dữ liệu của Elasticsearch

1.2.8. Elastic thực hiện các công việc cho công đoạn truy vấn tìm kiếm dữ liệu

1.2.9. Lý do lựa chọn Elasticsearch

1.3. Các thư viện và framework lập trình được lựa chọn

2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1. Phân tích hệ thống

2.2. Các tác nhân chính của hệ thống

2.3. Biểu đồ ca hoạt động tổng quát

2.4. Biểu đồ lớp phân tích

2.5. Thiết kế

2.5.1. Thiết kế lược đồ cơ sở dữ liệu

2.5.2. Một số biểu đồ tuần tự chức năng

3. CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ

3.1. Kiến trúc hệ thống

3.2. Một số hình ảnh về giao diện hệ thống

3.2.1. Giao diện trang mạng xã hội

3.2.2. Chi tiết công nghệ

3.2.3. Xem danh sách người theo dõi

3.2.4. Tìm kiếm căn hộ và hiển thị trên bản đồ

3.2.5. Đặt thuê căn hộ và thanh toán

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Hệ Thống Quản Lý Căn Hộ Cho Thuê Homelike

Hệ thống quản lý căn hộ cho thuê Homelike đang trở thành một giải pháp hiệu quả cho nhu cầu lưu trú ngắn hạn. Với sự phát triển của công nghệ và nhu cầu ngày càng cao từ người tiêu dùng, việc xây dựng một hệ thống quản lý hiệu quả là rất cần thiết. Hệ thống này không chỉ giúp người dùng tìm kiếm căn hộ dễ dàng mà còn tạo ra một cộng đồng kết nối giữa người cho thuê và người thuê.

1.1. Đặc Điểm Nổi Bật Của Hệ Thống Quản Lý Căn Hộ

Hệ thống quản lý căn hộ cho thuê Homelike cung cấp nhiều tính năng nổi bật như tìm kiếm theo vị trí, đánh giá căn hộ và chia sẻ trải nghiệm. Những tính năng này giúp người dùng dễ dàng tìm kiếm và lựa chọn căn hộ phù hợp với nhu cầu của mình.

1.2. Lợi Ích Của Việc Sử Dụng Hệ Thống Quản Lý

Việc sử dụng hệ thống quản lý căn hộ cho thuê giúp tiết kiệm thời gian và công sức cho người dùng. Hệ thống cung cấp thông tin chi tiết về căn hộ, giúp người thuê có cái nhìn tổng quan và đưa ra quyết định nhanh chóng.

II. Vấn Đề Và Thách Thức Trong Quản Lý Căn Hộ Cho Thuê

Mặc dù hệ thống quản lý căn hộ cho thuê mang lại nhiều lợi ích, nhưng cũng tồn tại không ít thách thức. Các vấn đề như quản lý thông tin, bảo mật dữ liệu và sự cạnh tranh giữa các nền tảng là những yếu tố cần được xem xét.

2.1. Quản Lý Thông Tin Căn Hộ

Việc quản lý thông tin căn hộ một cách chính xác và đầy đủ là rất quan trọng. Hệ thống cần đảm bảo rằng thông tin về căn hộ luôn được cập nhật và chính xác để người dùng có thể tin tưởng.

2.2. Bảo Mật Dữ Liệu Người Dùng

Bảo mật dữ liệu là một trong những thách thức lớn nhất trong việc xây dựng hệ thống. Cần có các biện pháp bảo mật hiệu quả để bảo vệ thông tin cá nhân của người dùng khỏi các mối đe dọa.

III. Phương Pháp Xây Dựng Hệ Thống Quản Lý Căn Hộ Hiệu Quả

Để xây dựng một hệ thống quản lý căn hộ cho thuê hiệu quả, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng các công nghệ như Elasticsearch và các thư viện lập trình sẽ giúp tối ưu hóa quy trình tìm kiếm và quản lý dữ liệu.

3.1. Sử Dụng Elasticsearch Để Tìm Kiếm Nhanh Chóng

Elasticsearch là một công cụ mạnh mẽ cho việc tìm kiếm và phân tích dữ liệu. Việc tích hợp Elasticsearch vào hệ thống sẽ giúp cải thiện tốc độ tìm kiếm và độ chính xác của kết quả.

3.2. Thiết Kế Giao Diện Người Dùng Thân Thiện

Giao diện người dùng cần được thiết kế đơn giản và dễ sử dụng. Điều này sẽ giúp người dùng dễ dàng tương tác với hệ thống và tìm kiếm căn hộ một cách hiệu quả.

IV. Ứng Dụng Thực Tiễn Của Hệ Thống Quản Lý Căn Hộ

Hệ thống quản lý căn hộ cho thuê Homelike đã được áp dụng thực tiễn tại nhiều địa phương và mang lại kết quả tích cực. Người dùng có thể dễ dàng tìm kiếm và đặt thuê căn hộ chỉ với vài cú nhấp chuột.

4.1. Kết Quả Nghiên Cứu Từ Người Dùng

Nghiên cứu cho thấy rằng người dùng cảm thấy hài lòng với hệ thống quản lý căn hộ cho thuê. Họ đánh giá cao tính năng tìm kiếm và khả năng kết nối với chủ căn hộ.

4.2. Tác Động Đến Ngành Du Lịch

Hệ thống quản lý căn hộ cho thuê không chỉ giúp người dùng mà còn tạo ra cơ hội cho ngành du lịch phát triển. Nhu cầu về homestay ngày càng tăng cao, tạo ra nhiều cơ hội kinh doanh cho các chủ căn hộ.

V. Kết Luận Và Tương Lai Của Hệ Thống Quản Lý Căn Hộ

Hệ thống quản lý căn hộ cho thuê Homelike có tiềm năng phát triển lớn trong tương lai. Với sự phát triển của công nghệ và nhu cầu ngày càng cao từ người tiêu dùng, hệ thống này sẽ tiếp tục được cải tiến và mở rộng.

5.1. Xu Hướng Phát Triển Trong Ngành

Ngành quản lý căn hộ cho thuê đang chứng kiến sự chuyển mình mạnh mẽ với sự xuất hiện của nhiều công nghệ mới. Điều này mở ra nhiều cơ hội cho các doanh nghiệp trong lĩnh vực này.

5.2. Tương Lai Của Hệ Thống Quản Lý

Hệ thống quản lý căn hộ cho thuê sẽ tiếp tục được cải tiến với các tính năng mới, giúp người dùng có trải nghiệm tốt hơn và dễ dàng hơn trong việc tìm kiếm và đặt thuê căn hộ.

11/07/2025
Xây dựng hệ thống quản lý cộng đồng đặt và cho thuê căn hộ homelike

Trích đoạn nội dung tài liệu

Chương 1. Giới thiệu bài toán và các các công nghệ 2) Do tất cả Node đều lưu đữ liệu, nên Master Node sẽ chọn ra 1 Node va lay dt liệu ở Shard số 0 (P0 hoặc R0). Việc chon này giúp giảm tap trung vào một node. Thuật toán Round-Robin được sử dụng để các Shard được chọn khác nhau ở mỗi request.

Trong trường hợp này Node 2 được chọn. 3) Replica Shard 0 ở Node 2 trả về kết quả cho Master Node. Elastic thực hiện các công việc sau cho công đoạn truy vấn tìm kiếm đữ liệu [3]: 1) Node nhận request sẽ gửi broadcast request đó đến tat cả các Node khác. Tại mỗi Node này sẽ chỉ định một Shard thực hiện công việc tìm kiếm theo yêu cầu.

2) Mỗi Shard sẽ thực hiện công việc tìm kiếm, trả về _id Về _score cua Document. Trong đó, _id là định danh duy nhất của Document, _ score là giá trị dùng dé sắp xếp Document theo thứ tự của độ liên quan với thông tin cần tìm kiếm. 3) Node tiếp nhận request sau khi nhận kết quả trả về từ các Node khác sẽ thực hiện công việc sắp xếp toàn cục tất cả các Document được trả về, dựa theo _id và _score để đảm bảo tính đúng đắn của dit liệu. Cuối cùng Node tiếp nhận request sẽ trả ra kết quả sau khi sắp xếp về phía client.

Ly do lựa chọn Elasticsearch MySQL có hỗ trợ cơ chế full-text search, tuy nhiên full-text search với MySQL có nhiều hạn chế về mặt hiệu năng, cũng như khó mở rộng theo chiều ngang. Elasticsearch cho kết quả tìm kiếm chất lượng với hiệu năng vượt trội hơn. Đồng thời dé dang mở rộng, nâng cấp nếu kích thước dit liệu tăng lên. Thuật toán TF/IDF Thuật toán đánh giá được sử dụng rất phố biến trong Elasticsearch có tên gọi là TF/IDF, viết tắt của Term Frequency/Inverse Document Frequency, bao gồm các yếu tô đánh giá: Term frequency, Inverse document frequency, Field-length norm.

Term frequency Yéu tô này được sử dung dé đánh giá tan suât xuât hiện cua term trong field. Càng xuât hiện nhiêu, relevance càng cao. Term frequency được tính bởi công thức: tft, d) = //frequency Giải thích: term frequency tf của term t trong document d sẽ được tinh bằng căn bậc hai của tần suất xuất hiện của t trong d. 19 Đồ án tốt nghiệp Chương 1.

Giới thiệu bài toán và các các công nghệ 1. Inverse document frequency Yếu tố này đánh giá tan suất xuất hiện của term trên toàn bộ index. Nếu term xuất hiện càng nhiều thì sẽ càng ít thích hợp. Ví dụ với các từ không mang ý nghĩa riêng biệt như “sinh viên”, khi tìm kiếm sẽ có ít giá trị hơn so với “sinh viên học viện Công nghệ Bưu chính viễn thông”.

Công thức tính: numDocs 1df)=1+ln docFreq+1 Giải thích: Inverse document frequency idf của term t sẽ bằng 1 cộng với logarit tự nhiên của thương giữa tổng số document trong index và số document xuất hiện t cộng thêm 1 (tránh việc t không xuất hiện trong document nao gây ra phép chia cho 0). Field-length norm Yếu tô này đánh giá độ dài của field chứa term. Với field càng ngăn, việc xuất hiện của term trong đó sẽ có giá trị càng cao. Điển hình như việc xuất hiện term ở tiêu đề sẽ có giá trị hơn hắn khi xuất hiện trong nội dung bài viết.

Công thức tính: 1 norm(d) = vnumFieldTerms Giải thích: Field-length norm (norm) của document d là nghịch đảo căn bậc 2 của số lượng của term trong field. Tổng hợp lai, ta có công thức tính _ score như sau: _ score = IDF score * TF score * fieldNorms numbDocs 1 = (1 + In——__) * |/frequency * đocFreq+1 vnumFieldTerms Elasticsearch sẽ sử dụng _ score dé xác định thứ tự liên quan của các kết quả trả về khi thực hiện full-text search, mặc định kết quả trả về sẽ được sắp xếp theo thứ tự _score cao nhất đến thấp nhất, từ đó trả về kết quả từ liên quan nhất đến không liên quan nhất tới từ khóa tìm kiếm. Các thư viện va framework lập trình được lựa chon 1. LeafletJS Leaflet là một thư viện JavaScript mã nguồn mở cho việc xây dựng một ứng dụng bản đồ có tính tương tác.

Đây là một thư viện khá nhẹ, chỉ khoảng 38KB cho phan script nhưng lại có đầy đủ tất cả các tính năng mà hầu hết các lập trình viên cần. 20 Đồ án tốt nghiệp Chương |. Giới thiệu bai toán và các các công nghệ Leaflet được thiết kế chú trọng tới sự đơn giản, hiệu suất, và khả năng sử dụng. Nó cũng hoạt động hiệu quả trên cả nền tảng máy tính lẫn điện thoại, có thể được mở rộng với rất nhiều các plugin.

L+ PIN oS Vee <1. > + J1 0DMGBURY/ 005CLERKENWEI ERRENOMEELL ` % ai, : el | a" G ¿ , ro| BH HOLBORN «` | am a standalone popup. Ầ iy ra mĩ: an SA CũVEI COVENT GARDEN EAMBETH stminster Ỉ ae h i. eal SQUURARYESY | ie “a.

BE RM DN SOUTH DS EY ä = d Leaflel | Map data.&—OpenStreetMaptontributors, Imagery & Mapbox bê Hình 1. Giao diện ví dụ về thư viện LeafletJS [6] Lý do lựa chọn LeafletJS: Đối với API cho bản đồ thì Google Maps luôn đi đầu, nhưng giá thành cần phải trả rất tốn kém. Leaflet là một thư viện mã nguồn mở, không tốn kém chi phí, nhưng cũng cung cap khá đầy đủ các tính năng cần thiết cho phát triển ứng dụng. Do đó trong khuôn khổ đồ án nay, em lựa chọn LeafletJS cho việc hiển thị vị trí trên bản đồ.

Ruby On Rails Ruby on Rails là một web framework được viết dựa trên ngôn ngữ lập trình Ruby. Do vậy, trước khi đi vào tìm hiểu Rails framework thì em sẽ trình bày đôi nét về ngôn ngữ lập trình Ruby. 21 Đồ án tốt nghiệp Chương 1. Giới thiệu bài toán và các các công nghệ a.

Ngôn ngữ lập trình Ruby Ruby được tạo ra bởi Yukihiro "Matz" Matsumoto từ 24 thang 2, 1993 và đưa ra bản chính thức vào năm 1995, và hiện tại vẫn đang được tiếp tục phát triển. Ké từ sau khi ngôn ngữ Ruby được công khai, những hiệu quả phát triển mà nó mang lại ngày càng được biết đến rộng rãi, và hiện tại nó đã trở thành 1 ngôn ngữ nỗi tiếng trên khắp thế giới. Ruby là ngôn ngữ hướng đối tượng hoàn toản, với mọi thứ đều là một đối tượng. Điểm mạnh của Ruby: - __ Tất cả những mặt mạnh của ngôn ngữ hướng đối tượng, Ruby đều kế thừa hoàn toàn, bao gồm cả sự linh động của chính ngôn ngữ.

Ta có thé viết thêm những method khác vào Ruby mà không hề ảnh hưởng tới những method đã có. - Dé dang đọc hiểu, do có cú pháp ngắn gon, súc tích. Lập trình viên khi lập trình với Ruby sẽ có cảm giác cú pháp của nó rất “thanh thoát”. Điểm yêu của Ruby: Điểm yếu lớn nhất của Ruby là tốc độ, so sánh với Java thì Ruby chậm hơn rất nhiều.

Ruby on Rails framework Được phát triển dựa trên ngôn ngữ Ruby dé phục vu cho việc xây dung ứng dụng web, Rails là một framework nồi tiếng về sự tiện ích với thế mạnh về cú pháp của Ruby, cùng với đó là rất nhiều những thư viện có sẵn mạnh mẽ giúp cho lập trình viên tập trung vào phát triển ứng dụng hơn là phải xử lý từ những thứ nhỏ nhất. Không chỉ là những thư viện có sẵn, cộng đồng sử dụng Ruby on Rails rất lớn và do đó có rất nhiều những thư viện tiện lợi cho Rails. Ruby on Rails đưa ra những quy ước dé lập trình viên tuân theo, từ đó framework sẽ có các cơ chế để giúp cho việc lập trình của lập trình viên trở nên tiện lợi hơn, ví dụ như tự động sinh ra những file cần thiết, tự động tìm kiếm và import các file. Rails được xây dựng dựa trên mô hình nổi tiếng MVC, tuy nhiên với những cập nhật gần đây nó cũng có những hỗ trợ dé phát triển một ứng dụng Restful API chứ không chỉ là MVC.

Vì những lý do trên, có rất nhiều những ô ông lớn trong ngành công nghệ đã và đang sử dung Ruby on Rails làm công cụ phát triển, ví dụ một số cái tên nổi bật như: Twitter (hiện đã chuyền đổi qua Scala), Github, Airbnb, Soundcloud. 22 Đồ án tốt nghiệp Chương |. Giới thiệu bai toán và các các công nghệ ©» STORLET 3 Basecamp CAR RENTAL Hình 1. Các công ty xây dựng trên nền tang Ruby on Rails [7] c.

Lý do lựa chon Ruby on Rails: Đồ an nay sử dung Ruby on Rails dé phát triển phía server vì những tiện dụng của nó như cú pháp ngắn gọn, dễ đọc của ngôn ngữ Ruby, sự mạnh mẽ đến từ các thư viện có sẵn và bên ngoài cua Rails framework, dé dang tích hợp với các dịch vụ bên thứ ba do tính phố biến của framework. MySQL MySQL là hệ quan tri cơ sở dt liệu quan hệ mã nguồn mở, hoạt động theo mô hình client-server. Công ty Thuy Điển MySQL AB phát trién MySQL vào năm 1994. Công ty công nghệ Mỹ Sun Microsystem sau đó giữ quyền sở hữu MySQL sau khi mua lại MySQL vào năm 2008.

Năm 2010, gã khổng 16 Oracle mua Sun Microsystems và MySQL thuộc quyền sở hữu của Oracle từ đó. MySQL tương thích với nhiều hệ điều hành máy tính phổ biến như Linux, macOS và Microsoft Windows. Hiện nay có rất nhiều ông lớn trong ngành công nghệ sử dụng MySQL như Facebook, Youtube. và MySQL cũng được giảng dạy rộng rãi ở các trường đại học trong nước và quốc tế.

Các đặc điểm giúp cho MySQL trở nên nồi tiếng và được ứng dụng rộng rãi [7]: e MySQL được phát hành theo giấy phép nguồn mở. Nó hoàn toàn miễn phí e MySQL sử dụng một dạng chuẩn của ngôn ngữ truy van dữ liệu SQL nổi tiêng 23 Đồ án tốt nghiệp Chương 1. Giới thiệu bài toán và các các công nghệ e MySQL tương thích với nhiều hệ điều hành và nhiều ngôn ngữ lập trình khác nhau bao gồm Ruby, C, C ++, Java, PHP. e MySQL hoạt động rất nhanh và hoạt động tốt ngay cả với các tập dit liệu lớn e MySQL rất thân thiện với PHP, một ngôn ngữ phổ biến trên toàn thế giới trong nhiều năm qua e = MySQL hỗ trợ co sở dit liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn trong một bảng.

Giới hạn kích thước tệp mặc định cho một bảng là 4GB, nhưng ta có thé điều chỉnh giới hạn này theo lý thuyết lên đến 8 triệu TB Lý do lựa chọn MySQL Đồ án sử dụng MySQL để lưu trữ dữ liệu vì những nó là mã nguồn mở, đồng thời với tính phố biến rộng rãi, dé sử dụng và tương thích với nhiều nền tảng, ngôn ngữ khác nhau của nó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Xây Dựng Hệ Thống Quản Lý Căn Hộ Cho Thuê Homelike" cung cấp cái nhìn sâu sắc về việc phát triển một hệ thống quản lý hiệu quả cho các căn hộ cho thuê, giúp tối ưu hóa quy trình cho cả chủ nhà và người thuê. Hệ thống này không chỉ giúp quản lý thông tin căn hộ một cách dễ dàng mà còn cải thiện trải nghiệm của người dùng thông qua các tính năng tiện ích như đặt phòng trực tuyến, thanh toán và hỗ trợ khách hàng.

Để mở rộng kiến thức về lĩnh vực bất động sản, bạn có thể tham khảo tài liệu Đồ án tốt nghiệp kỹ thuật dữ liệu dự đoán giá bất động sản sử dụng học máy, nơi bạn sẽ tìm thấy các phương pháp dự đoán giá trị bất động sản thông qua công nghệ học máy. Ngoài ra, tài liệu Phát triển mạng lưới liên kết các nhà môi giới bất động sản ở Việt Nam sẽ giúp bạn hiểu rõ hơn về cách xây dựng mạng lưới kết nối trong ngành bất động sản. Cuối cùng, tài liệu Hoàn thiện quy trình môi giới nhà đất thổ cư tại công ty cổ phần bất động sản Tuấn 123 sẽ cung cấp cái nhìn chi tiết về quy trình môi giới và cách cải thiện hiệu quả công việc trong lĩnh vực này. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn mở rộng kiến thức và hiểu biết về ngành bất động sản.