Báo Cáo Đồ Án: Xây Dựng Website Hỗ Trợ Tìm Kiếm Phòng Trọ (ĐH Công Nghệ TP.HCM)

Báo cáo đồ án môn học: Xây dựng website tìm kiếm phòng trọ hiệu quả. Tìm hiểu quy trình, công nghệ và giải pháp tối ưu cho người thuê nhà.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2022

54
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NHẬN XÉT CỦA GIẢNG VIÊN

LỜI MỞ ĐẦU

LỜI CẢM ƠN

1. CHƯƠNG 1 : TỔNG QUAN

1.1. Lý do chọn đề tài

1.2. Mục tiêu đề tài

1.3. Nội dung thực hiện

1.4. Phương pháp thực hiện

1.5. Giới thiệu về công nghệ sử dụng

1.5.1. Ngôn ngữ javascrip

1.5.2. Visual Studio Code(IDE)

1.5.3. Node js

1.5.4. Express framework

1.5.5. Mongodb

1.5.6. Mongoose

1.6. Mục tiêu đề ra

2. CHƯƠNG 2 : TÁC PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU

2.1. Quá trình phân tích

2.1.1. Phân tích phạm vi dự án

2.1.2. Phân tích mở rộng yêu cầu nghiệp vụ

2.1.3. Phân tích yêu cầu bảo mật

2.1.4. Phân tích yêu cầu tốc độ

2.1.5. Phân tích yêu cầu vận hành

2.1.6. Phân tích yếu tố con người

2.1.7. Phân tích yêu cầu tích hợp

2.1.8. Phân tích thực tiễn nghiệp vụ tồn tại

2.2. Xác định yêu cầu

2.2.1. Yêu cầu và mô tả yêu cầu

2.2.2. Phân loại yêu cầu

2.3. Mô hình hóa yêu cầu

2.3.1. Mô hình sơ đồ lớp

2.4. Xây dựng cơ sở dữ liệu

2.4.1. Bảng Room

3. CHƯƠNG 3: THIẾT KẾ PHẦN MỀM

3.1. Giao diện chương trình

3.1.1. Giao diện trang chủ

3.1.2. Giao diện danh mục

3.1.3. Giao diện các phòng thuê

3.1.4. Giao diện liên hệ

3.1.5. Giao diện tìm kiếm trên trang chủ

3.1.6. Giao diện chi tiết bài đăng

3.1.7. Giao diện chức năng của người dùng

3.1.8. Giao diện đăng nhập, đăng ký

3.1.9. Giao diện quản lý của Admin

3.1.10. Một số giao diện khác

4. CHƯƠNG 4: TỔNG KẾT

4.1. Kết quả đạt được

4.2. Mặt hạn chế

4.3. Hướng phát triển

Danh Mục Hình Ảnh

Danh Mục Bảng

Tóm tắt

I. Cách Tìm Kiếm Phòng Trọ Hiệu Quả Trong Kỷ Nguyên Số

Trong bối cảnh đô thị hóa nhanh chóng, nhu cầu tìm kiếm phòng trọ tại các thành phố lớn ngày càng gia tăng. Lượng lớn sinh viên, công nhân, và các gia đình trẻ liên tục di chuyển để học tập và làm việc, tạo ra một thị trường nhà trọ sôi động nhưng cũng đầy thách thức. Sự phát triển của công nghệ thông tin đã mở ra một hướng đi mới, thay thế phương pháp tìm kiếm truyền thống vốn tốn nhiều thời gian và công sức. Website hỗ trợ tìm kiếm phòng trọ ra đời như một giải pháp tất yếu, ứng dụng công nghệ để đơn giản hóa và tối ưu hóa quy trình tìm kiếm nơi ở. Thay vì phải tự mình đi khảo sát từng khu vực, người dùng có thể truy cập vào một nền tảng tập trung, nơi mọi thông tin được số hóa và sắp xếp một cách khoa học. Các nền tảng này không chỉ cung cấp danh sách phòng trọ mà còn tích hợp nhiều công cụ mạnh mẽ như bộ lọc chi tiết, bản đồ vị trí, hình ảnh xác thực và hệ thống đánh giá. Báo cáo đồ án “Xây dựng Website hỗ trợ tìm kiếm phòng trọ” của nhóm sinh viên Phan Hoàng Hạc và Nguyễn Quốc Dũng (2022) đã chứng minh tính hiệu quả của mô hình này. Nghiên cứu chỉ ra rằng một website được thiết kế tốt có thể giảm thiểu đáng kể thời gian tìm kiếm, tăng cường tính minh bạch và giúp người thuê đưa ra quyết định sáng suốt hơn. Việc áp dụng các công nghệ hiện đại như ReactJSNodeJS không chỉ cải thiện tốc độ phản hồi của trang web mà còn mang lại trải nghiệm người dùng mượt mà, trực quan. Những nền tảng này trở thành cầu nối hiệu quả giữa chủ trọ và người đi thuê, góp phần làm cho thị trường bất động sản cho thuê trở nên năng động và minh bạch hơn.

