Xây Dựng Website Tìm Kiếm Nhà Trọ Trên Toàn Quốc

Tài liệu nghiên cứu Xây dựng website tìm kiếm nhà trọ trên toàn quốc, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Trường đại học

Đại học Đà Nẵng

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2022 - 2023

84
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG I: NGÔN NGỮ LẬP TRÌNH JAVASCRIPT

1.1. JavaScript là gì?

1.2. Lịch sử phát triển

1.3. Đôi nét về ReactJs

1.4. Những tính năng của ReactJs

1.5. NodeJS là gì?

1.6. Các đặc tính của NodeJS

2. CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Khảo sát hệ thống

2.1.1. Khảo sát thực tế

2.1.2. Khảo sát người dùng

2.2. Đặc tả yêu cầu phần mềm

2.2.1. Các yêu cầu chức năng

2.2.2. Yêu cầu phi chức năng

2.3. Biểu đồ Use Case

2.3.1. Use case admin

2.3.2. Use case host

2.3.3. Use case renter

2.3.4. Use case khách vãng lai

2.4. Kịch bản cho Use Case

2.4.1. Kịch bản Use-case “Đăng ký và đăng nhập”

2.4.2. Kịch bản Use-case “Quản lý trang cá nhân”

2.4.3. Kịch bản Use-case “Lọc và xem”

2.4.4. Kịch bản Use-case “Quản lý người dùng”

2.4.5. Kịch bản Use-case “Quản lý nhà trọ”

2.4.6. Kịch bản Use-case “Chatbox”

2.4.7. Kịch bản Use-case “Tìm đường đi”

2.4.8. Kịch bản Use-case “Theo dõi và hủy theo dõi”

2.4.9. Kịch bản Use-case “Đăng tin”

2.4.10. Kịch bản Use-case “Quản lý banner”

2.4.11. Kịch bản Use-case “Quản lý question”

2.4.12. Kịch bản Use-case “Thống kê”

2.5. Đăng ký và đăng nhập

2.6. Quản lý trang cá nhân

2.7. Lọc và xem

2.8. Theo dõi và hủy theo dõi

2.9. Quản lý người dùng

2.10. Quản lý nhà trọ

2.11. Quản lý tài khoản

2.12. Sơ đồ lớp tài khoản

2.13. Sơ đồ lớp nhà trọ

2.14. Thiết kế bảng cơ sở dữ liệu

3. CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH

3.1. Công cụ xây dựng

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

3.2.1. Giao diện trang chủ

3.2.2. Giao diện thông báo

3.2.3. Giao diện đăng nhập

3.2.4. Giao diện đăng ký

3.2.5. Giao diện trang cá nhân người dùng

3.2.6. Giao diện thay đổi mật khẩu

3.2.7. Giao diện chỉnh sửa trang cá nhân

3.2.8. Giao diện trang cá nhân chủ trọ

3.2.9. Giao diện tìm nhà trọ

3.2.10. Giao diện chi tiết nhà trọ

3.2.11. Giao diện chat box

3.2.12. Giao diện quản lý nhà trọ

3.2.13. Giao diện đăng trọ

3.2.14. Giao diện chỉnh sửa nhà trọ

3.2.15. Giao diện thống kê

3.2.16. Giao diện danh sách người dùng

3.2.17. Giao diện thêm người dùng

3.2.18. Giao diện sửa người dùng

3.2.19. Giao diện khóa, mở khóa người dùng

3.2.20. Giao diện danh sách banner

3.2.21. Giao diện thêm banner

3.2.22. Giao diện sửa banner

3.2.23. Giao diện xóa banner

3.2.24. Giao diện danh sách question

3.2.25. Giao diện thêm question

3.2.26. Giao diện sửa question

3.2.27. Giao diện xóa question

3.2.28. Giao diện trọ yêu thích

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Xây Dựng Website Tìm Kiếm Nhà Trọ Toàn Quốc

Xây dựng website tìm kiếm nhà trọ trên toàn quốc là một giải pháp hiệu quả cho sinh viên và người lao động. Với sự gia tăng nhu cầu tìm kiếm nhà trọ, việc phát triển một nền tảng trực tuyến giúp kết nối người cho thuê và người thuê là rất cần thiết. Website này không chỉ giúp tiết kiệm thời gian mà còn cung cấp thông tin chi tiết về các phòng trọ, từ giá cả đến vị trí.

1.1. Lợi Ích Của Website Tìm Kiếm Nhà Trọ

Website giúp người dùng dễ dàng tìm kiếm và so sánh các lựa chọn nhà trọ. Thông tin được cập nhật thường xuyên, đảm bảo tính chính xác và độ tin cậy.