1.1. Khái niệm website hỗ trợ tìm kiếm nhà trọ hiện đại

Một website hỗ trợ tìm kiếm phòng trọ là một nền tảng trực tuyến chuyên biệt, được xây dựng để kết nối người có nhu cầu thuê và người cho thuê. Nền tảng này hoạt động như một thị trường kỹ thuật số, nơi các tin đăng về phòng trọ, nhà nguyên căn, hoặc văn phòng được niêm yết công khai. Các thông tin chi tiết như giá thuê, diện tích, địa chỉ, tiện ích đi kèm và hình ảnh thực tế được cung cấp đầy đủ. Mục tiêu chính là tạo ra một môi trường tìm kiếm tập trung, hiệu quả và đáng tin cậy. Thay vì thông tin phân mảnh trên nhiều kênh khác nhau, website gom tất cả vào một nơi, cho phép người dùng dễ dàng so sánh và lựa chọn. Hệ thống được trang bị các chức năng tìm kiếmbộ lọc thông minh, giúp thu hẹp kết quả dựa trên các tiêu chí cụ thể như khu vực, mức giá, số người ở, hoặc loại phòng. Điều này giúp tiết kiệm thời gian và công sức, đồng thời tăng khả năng tìm được nơi ở phù hợp với nhu cầu và ngân sách.

1.2. Lợi ích vượt trội so với các phương pháp truyền thống

So với việc tìm kiếm thủ công qua tờ rơi, môi giới hoặc hỏi thăm, website mang lại nhiều lợi ích vượt trội. Lợi ích lớn nhất là tiết kiệm thời gian và chi phí đi lại. Người tìm trọ có thể xem hàng trăm lựa chọn khác nhau chỉ với vài cú nhấp chuột. Tính minh bạch cũng được nâng cao đáng kể. Các thông tin được trình bày rõ ràng, kèm theo hình ảnh và đôi khi là video, giúp người thuê có cái nhìn tổng quan trước khi quyết định đi xem trực tiếp. Các website tìm phòng trọ uy tín thường có cơ chế xác thực tin đăng và hệ thống đánh giá từ cộng đồng, giúp hạn chế rủi ro gặp phải tin giả hoặc lừa đảo. Ngoài ra, việc tích hợp bản đồ số cho phép người dùng xác định chính xác vị trí phòng trọ, xem xét các tiện ích xung quanh như chợ, trường học, bệnh viện. Đối với chủ trọ, việc đăng bài lên website giúp tiếp cận một lượng lớn khách hàng tiềm năng một cách nhanh chóng và hiệu quả, giảm thời gian phòng trống và tối ưu hóa lợi nhuận.

II. Thách Thức Khi Tìm Nơi Ở Tại Sao Lại Khó Khăn

Quá trình tìm nơi ở phù hợp, đặc biệt tại các khu đô thị lớn, luôn tiềm ẩn nhiều khó khăn và thách thức. Đối với những người lần đầu tìm trọ như sinh viên hay người lao động từ tỉnh lẻ, hành trình này còn phức tạp hơn. Một trong những rào cản lớn nhất là sự bất đối xứng thông tin. Thông tin về phòng trọ thường không được công khai minh bạch, dẫn đến tình trạng người thuê bị “hét giá” hoặc gặp phải những điều khoản hợp đồng bất lợi. Phương pháp tìm kiếm truyền thống dựa vào các tờ rơi dán cột điện hoặc thông qua trung gian môi giới thường thiếu độ tin cậy. Các tin đăng này có thể đã cũ, không còn hiệu lực, hoặc hình ảnh không phản ánh đúng thực tế. Điều này không chỉ gây lãng phí thời gian mà còn tạo ra sự thất vọng cho người tìm kiếm. Hơn nữa, việc phải di chuyển liên tục qua nhiều khu vực khác nhau để xem phòng là một cực hình, vừa tốn kém chi phí xăng xe, vừa mất nhiều công sức. Theo nghiên cứu thực tiễn được đề cập trong đồ án của trường Đại học Công nghệ TP.HCM, phạm vi tìm kiếm thủ công bị giới hạn nghiêm trọng bởi yếu tố địa lý và thời gian. Người tìm trọ khó có thể so sánh một cách khách quan giữa các lựa chọn ở những quận khác nhau. Vấn đề an ninh và lừa đảo cũng là một mối lo ngại lớn, khi nhiều đối tượng lợi dụng sự cả tin của người thuê để chiếm đoạt tiền cọc. Những thách thức này cho thấy sự cấp thiết của một giải pháp công nghệ tập trung, an toàn và hiệu quả.

2.1. Rủi ro từ thông tin không xác thực và lừa đảo