1.2. Đối Tượng Sử Dụng Website

Đối tượng chính sử dụng website bao gồm sinh viên, người lao động và những người mới chuyển đến thành phố. Họ cần một giải pháp nhanh chóng và hiệu quả để tìm kiếm nơi ở.

II. Vấn Đề Trong Việc Tìm Kiếm Nhà Trọ Hiện Nay

Việc tìm kiếm nhà trọ hiện nay gặp nhiều khó khăn. Nhiều sinh viên và người lao động phải đối mặt với tình trạng thiếu thông tin, giá cả không minh bạch và sự thiếu tin cậy từ các nguồn thông tin. Điều này dẫn đến việc họ phải tốn nhiều thời gian và công sức để tìm kiếm.

2.1. Khó Khăn Trong Việc Tìm Kiếm Thông Tin

Nhiều người không biết đến các nguồn thông tin đáng tin cậy, dẫn đến việc họ phải dựa vào các quảng cáo không chính xác.

2.2. Chi Phí Cao Khi Sử Dụng Dịch Vụ Môi Giới

Chi phí cho các dịch vụ môi giới thường rất cao, làm tăng gánh nặng tài chính cho người thuê nhà.

III. Phương Pháp Xây Dựng Website Tìm Kiếm Nhà Trọ Hiệu Quả

Để xây dựng một website tìm kiếm nhà trọ hiệu quả, cần áp dụng các công nghệ hiện đại và thiết kế giao diện thân thiện với người dùng. Sử dụng ngôn ngữ lập trình JavaScript, ReactJs cho front-end và NodeJs cho back-end là một lựa chọn tối ưu.

3.1. Sử Dụng Công Nghệ Hiện Đại

Việc áp dụng công nghệ mới giúp website hoạt động mượt mà và nhanh chóng, cải thiện trải nghiệm người dùng.

3.2. Thiết Kế Giao Diện Thân Thiện

Giao diện cần dễ sử dụng, giúp người dùng dễ dàng tìm kiếm và lọc thông tin theo nhu cầu.

IV. Ứng Dụng Thực Tiễn Của Website Tìm Kiếm Nhà Trọ

Website tìm kiếm nhà trọ không chỉ là một công cụ tìm kiếm mà còn là một nền tảng kết nối giữa người cho thuê và người thuê. Các tính năng như nhắn tin trực tiếp, quản lý tài khoản và thông báo giúp cải thiện trải nghiệm người dùng.

4.1. Tính Năng Nhắn Tin Trực Tiếp

Người dùng có thể dễ dàng liên lạc với chủ nhà để hỏi thêm thông tin về phòng trọ.

4.2. Quản Lý Tài Khoản Người Dùng

Người dùng có thể quản lý thông tin cá nhân và theo dõi các phòng đã xem, giúp tiết kiệm thời gian.

V. Kết Luận Về Tương Lai Của Website Tìm Kiếm Nhà Trọ

Website tìm kiếm nhà trọ sẽ tiếp tục phát triển và cải thiện để đáp ứng nhu cầu ngày càng cao của người dùng. Việc tối ưu hóa các tính năng và cải thiện trải nghiệm người dùng sẽ là ưu tiên hàng đầu.

5.1. Tương Lai Của Công Nghệ Tìm Kiếm Nhà Trọ

Công nghệ sẽ tiếp tục phát triển, mang đến nhiều giải pháp mới cho việc tìm kiếm nhà trọ.

5.2. Định Hướng Phát Triển Website

Website sẽ không ngừng cải tiến để trở thành nền tảng tìm kiếm nhà trọ hàng đầu tại Việt Nam.

13/07/2025

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

CHƯƠNG I. Ngôn ngữ lập trình JavaScript 1. JavaScript là gì? JavaScript là một ngôn ngữ lập trình thông dịch được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng) cũng như phía máy chủ (với Nodejs).

Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java.js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript. Lịch sử phát triển Trước năm 1995, các trang web vẫn chỉ là các trang web tĩnh được tạo nên từ HTML, CSS. Ông lớn trong lĩnh vực công nghệ thời đó là Netscape đã sớm nhận ra được sự bất tiện này và bước đầu cho ra 1 “ngôn ngữ” đầu tiên chạy trên trình duyệt gọi là CGI script.