Một trong những vấn đề nhức nhối nhất khi tìm kiếm phòng trọ là rủi ro từ thông tin sai lệch. Nhiều tin đăng sử dụng hình ảnh minh họa lung linh, không đúng với thực tế căn phòng. Khi người thuê đến nơi, họ mới nhận ra phòng trọ xuống cấp, chật chội hoặc thiếu tiện nghi. Tình trạng lừa đảo tinh vi hơn là việc các đối tượng giả làm chủ nhà, yêu cầu người thuê chuyển tiền cọc trước để “giữ chỗ” rồi biến mất. Sự thiếu vắng một cơ chế kiểm duyệt và xác thực thông tin trên các kênh truyền thống đã tạo điều kiện cho những hành vi này tồn tại. Một website uy tín sẽ có các biện pháp xác minh danh tính chủ trọ và kiểm duyệt nội dung tin đăng, qua đó giảm thiểu đáng kể nguy cơ lừa đảo và bảo vệ quyền lợi cho người đi thuê.

2.2. Hạn chế về thời gian và phạm vi tìm kiếm thủ công

Việc tự mình đi tìm phòng trọ là một quá trình tốn nhiều thời gian và công sức. Người tìm kiếm thường phải dành ra nhiều ngày, thậm chí nhiều tuần để đi khảo sát các khu vực khác nhau. Điều này đặc biệt khó khăn đối với những người có lịch trình làm việc hoặc học tập bận rộn. Phạm vi tìm kiếm cũng bị giới hạn trong một vài khu vực lân cận. Người thuê khó có thể bao quát hết các lựa chọn tiềm năng trên toàn thành phố để tìm ra nơi ở có mức giá và chất lượng tốt nhất. Ngược lại, một nền tảng trực tuyến phá vỡ mọi rào cản về không gian và thời gian. Người dùng có thể tìm kiếm phòng trọ ở bất kỳ quận nào, vào bất kỳ lúc nào, chỉ cần một thiết bị có kết nối internet. Cơ sở dữ liệu tập trung cho phép so sánh hàng ngàn tin đăng một cách nhanh chóng, giúp đưa ra quyết định tối ưu nhất.

III. Giải Pháp Tối Ưu Xây Dựng Website Tìm Kiếm Phòng Trọ

Để giải quyết những thách thức cố hữu trong việc tìm kiếm nơi ở, đề tài “Xây dựng Website hỗ trợ tìm kiếm phòng trọ” đã được hình thành. Mục tiêu chính của dự án là tạo ra một nền tảng công nghệ toàn diện, đóng vai trò trung gian kết nối hiệu quả giữa người cho thuê và người cần thuê. Website này không chỉ là một nơi niêm yết thông tin, mà còn là một công cụ mạnh mẽ với nhiều tính năng thông minh, giúp quá trình tìm kiếm trở nên dễ dàng, nhanh chóng và an toàn hơn. Dự án tập trung vào việc xây dựng một giao diện trực quan, thân thiện với mọi đối tượng người dùng, từ sinh viên công nghệ đến những công nhân ít tiếp xúc với máy tính. Hệ thống được thiết kế để đơn giản hóa các thao tác phức tạp. Người dùng có thể dễ dàng đăng ký tài khoản, đăng tin cho thuê, hoặc tìm kiếm phòng trọ theo các tiêu chí mong muốn. Một trong những yếu tố cốt lõi của giải pháp là việc xây dựng một cơ sở dữ liệu có cấu trúc tốt, cho phép lưu trữ và truy xuất thông tin một cách nhanh chóng. Các bảng dữ liệu như Users, Rooms, Category được thiết kế logic để quản lý thông tin người dùng, chi tiết phòng và loại hình cho thuê. Việc áp dụng các công nghệ web hiện đại đảm bảo hệ thống hoạt động ổn định, có khả năng mở rộng và bảo trì trong tương lai.

3.1. Mục tiêu cốt lõi của dự án website chuyên dụng

Theo tài liệu đề án, mục tiêu hàng đầu là xây dựng một hệ thống dễ dàng kiểm tra, cải tiến và nâng cấp. Dự án hướng đến việc cung cấp một giải pháp công nghệ giúp người dùng tìm kiếm phòng trọ, nhà ở, văn phòng một cách thuận tiện nhất. Cụ thể, website phải đáp ứng các yêu cầu chức năng cơ bản như: quản lý bài đăng (thêm, xóa, sửa), tìm kiếm thông minh, và cập nhật thông tin cá nhân. Hệ thống cũng cần phân quyền rõ ràng giữa người dùng thông thường (User) và quản trị viên (Admin) để đảm bảo an ninh và quản lý hiệu quả. Mục tiêu phi chức năng bao gồm việc xây dựng một giao diện thân thiện, dễ sử dụng, có tính tương thích cao và đảm bảo tốc độ phản hồi nhanh chóng, với các thao tác xử lý không quá 10 giây.

3.2. Đối tượng người dùng mục tiêu và phạm vi ứng dụng

Đối tượng chính mà website hướng đến là những cá nhân có nhu cầu tìm nơi ở tại các thành phố lớn, bao gồm sinh viên, công nhân lao động, và các gia đình trẻ. Đây là nhóm người dùng có nhu cầu cao nhưng thường gặp nhiều khó khăn trong việc tìm kiếm thông tin đáng tin cậy. Bên cạnh đó, website cũng phục vụ các chủ nhà trọ, những người muốn đăng tin cho thuê một cách nhanh chóng và tiếp cận đúng đối tượng khách hàng. Phạm vi của dự án tập trung vào việc hỗ trợ tìm kiếm phòng trọ, nhà và văn phòng. Hệ thống không chỉ là nơi đăng tin mà còn là một công cụ quản lý toàn diện, giúp cả hai bên tiết kiệm thời gian, công sức và tăng cường sự tin tưởng lẫn nhau.

IV. Hướng Dẫn Kỹ Thuật Công Nghệ Xây Dựng Website Hàng Đầu

Để hiện thực hóa một website hỗ trợ tìm kiếm phòng trọ hiện đại và hiệu suất cao, việc lựa chọn công nghệ phù hợp là yếu tố quyết định. Đồ án nghiên cứu đã lựa chọn một bộ công nghệ (tech stack) phổ biến và mạnh mẽ, bao gồm ReactJS cho phía client (frontend) và NodeJS cùng framework ExpressJS cho phía server (backend). Sự kết hợp này tạo ra một ứng dụng web đơn trang (Single Page Application - SPA), mang lại trải nghiệm người dùng mượt mà và tốc độ tải trang nhanh. Phía frontend, ReactJS là một thư viện JavaScript do Facebook phát triển, cho phép xây dựng các thành phần giao diện người dùng (UI) có khả năng tái sử dụng. Kiến trúc dựa trên component giúp việc quản lý và phát triển giao diện trở nên đơn giản và có tổ chức. Phía backend, NodeJS được xây dựng trên V8 JavaScript engine của Chrome, cho phép thực thi mã JavaScript phía máy chủ. Đặc tính bất đồng bộ và hướng sự kiện của NodeJS rất phù hợp để xử lý các tác vụ real-time và các yêu cầu I/O, đảm bảo hệ thống có thể xử lý đồng thời nhiều kết nối từ người dùng. Cơ sở dữ liệu MongoDB, một hệ quản trị NoSQL, được chọn để lưu trữ dữ liệu. Cấu trúc lưu trữ dạng tài liệu (document-based) của MongoDB rất linh hoạt, dễ dàng đồng bộ với các đối tượng JSON trong JavaScript, giúp đơn giản hóa quá trình phát triển.

4.1. Sử dụng ReactJS và NodeJS cho hiệu suất vượt trội

ReactJS giúp tạo ra các giao diện người dùng động và có khả năng tương tác cao. Thay vì tải lại toàn bộ trang mỗi khi có thay đổi, ReactJS chỉ cập nhật những thành phần cần thiết, giúp cải thiện đáng kể hiệu suất và trải nghiệm người dùng. Trong khi đó, NodeJS với Express framework cung cấp một nền tảng vững chắc để xây dựng các API RESTful. Các API này đóng vai trò là cầu nối giao tiếp giữa frontend và cơ sở dữ liệu. Việc sử dụng JavaScript cho cả frontend và backend (full-stack JavaScript) giúp đồng bộ hóa quy trình phát triển, giảm thiểu thời gian học công nghệ mới và cho phép đội ngũ phát triển làm việc hiệu quả hơn.

4.2. Vai trò của MongoDB trong việc lưu trữ dữ liệu linh hoạt

MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL, lưu trữ dữ liệu dưới dạng các tài liệu BSON (một dạng nhị phân của JSON). Cấu trúc này cho phép lưu trữ các dữ liệu phức tạp, phân cấp một cách tự nhiên mà không cần các bảng quan hệ phức tạp. Trong dự án tìm kiếm phòng trọ, sự linh hoạt này rất hữu ích, vì thông tin của một phòng trọ (ví dụ: mảng hình ảnh, danh sách tiện ích) có thể được lưu trữ gọn trong một tài liệu duy nhất. Thư viện Mongoose được sử dụng để làm việc với MongoDB, cung cấp các tính năng như định nghĩa Schema, xác thực dữ liệu và mô hình hóa đối tượng, giúp việc tương tác với cơ sở dữ liệu trở nên an toàn và có cấu trúc hơn.

4.3. Phân tích chức năng chính bộ lọc và quản lý bài đăng

Hai trong số các chức năng quan trọng nhất của website là bộ lọc tìm kiếm và hệ thống quản lý bài đăng. Chức năng bộ lọc cho phép người dùng tìm kiếm phòng trọ dựa trên nhiều tiêu chí như giá, diện tích, loại phòng, và số người tối đa. Hệ thống backend sẽ xử lý các yêu cầu này, truy vấn vào cơ sở dữ liệu MongoDB để lấy ra kết quả phù hợp và trả về cho frontend hiển thị. Chức năng quản lý bài đăng cho phép người dùng (và Admin) thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên các tin đăng. Mỗi bài đăng được gắn với một userid để xác định chủ sở hữu, đảm bảo chỉ người đăng bài mới có quyền chỉnh sửa hoặc xóa tin của mình (trừ Admin có toàn quyền).