Tuy nhiên, đây vẫn chưa phải là một cuộc cách mạng vì CGI script bắt người dùng phải gửi 1 request đến server mỗi khi muốn thay đổi trang web và chờ response, điều này khá bất tiện và tốn thời gian. Chưa hài lòng với kết quả hiện tại, Netscape có 1 ý tưởng về 1 ngôn ngữ lập trình chuyên dụng trên browser và ngay lập tức bắn phát súng đầu tiên. Họ đã thuê 1 lập trình viên đầy tài năng là Brendan Eich để tạo ra 1 ngôn ngữ có tên là Mocha. Chỉ trong vòng 10 ngày ngắn ngủi, ông đã tạo ra 1 ngôn ngữ lập trình chuyên dụng trên browser có tên Livescript sau đó đổi tên thành Javascript.

Brendan đã chia sẻ trên 1 tờ báo rằng “Tôi không ngủ nhiều lắm”. Nhờ vào Javascript, lập trình viên bây giờ có thể thêm logic vào trong trang web của mình và biến nó từ “tĩnh” (static) sang “động” (dynamic), điều này có nghĩa là JS giúp lập trình viên tương tác trực tiếp với những thành phần quan trọng của trang web như DOM (Document Object Model) hay windown object (Global execution context của 1 trang web). Nếu như ngày xưa, với CGI script, bạn phải gửi cả 1 request chỉ để đổi màu 1 dòng chữ hay background Sinh viên thực hiện: Trần Y Tiến Người hướng dẫn: TS. Nguyễn Tấn Thuận 4 Xây dựng website tìm kiếm nhà trọ trên toàn quốc của trang web thì bây giờ, bạn chỉ cần JS là có thể tương tác trực tiếp và manipulate các thuộc tính của 1 trang web.

Đôi nét về ReactJs ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook, ra mắt vào năm 2013 với mục đích để xây dựng giao diện người dùng. Nó được sử dụng rộng rãi để xây dựng các trang web SPA (Single Page Application) và các ứng dụng trên nền tảng di động. Nó rất dễ sử dụng và cho phép người dùng có thể tạo các component UI có thể tái sử dụng. Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau.

React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM. Những tính năng của ReactJs JSX: viết tắt của JavaScript extension, nó là React extension, giúp cho việc thay đổi cây DOM dễ dàng hơn bằng HTML-style code đơn giản. Nó là một trong những tính năng tốt và dễ sử dụng. Single-way data flow (Luồng dữ liệu một chiều): ReactJS không có những module chuyên dụng để xử lý data, vì vậy ReactJS chia nhỏ view thành các component nhỏ có mỗi quan hệ chặt chẽ với nhau.

Luồng truyền dữ liệu trong ReactJS là luồng dữ liệu một chiều từ cha xuống con. Việc ReactJS sử dụng one-way data flow có thể gây ra một chút khó khăn cho những người muốn tìm hiểu và ứng dụng vào trong các dự án. Tuy nhiên, cơ chế này sẽ phát huy được ưu điểm của mình khi cấu trúc cũng như chức năng của view trở nên phức tạp thì ReactJS sẽ phát huy được vai trò của mình. Components: Một trang web được xây dựng bằng ReactJS là một sự kết hợp nhiều component lại với nhau chứ không phải chung một Template như bình thường.

Các component cũng như các hàm JavaScript bình thường, giúp tạo ra các code dễ dàng bằng cách tách các logic ra thành các đoạn code độc lập có thể tái sử dụng. Chúng ta có thể sử dụng component dưới dạng function hoặc class, ngoài ra các component còn có state và props. Sinh viên thực hiện: Trần Y Tiến Người hướng dẫn: TS. Nguyễn Tấn Thuận 5 Xây dựng website tìm kiếm nhà trọ trên toàn quốc Virtual DOM: ReactJS tạo một thứ gọi là Virtual DOM (DOM ảo).

Đúng như tên gọi, nó là một copy của DOM thật trên trang web đó. ReactJS dùng những DOM ảo đó để tìm đúng những DOM thật cần được cập nhật khi có bất kỳ sự kiện nào làm các thành phần bên trong nó thay đổi. Javascript Expressions: Biểu thức JS có thể sử dụng trong file .js bằng cách sử dụng cặp dấu ngoặc nhọn “{}”. NodeJS là gì? NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine, nó được sử dụng để xây dựng các ứng dụng web như các trang video clip, các forum và đặc biệt là trang mạng xã hội phạm vi hẹp.