V. Kết Quả Thực Tiễn Giao Diện Trực Quan Dễ Sử Dụng

Kết quả của dự án là một website hỗ trợ tìm kiếm phòng trọ hoàn chỉnh với các chức năng thiết yếu và một giao diện người dùng (UI) được thiết kế cẩn thận. Giao diện chương trình được xây dựng với tiêu chí đơn giản, trực quan và dễ sử dụng, nhằm mang lại trải nghiệm tốt nhất cho người dùng. Trang chủ được thiết kế bao gồm các thành phần chính: thanh điều hướng (Navbar), banner quảng cáo, danh mục các loại hình cho thuê, và danh sách các bài đăng được đề xuất. Theo mô tả trong báo cáo, Navbar chứa logo, các liên kết chính như “Rooms”, “Contacts”, và một mục “Setting” cho phép người dùng truy cập các chức năng cá nhân như đăng bài, quản lý bài đăng và xem thông tin tài khoản. Một điểm nổi bật là hệ thống phân quyền được thể hiện rõ trên giao diện: người dùng có vai trò Admin sẽ thấy thêm mục “Admin Pages” để truy cập vào trang quản trị. Trải nghiệm người dùng (UX) được chú trọng thông qua việc tối ưu hóa luồng tương tác. Ví dụ, chức năng tìm kiếm trên trang chủ cho phép người dùng gõ từ khóa và nhận kết quả gợi ý ngay lập tức mà không cần chuyển trang. Các thông báo lỗi và hướng dẫn cũng được tích hợp, chẳng hạn như yêu cầu đăng nhập khi thực hiện các chức năng cá nhân hoặc cảnh báo khi nhập sai tài khoản, mật khẩu.

5.1. Thiết kế giao diện và trải nghiệm người dùng tối ưu

Thiết kế giao diện của website tập trung vào sự rõ ràng và nhất quán. Trang danh sách các phòng thuê được trang bị một bộ lọc mạnh mẽ ở bên cạnh, cho phép người dùng tùy chỉnh tìm kiếm theo nhiều tiêu chí. Kết quả tìm kiếm được hiển thị kèm theo hệ thống phân trang tự động, giúp người dùng duyệt qua một lượng lớn tin đăng một cách dễ dàng. Trang chi tiết bài đăng cung cấp đầy đủ thông tin về phòng trọ, bao gồm hình ảnh, mô tả, giá cả, và thông tin người đăng. Một chi tiết UX quan trọng là các nút “Cập nhật” và “Xóa” chỉ hiển thị khi người dùng đã đăng nhập và là chủ sở hữu của bài đăng đó. Điều này đảm bảo tính bảo mật và quyền riêng tư, ngăn chặn các hành vi chỉnh sửa trái phép.

5.2. Chức năng quản lý hiệu quả dành cho quản trị viên

Trang quản trị (Admin Pages) là một thành phần không thể thiếu, cung cấp cho quản trị viên toàn quyền kiểm soát hệ thống. Tại đây, Admin có thể xem danh sách tất cả người dùng, thực hiện các thao tác như tạo mới, cập nhật, hoặc xóa tài khoản. Tương tự, Admin có thể quản lý các loại danh mục cho thuê (ví dụ: phòng trọ, căn hộ, văn phòng) và quản lý toàn bộ các bài đăng trên hệ thống. Một đặc quyền quan trọng của Admin là khả năng xóa hoặc sửa bài đăng của bất kỳ người dùng nào, giúp kiểm duyệt nội dung và loại bỏ các tin đăng không phù hợp hoặc vi phạm quy định. Giao diện quản lý được thiết kế dưới dạng bảng biểu, giúp hiển thị thông tin một cách khoa học và dễ theo dõi.

VI. Tổng Kết Hướng Phát Triển Tương Lai Của Website

Dự án “Xây dựng Website hỗ trợ tìm kiếm phòng trọ” đã đạt được những kết quả đáng ghi nhận. Phần mềm hoàn thành đã đáp ứng được các mục tiêu đề ra, bao gồm các chức năng cốt lõi như quản lý bài đăng, tìm kiếm, và quản lý tài khoản. Hệ thống cho phép người dùng thực hiện các thao tác thêm, xóa, sửa một cách nhanh chóng và chính xác. Giao diện trực quan và luồng hoạt động hợp lý đã tạo ra một sản phẩm thân thiện, giúp đơn giản hóa quá trình tìm kiếm phòng trọ cho người dùng cuối. Việc áp dụng thành công các công nghệ như ReactJS, NodeJSMongoDB không chỉ chứng tỏ năng lực của nhóm phát triển mà còn đặt nền móng vững chắc cho việc bảo trì và nâng cấp hệ thống trong tương lai. Tuy nhiên, như trong mọi dự án công nghệ, luôn có những hạn chế và tiềm năng để phát triển. Báo cáo đã thẳng thắn nhìn nhận một số mặt hạn chế do giới hạn về thời gian và kinh nghiệm. Đây là những điểm khởi đầu quan trọng cho các định hướng phát triển tiếp theo. Việc xây dựng một nền tảng công nghệ không phải là một điểm đến, mà là một hành trình liên tục cải tiến để đáp ứng nhu cầu ngày càng cao của thị trường và người dùng. Tương lai của các website tìm phòng trọ nằm ở việc tích hợp các công nghệ thông minh hơn và tạo ra một hệ sinh thái dịch vụ toàn diện.

6.1. Đánh giá kết quả và những hạn chế còn tồn tại

Về mặt thành công, website đã hiện thực hóa được một nền tảng tìm kiếm tập trung, giải quyết các vấn đề cơ bản của việc tìm trọ thủ công. Các chức năng từ đăng ký, đăng nhập, đăng bài, tìm kiếm với bộ lọc, đến phân quyền Admin đều hoạt động ổn định. Tuy nhiên, dự án vẫn còn một số hạn chế. Hệ thống có thể chưa có các tính năng nâng cao như xác thực tin đăng bằng AI, hệ thống gợi ý phòng trọ dựa trên hành vi người dùng, hoặc tích hợp thanh toán trực tuyến cho việc đặt cọc. Vấn đề bảo mật cũng cần được liên tục rà soát và củng cố để đối phó với các mối đe dọa mới. Những hạn chế này là thực tế trong một đồ án có giới hạn về nguồn lực và là cơ hội để cải tiến trong các phiên bản sau.

6.2. Tiềm năng nâng cấp và tích hợp công nghệ mới

Hướng phát triển trong tương lai cho website là rất rộng mở. Một trong những nâng cấp giá trị nhất là xây dựng ứng dụng di động (mobile app) để người dùng có thể tìm kiếm phòng trọ mọi lúc, mọi nơi. Tích hợp bản đồ tương tác nâng cao (interactive maps) với các lớp dữ liệu về giao thông, tiện ích công cộng, và an ninh khu vực sẽ cung cấp cho người dùng cái nhìn sâu sắc hơn. Trí tuệ nhân tạo (AI) và học máy (Machine Learning) có thể được áp dụng để xây dựng hệ thống gợi ý cá nhân hóa, tự động đề xuất những phòng trọ phù hợp nhất với sở thích và lịch sử tìm kiếm của người dùng. Ngoài ra, việc xây dựng một cộng đồng người dùng vững mạnh với hệ thống đánh giá, bình luận chi tiết sẽ tăng cường sự tin cậy và minh bạch cho toàn bộ nền tảng.

27/09/2025
Báo cáo đồ án môn học xây dựng website hỗ trợ tìm kiếm phòng trọ

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

CHƯƠNG 1 : TỔNG QUAN 1. Lý do chọn đề tài Trong cuộc sống hiện nay, có một lượng lớn sinh viên, công nhân lao động, gia đình vào các thành phố lớn để học tập và làm việc.Nên nhu cầu tìm kiếm phòng trọ, nơi ở ngày càng tăng. Tránh việc người đi tìm phải tự thân vận động tìm kiếm cho mình một nơi tốt nhất. Thay vào đó chỉ cần ngồi ở nhà, hay chỉ cần một thiết bị điện tử để tìm kiếm đơn giản mà không cần phải đi ra ngoài.

Ý thức được vấn đề đó, nhóm em quyết định chọn đề tài:”Xây dựng Website hỗ trọ tìm kiếm phòng trọ ” và áp dụng thí điểm vào mô hình quản lí đó vào việc tìm kiếm. Mục tiêu đề tài Tìm hiểu đúng phương pháp làm một đề tài theo đúng quy tắc , đúng chuẩn. Đối tượng hướng đến người dùng. Phạm vi giới hạn: chỉ hỗ trợ tìm kiếm phòng trọ, nhà, văn phòng.

Tìm hiểu được cách triển khai và xây dựng một hệ thông. Website phải dễ dàng kiểm tra , cải tiến, nâng cấp khi có những lỗi phát sinh bất ngờ từ hệ thống. Nội dung thực hiện Họ và Tên Nhiệm Vụ Phan Hoàng Hạc(Nhóm trưởng) Thiết kế phần mềm. Lên ý tưởng TIEU LUAN MOI download : skknchat@gmail.com Tìm hiểu ngôn ngữ, công nghệ , IDE, DB.

Hỗ trợ viết báo cáo. Nguyễn Quốc Dũng Hỗ trợ thiết kế phần mềm. Hỗ trợ thiết kế giao diện. Viết và trình bày báo cáo.