NodeJS là một mã nguồn mở được sử dụng rộng bởi hàng ngàn lập trình viên trên toàn thế giới. NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ Window cho tới Linux nên đó cũng là một lợi thế. NodeJS cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất. Các đặc tính của NodeJS Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ (none- blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữ liệu về.

Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế thông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từ các cuộc gọi API trước (Realtime). Chạy rất nhanh: NodeJ được xây dựng dựa vào nền tảng V8 Javascript Engine nên việc thực thi chương trình rất nhanh. Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồng duy nhất với sự kiện lặp. cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu.js sử dụng một chương trình đơn luồng và các chương trình tương tự có thể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTP Server.

Sinh viên thực hiện: Trần Y Tiến Người hướng dẫn: TS. Nguyễn Tấn Thuận 6 Xây dựng website tìm kiếm nhà trọ trên toàn quốc Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủ yếu là đầu ra dữ liệu. Tổng quan về hệ quản trị cơ sở dữ liệu MySQL Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất.

Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.

Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, MacOS, FreeBSD, NetBSD, Solaris, SunOS, … MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). Sinh viên thực hiện: Trần Y Tiến Người hướng dẫn: TS.

Nguyễn Tấn Thuận 7 Xây dựng website tìm kiếm nhà trọ trên toàn quốc CHƯƠNG II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Khảo sát hệ thống 2. Khảo sát thực tế Mỗi năm có đến hàng trăm sinh viên đổ về các trường đại học, trong khi đó số lượng phòng ở ký túc xá của nhà trường có giới hạn.

Do đó nhu cầu thuê trọ của sinh viên tăng rất cao nhưng đa phần các bạn sinh viên thường đối mặt với trường hợp thuê phải những căn trọ kém chất lượng với mức giá cao. Vì vậy, em chọn đề tài này để nghiên cứu nhằm đưa ra những giải pháp tối ưu đáp ứng nhu cầu thuê phòng trọ của các bạn sinh viên Đại học Sư phạm Kỹ thuật Đà Nẵng nói riêng và cả nước nói chung. Khảo sát người dùng Nhu cầu tìm trọ ngày càng cao khiến cho tình trạng lừa đảo của các môi giới ngày càng tăng làm cho nhiều người mất rất nhiều thời gian, công sức tiền bạc cho việc tìm kiếm một chỗ ở phù hợp với nhu cầu bản thân. Đặc tả yêu cầu phần mềm 2.

Xác định các tác nhân  Đề tài gồm ba tác nhân chính  Khách vãng lai.  Người thuê trọ (Renter)  Chủ trọ (Host).  Người quản lý (Admin). Các yêu cầu chức năng  Khách vãng lai.

 Đăng ký thành viên, đăng nhập hệ thống.  Xem danh sách các nhà trọ, chi tiết phòng trọ.  Lọc phòng theo khoảng giá.  Lọc phòng theo khu vực.

 Lọc theo diện tích.  Lọc theo thời gian đăng tin.  Renter (gồm các chức năng của khách vãng lai) Sinh viên thực hiện: Trần Y Tiến Người hướng dẫn: TS. Nguyễn Tấn Thuận 8 Xây dựng website tìm kiếm nhà trọ trên toàn quốc  Xem đường đi ngắn nhất từ vị trí của mình đến phòng trọ.

 Nhắn tin với Host  Quản lý thông tin cá nhân.  Theo dõi hủy theo dõi host.  Nhận thông báo từ những người theo dõi.

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

Tài liệu "Xây Dựng Website Tìm Kiếm Nhà Trọ Toàn Quốc" cung cấp một cái nhìn tổng quan về cách thiết kế và phát triển một nền tảng trực tuyến giúp người dùng dễ dàng tìm kiếm nhà trọ trên toàn quốc. Nội dung tài liệu nhấn mạnh tầm quan trọng của việc tối ưu hóa trải nghiệm người dùng, cũng như các tính năng cần thiết như tìm kiếm nâng cao, đánh giá và phản hồi từ người dùng. Bên cạnh đó, tài liệu cũng đề cập đến các công nghệ và công cụ hỗ trợ trong quá trình xây dựng website, giúp người đọc có cái nhìn rõ ràng hơn về quy trình phát triển.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu "Xây dựng website kết nối nhà trường với doanh nghiệp", nơi cung cấp thông tin về việc phát triển các nền tảng kết nối giữa các tổ chức giáo dục và doanh nghiệp. Ngoài ra, tài liệu "Xây dựng website quản lý đề tài khóa luận tốt nghiệp khoa cntt" cũng sẽ giúp bạn hiểu rõ hơn về việc quản lý thông tin và dự án trong lĩnh vực công nghệ thông tin. Cuối cùng, bạn có thể tìm hiểu thêm về "Báo cáo chuyên đề học phần công nghệ phần mềm đề tài quản lý cửa hàng bán vật liệu xây dựng", tài liệu này sẽ cung cấp cái nhìn sâu sắc về việc phát triển các ứng dụng quản lý trong ngành xây dựng.

Mỗi tài liệu đều là cơ hội để bạn khám phá và mở rộng kiến thức của mình trong lĩnh vực xây dựng website và quản lý thông tin.