1: Bảng nội dung thực hiện 1. Phương pháp thực hiện Họp và phân tích sử dụng công nghệ nào ? thiết kế giao diện như thế nào ? sử dụng cơ sở dữ liệu gì ?. Sau khi phân tích tiến hành và đã chọn sử dụng công nghệ React js và Node js thực hiện theo yêu cầu phần tích. Kiểm thử và hoàn thành sản phẩm.

Giới thiệu về công nghệ sử dụng 1.1 Ngôn ngữ javascrip Là một ngôn ngữ lập trình web rất phổ biến ngày nay. Javascript được tích h ợp đồng thời nhúng vào HTML để hỗ trợ cho website trở nên sống động hơn. Chúng cũng đóng vai trò tương tự như một phần của website, cho phép Clien t-side Script từ người dùng tương tự máy chủ (Nodejs) để tạo ra những websi te động. Brendan Eich chính là người đã phát triển Javascript tại Netscape với tiền thâ n là Mocha.

Sau đó, Mocha được đổi thành LiveScript và cuối cùng mới đổi t hành JavaScript. TIEU LUAN MOI download : skknchat@gmail.com Năm 1998, JavaScript với phiên bản mới nhất là ECMAScript 2 phát hành v à đến năm 1999 thì ECMAScript 3 được ra mắt. Năm 2016, ứng dụng JavaScript đã đạt kỷ lục lên tới 92% website sử dụng, đ ồng thời cũng được đánh giá là một công cụ cực kỳ quan trọng đối với lập trì nh viên. Visual Studio Code(IDE) Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi Mi crosoft dành cho Windows, Linux và macOS.

Nó hỗ trợ chức năng debug, đ i kèm với Git, có chức năng nổi bật cú pháp, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, c ó Syntax Highlighting. Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn. Nhờ tính năng tùy chỉnh, Visual Studio Cod e cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác.

Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại b ao gồm các tính năng mạnh mẽ. Node js NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằn g c++ và Javascript. Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào nă m 2009. TIEU LUAN MOI download : skknchat@gmail.js ra đời khi các developer đời đầu của JavaScript mở rộng nó từ một thứ bạ n chỉ chạy được trên trình duyệt thành môi trường mà bạn có thể chạy trên máy củ a mình dưới dạng ứng dụng độc lập.

Cả trình duyệt JavaScript và Node.js đều chạy trên JavaScript runtime V8 engine. Công cụ này lấy code JavaScript của bạn và convert nó sang mã máy (bytecode) c ho việc thực thi nhanh hơn. Mã máy là loại code thấp cấp hơn để máy tính có thể c hạy mà không cần biên dịch nó. Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime.

Realtime ở đây chính là xử lý giao tiếp từ client tới máy chủ theo thời gian thực. Giống như khi bạn lướt Face book thì mỗi khi bạn comment hay like một topic nào đó thì ngay lập tức chủ topic và những người đã comment trên đó sẽ nhận được thông báo là bạn đã comment. Express framework ExpressJS là một trong những framework phổ biến dùng để xây dựng API và Website phổ biến nhất của NodeJS. Nó được sử dụng rộng rãi đến mức hầu như mọi dự án Web nào đều bắt đầu bằng việc tích hợp Express.

Có rất nhiều lý do để chọn ExpressJS:  Có nhiều tính năng hỗ trợ tất cả những gì bạn cần trong việc xây dựng Web và API.  Quản lý các route dễ dàng.  Cung cấp một nền tảng phát triển cho các API  Hỗ trợ nhiều thư viện và plugin.  Bảo mật và an toàn hơn so với việc code thuần.

 Hỗ trợ cộng đồng tuyệt vời TIEU LUAN MOI download : skknchat@gmail. Mongodb MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản, là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường tương tự như các đối tượng JSO N. Một bản ghi trong collection MongoDB và đơn vị dữ liệu cơ bản trong MongoDB.

Các tài liệu (document) tương tự như các đối tượng JSON nhưng tồn tại trong cơ s ở dữ liệu ở định dạng có nhiều kiểu dữ liệu hơn được gọi là BSON. Một cặp name-value trong một document. Một document có 0 hoặc nhiều trường (field). Các fileld tương tự như các cột(column) trong cơ sở dữ liệu quan hệ (RDB MS).

Mongoose Khi bạn đã xác định các Schemas và Model của mình, Mongoose sẽ bao gồm nhi ều hàm khác nhau cho phép bạn xác thực, lưu, xóa và truy vấn dữ liệu của bạn bằn g các hàm MongoDB phổ biến. Để làm việc với Mongoose sau khi thực hiện conn ection thì chúng ta sẽ bắt đầu với một Schema. Mỗi Schemas đều được chỉ định t ới một collection trong MongoDB và từ đó xác định hình "bộ khung" cho các docu ment trong collection được chỉ đinh đó. Ở đây mình có một Schemas.

Mỗi key trong object truyền vào class new Schema ví dụ như (title, author, bod y,.) được chỉ định là một thuộc tính của một document, mỗi value trong object ( n hư trong ví dụ là String, Boolean, Number) sẽ đại diện cho kiểu dữ liệu được sử dụ ng ( SchemaType ). Model chịu trách nhiệm với các document như việc thêm, sửa, xóa, các câu truy v ấn. Mục tiêu đề ra TIEU LUAN MOI download : skknchat@gmail.com Phần mềm sau khi được hoàn thành sẽ giúp người sử dụng thực hiện các chức năng của trang web: o Quản lý các bài đăng. o Thao tác thêm, xóa, sửa nhanh, gọn, dễ dàng, chính xác.

o Thực hiện việc tìm kiếm. o Cập nhật thông tin cá nhân. CHƯƠNG 2 : TÁC PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU 2. Quá trình phân tích 2.

Phân tích phạm vi dự án Phạm vi : website gồm các chức năng cơ bản. Phần mền được phát triển và vận hành bởi con người. Phân tích mở rộng yêu cầu nghiệp vụ TIEU LUAN MOI download : skknchat@gmail.com Xác định yêu cầu nghiệp vụ: Thu thập yêu cầu của khách hàng và ch ia nhỏ tác vụ đến mức tối thiểu để mô tả một cách chính xác nhất. Xác định yêu cầu chất lượng: Đáp ứng nhu cầu khách hàng nhanh, c hính xác, … Phân tích cơ sở hạ tầng hiện hành: Nắm bắt cấu hình, hệ điều hành đ ược sử dụng nhiều để nâng cấp phần mềm phù hợp với nhu cầu của khách hàng, tăng mức độ chính xác và hiệu quả.

Phân tích ảnh hưởng kỹ thuật: Theo nhu cầu của thời đại, luôn phải n âng cấp và cải thiện hệ thống. Phân tích yêu cầu bảo mật Xác định môi trường bảo mật phần mềm: Cung cấp đủ thông tin cho người dùng. Xác định mức độ yêu cầu bảo mật: Xác định mức độ rủi ro để bảo m ật phần mềm. Rà soát bảo mật hiện tại: Tuân thủ yêu cầu bảo mật để đưa ra nhiều giải pháp mang lại lợi ích cao.

Phân tích yêu cầu tốc độ Khi khởi động website, tùy vào cấu hình máy mà thời gian sẽ dao độ ng từ 3-10 giây. Sau khi đăng nhập, 100% các thao tác xử lý không quá 10 giây. - Kh i có yêu cầu của người dùng, thao tác phản hồi người dùng là nhanh. Có thể thực hiện đăng nhiều bài khác nhau trong một lúc.

Phân tích yêu cầu vận hành TIEU LUAN MOI download : skknchat@gmail.com Hệ thống được xây dựng trên nền Visual Studio Code(IDE) với ngôn ngữ JavaScrip. Cơ sở dữ liệu của hệ thống sử dụng CSDL Mongodb. Yêu cầu phần cứng: CPU intel core i3 hoặc AMD Ryzen 3 trở lên; R AM >=1GB; Ổ C trống tối thiểu 1GB; Hệ điều hành Windows 7/8/1 0. Phần cứng tối ưu: CPU intel core i5 (chíp H hoặc HQ) hoặc AMD R yzen 5 trở lên; RAM >=4GB; Ổ C trống tối thiểu 1GB; Hệ điều hành Windows 7/8/10.

Phân tích yếu tố con người Mục đích chính của website là mang đến lợi ích cho con người, nên yếu tố con người là phần quạn trọng không thể thiếu. Bắt đầu với việc định nghĩa mục tiêu người dùng, qua đó xác định được các dạng người dùng với những nhu cầu đặc biệt liên quan, từ đó có thể sửa đổi phần mềm thí ch ứng với những nhu cầu đó. Phân tích yêu cầu tích hợp -Khi nhu cầu của người dùng phát sinh lớn thì cơ sở dữ liệu cần đ ược thiết kế lại dựa trên những kỹ thuật thiết kế cơ sở dữ liệu mới để đáp ứng nhu cầu nâng cấp cơ sở dữ liệu trong hệ thống. Việc x ây dựng các tiện ích chuyển đổi riêng biệt ta có thể dễ dàng thực hiện việc truy xuất cơ sở dữ liệu hiện có, hay chuyển đổi dữ liệu cũ sang khuôn dạng mới.

Phân tích thực tiễn nghiệp vụ tồn tại Khi hiểu được những nghiệp vụ thực tế liên quan đến website của doanh nghiệp, ta sẽ tránh được sai sót đồng thời và có thể TIEU LUAN MOI download : skknchat@gmail.com tìm được cách tốt hơn, hiệu quả hơn cho việc hiện thực tiến tr ình nghiệp vụ và ngăn ngừa các lỗi tầm thường.

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