Chính vìthế, đề tài của chúng tôi chọn là thiết kế một website hỗ trợ tìm phòng trọ đểgiúp cho người cần thuê dễ dàng hơn trong việc thuê nhà.. Giúp người dùng – người cho thuê Người
TỔNG QUAN
Tên đề tài
- Xây dựng website hỗ trợ tìm phòng trọ
Lý do chọn đề tài
- Đối với những thành phố lớn thì nhu cầu nhà trọ cho dân nhập cư, công nhân và sinh viên của các trường đại học - cao đẳng rất cao Với nhu cầu to lớn như vậy nhưng trước đây mọi người tìm nhà trọ chủ yếu qua cách hỏi trực tiếp, còn việc đưa thông tin nhà trọ của mình chỉ bằng cách treo bảng trước cửa nhà, những cách như vậy làm cho người ngoại tỉnh gặp nhiều khó khăn vì không biết rõ đường dễ bị chủ nhà trọ nâng giá, còn với chủ nhà trọ cho thuê với giá tốt nhưng vị trí không thuận lợi thì khó cạnh tranh Vậy làm cách nào để người cần thuê gặp được chủ nhà một cách cách dễ dàng và thuê được căn nhà ưng ý nhất? Hiện nay, nhu cầu tìm kiếm thông tin trên internet đã trở nên rất phổ biến Chính vì thế, đề tài của chúng tôi chọn là thiết kế một website hỗ trợ tìm phòng trọ để giúp cho người cần thuê dễ dàng hơn trong việc thuê nhà.
- Lý do chúng tôi thực hiện đồ án trên giao diện web vì website có thể hoạt động ở mọi nền tảng một cách dễ dàng, ở bất kì đâu, bất kì thời điểm chỉ cần bạn có máy tính hoặc smartphone hoặc bất cứ thiết bị nào có thể kết nối internet là có thể truy cập website và tìm kiếm phòng trọ.
Mục đích nghiên cứu đồ án
Người chưa đăng nhập vào website thì bạn chỉ có thể tìm kiếm thông tin phòng trọ Khách sẽ có nhiều tính năng hơn khi đăng nhập vào website.
Giúp người dùng – người cho thuê
Người đã đăng nhập vào website – người cho thuê: khi muốn cho thuê phòng trọ thì họ cần đăng một tin trên website, trong tin đăng sẽ bao gồm các thông tin liên quan tới phòng trọ như hình ảnh, địa chỉ, tiền điện, tiền nước, internet, nhà vệ sinh, máy lạnh, gác lửng, tình trạng phòng (còn hay hết phòng) Khi thông tin phòng trọ thay đổi chủ nhà có thể thay đổi các thông tin trên trên website, hoặc nếu hết phòng, chủ nhà cập nhật lại tình trạng là hết phòng Nếu chủ nhà không muốn thông tin phòng trọ hiện trên website nữa, họ có thể ẩn nó.
Giúp người dùng – người thuê
Người đã đăng nhập vào website – người thuê: khi muốn thuê trọ họ cần thông tin về phòng trọ, họ có thể tìm kiếm các tin đã được chủ nhà trọ đăng trên website Họ có thể tìm kiếm dựa theo các tiêu chí như khu vực, giá tiền, loại hình thuê Trong mỗi tin đăng đều có phần nhận xét của các thành viên trong website, người đi thuê có thể dựa vào đó để đánh giá phòng trọ. Nếu muốn, người đi thuê có thể bình luận để cho người khác biết thêm thông tin về tin đăng mà họ đang xem Người đi thuê hiện tại chưa tìm được phòng ưng ý, họ có thể cài đặt nhận thông báo theo các tiêu chí: quận, loại phòng, diện tích, giá thuê Khi có tin đăng được duyệt phù hợp với tiêu chí người đi thuê đã cài đặt, hệ thống sẽ gửi thông báo tới họ để họ có thể xem qua.
Giúp admin – nhân viên hỗ trợ
Kiểm duyệt nội dung: họ sẽ phải xem xét nội dung các tin đăng do chủ nhà đăng lên Nếu tin đăng có nội dung hay thông tin không hợp lệ thì kiểm duyệt viên sẽ không duyệt và nó sẽ không được hiển thị lên website, ngược lại nếu hợp lệ tin đăng sẽ được duyệt và hiển thị lên website Nếu kiểm duyệt viên thấy tin đăng đã được duyệt có vấn đề về thông tin, họ có thể khóa tin đăng đó, nó sẽ không được hiển thị trên website nữa Kiểm duyệt viên còn có thể xem được timeline của hệ thống.
Giúp admin – quản lý hệ thống
Có các quyền của kiểm duyệt viên và được phép cấp quyền cho các thành viên khác Họ cũng có thể kiểm tra tình trạng hoạt động của một kiểm duyệt viên, để đảm bảo rằng họ có làm việc Họ có quyền thay đổi thông tin cá nhân của một tài khoản.
Đối tượng nghiên cứu
- Đối tượng nghiên cứu chủ yếu là phòng trọ.
Ý nghĩa khoa học và thực tiễn
- Giúp người dùng tìm kiếm phòng trọ dễ dàng hơn
Phạm vi nghiên cứu của đồ án
Các chức năng chính của đồ án:
Đăng tin: Sau khi người dùng truy cập vào website, họ có thể tạo 1 bài đăng về các phòng trọ mà họ muốn cho thuê bằng cách nạp tiền vào tài khoản của mình và chi phí sẽ được trừ sau mỗi bài được đăng lên bảng tin Khi đăng tin người dùng sẽ cần phải cung cấp thông tin bắt buộc của về phòng trọ của họ.
Yêu thích: Ở mục này người dụng có thể thả tim một vài phòng trọ họ yêu thích lại, những phòng trọ này sẽ được lưu trữ lại trong mục “tin đã lưu”, sau mỗi lần đăng nhập người dùng sẽ có thể xem lại những phòng mình ưng ý, nếu người dùng muốn xóa phòng tại mục này thì chỉ cần ấn lại lần nữa vào biểu tượng trái tim, phòng sẽ tự động bị xóa khỏi mục “tin đã lưu” của người dùng.
Tìm kiếm: Chức năng này giúp cho người dùng tìm kiếm nhanh hơn các yêu cầu mà người dùng đặt ra ví dụ như: tên đường, quận huyện, thành phố,
Đăng nhập, đăng ký: Giúp cho người dùng đăng tin, chatbox trực tiếp với nhân viên khi có sự cố, báo cáo các tài khoản đăng tin sai sự thật, lưu bài đăng yêu thích và một vài tính năng khác.
Admin: quản lý các bài đăng, quản lý tài khoản user và staff, phân quyền các tài khoản, phê duyệt hoặc từ chối bài đăng, thêm xóa sửa tiềm kiếm tài khoản user và các bài đăng.
Cấu trúc đồ án
Báo cáo bao gồm 5 chương:
Chương 2 Cơ sở lý thuyết
Chương 3 Phân tích thuyết kế hệ thống
Chương 4 Kết quả thực nghiệm
Chương 5 Kết luận và kiến nghị
CƠ SỞ LÝ THUYẾT
Giới thiệu về ngôn ngữ sử dụng
2.1.1 Ngôn ngữ Asp.net core?
- ASP.NET Core là một phiên bản mới của ASP.NET chạy trên mọi nền tảng mọi máy tính, bao gồm Windows, MacOS và Linux Giống như ASP.NET, nó là mã nguồn mở, được tạo bởi Microsoft Mã nguồn cho phép các nhà phát triển tạo app, dịch vụ web và các trang web động.
Hình 2.1.1: Hình ảnh về Asp.net core
- HTML viết tắt của Hypertext Markup Language là ngôn ngữ lập trình dùng để xây dựng và cấu trúc lại các thành phần có trong Website.
Hình 2.1.2: Hình ảnh về Html
Là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML) Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc,… rất nhiều.
INCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINETINCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINET
INCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp-content/uploads/2015/04/08003304/html-css- webpage.png" \* MERGEFORMATINET INCLUDEPICTURE "http://img.thach.io/wp- content/uploads/2015/04/08003304/html-css-webpage.png" \* MERGEFORMATINET
Hình 2.1.3: ví dụ CSS trang trí thêm cho văn bản viết bằng HTML
Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.
- JS là viết tắt của JavaScript, khi có JS bạn sẽ hiểu đó đang nói đến JavaScript.
- JavaScript là một ngôn ngữ lập trình thông dịch với khả năng hướng đến đối tượng Là một trong 3 ngôn ngữ chính trong lập trình web và có mối liên hệ lẫn nhau để xây dựng một website sống động, chuyên nghiệp, bạn có thể nhìn tổng quan như sau: o HTML: Cung cấp cấu trúc cơ bản, hỗ trợ trong việc xây dựng layout, thêm nội dung dễ dàng trên website. o CSS: Được sử dụng để kiểm soát và hỗ trợ việc định dạng thiết kế, bố cục, style, màu sắc, … o JavaScript: Tạo nên những nội dung “động” trên website.
Hình ảnh 2.1.4: Hình ảnh về JavaScript
Công cụ sử dụng
- Microsof Visual Studio 2019 – Lập trình
- SQL Server Management Studio 2019 - Database
- Github – Quản lý source code
Hệ quản trị cơ sở dữ liệu
- SQL Server 2019 là bộ phận quản lý cơ sở dữ liệu, được xây dựng dựa trên khái niệm trí tuệ nhân tạo nhằm tạo điều kiện thuận lợi, cải tiến dịch vụ cơ sở dữ liệu, bảo mật và giảm bớt các khó khăn gặp phải khi phát triển các ứng dụng và lưu trữ dữ liệu
SQL Server 2019 được tích hợp với Cloud, điều này đồng nghĩa các tổ chức có thể hưởng lợi từ tính năng bảo mật cao, vừa đồng bộ được dữ liệu trên nhiều máy tính và các thiết bị hiện đại khác.
SQL Server 2019 tạo ra nền tảng dữ liệu hợp nhất đi kèm với Hệ thống tệp phân tán Apache Spark và Hadoop (HDFS) để trở nên thông minh hơn với tất cả dữ liệu.
Mô hình và kỹ thuật
Mô hình được sử dụng trong đồ án là mô hình MVC (Model – View – Controller) là một kiến trúc thiết kế phần mềm được sử dụng để phát triển các ứng dụng web và desktop Nó tách biệt phần mềm thành 3 phần chính để dễ dàng quản lý và bảo trì:
- Model: đại diện cho dữ liệu và xử lý logic, thực hiện các tác vụ như lấy và lưu trữ dữ liệu, kiểm tra tính hợp lệ của dữ liệu và thực hiện các tính toán logic.
- View: đại diện cho người dùng, hiển thị thông tin cho người dùng và tương tác với họ Nó cập nhật thông tin từ Model và hiển thị nó trên giao diện.
- Controller: đóng vai trò là trung gian giữa Model và View, điều khiển luồng dữ liệu và xử lý các sự kiện và yêu cầu của người dùng Nó là nơi xử lý các yêu cầu và cập nhật từ Model sau khi dữ liệu đã được xử lý.
Mô hình MVC giúp phân tách các thành phần của phần mềm để dễ dàng quản lý và bảo trì, đồng thời cải thiện khả năng mở rộng và phát triển của phần mềm Nó cũng giúp phân rõ trách nhiệm giữa các thành phần, cho phép các nhà phát triển làm việc độc lập trên một phần của phần mềm mà không ảnh hưởng đến các phần khác.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích hệ thống
3.1.1 Chức năng của hệ thống
+ Quản lý tài khoản – nhân viên.
+ Quản lý tài khoản – người dùng.
+ Quản lý Tin tức – Danh mục tin tức, bài viết.
+ Quản lý danh sách phòng trọ.
+ Quản lý thông tin người dùng - người thuê và cho thuê.
- Hệ thống hiển thị phía người dùng:
+ Hiển thị danh mục phòng trọ - theo tùy chọn (giá – quận – loại phòng) + Hiển thị thông tin phòng trọ: thông tin người cho thuê – thông tin loại phòng thuê.
+ Hiển thị bài biết, tin tức.
+ Hiển thị thông tin về công ty: cách thức liên lạc, mạng xã hội, địa chỉ thực, email, …
+ Cho phép người dùng đăng ký, đăng nhập, thay đổi thông tin tài khoản. + Cho phép người dùng thuê hoạt cho thuê phòng trọ, thay đổi thông tin bài đăng, cách thức liên lạc,…
3.1.2 Tác nhân của hệ thống
- Admin - thực hiện chức năng quản trị hệ thống (nhân viên hỗ trợ): tài khoản, người dùng, phân quyền, giao diện.
- Nhân viên hỗ trợ: kiểm duyệt bài đăng, tương tác với người dùng, hỗ trợ khi người dùng đặt câu hỏi.
- Người dùng: đăng ký – đăng nhập tài khoản, tìm kiếm phòng trọ, cho thuê phòng trọ,…
Sơ đồ Use Case
Hình 3.2.1 Use case Tổng quát
Đặc tả Use Case
Use case Truy cập vào website
Hình 3.3.1 Use case Truy cập trang web
Hình 3.3.2 Use case Tìm kiếm Bài đăng
Tên Usecase Use case Tìm kiếm
Mô tả Cho phép thực hiện thao tác tìm kiếm bài đăng. Điều kiện tiên quyết
Mong muốn tìm kiếm bài đăng phòng trọ.
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Chọn chức năng Tìm kiếm
2 Đưa ra giao diện Tìm kiếm
3 Người dùng nhập các yêu cầu cần tìm kiếm.
4 Hệ thống kiểm tra thông tin các thao tác và thông tin nhập vào.
Khi người dùng chọn Tìm kiếm.
6 Hệ thống báo cập nhật dữ liệu thành công. Đưa người dùng danh sách các bài đăng theo yêu cầu của người dùng.
Luồng thay thế 4b Người dùng nhập sai thông tin đầu vào Không hiển thị dữ liệu. Điều kiện sau Gửi dữ liệu lên server để tìm kiếm thông tin người dùng yêu cầu.Điều kiện thoát Khi chức năng thực hiện thành công.
Use case Đăng ký tài khoản
Hình 3.3.3 Use case Đăng ký tài khoản
Tên Usecase Use case Đăng kí
Mô tả Cho phép thực hiện thao tác đăng kí tài khoản. Điều kiện tiên quyết Mong muốn cho thuê phòng, báo cáo tài khoản, chatbox, lưu tin.
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Chọn chức năng Đăng kí
2 Đưa ra giao diện Đăng kí
3 Người dùng nhập các thanh chứa dữ liệu yêu cầu.
4 Hệ thống kiểm tra thông tin các thao tác và thông tin nhập vào.
Khi người dùng chọn Đăng kí.
6 Hệ thống báo cập nhật dữ liệu thành công. Đưa người dùng vào trang web.
Luồng thay thế 4b Người dùng nhập sai thông tin đầu vào Yêu cầu nhập lại. Điều kiện sau Gửi dữ liệu lên server để cập nhật thông tin tài khoản người dùng. Điều kiện thoát Khi chức năng thực hiện thành công.
Khi người dùng chọn thoát
Hình 3.3.4 Use case Đăng nhập tài khoản
Hình 3.3.5 Use case Đăng bài
Use case Quản lý bài đăng – Cá nhân
Hình 3.3.6 Use case Quản lý bài đăng-Cá nhân
Use case Quản lý tài khoản – Cá nhân
Hình 3.3.7 Use case Quản lý tài khoản - Cá nhân
Use case Quản lý tài khoản – Admin
Hình 3.3.8 Use case Quản lý tài khoản-Admin
Use case Quản lý bài đăng – Admin
Hình 3.3.9 Use case Quản lý bài đăng-Admin
Sơ đồ ERD
Hình 3.4.1 Sơ đồ ERD website tìm phòng trọ
Hình 3.4.1 Activity diagram Đăng ký
Hình 3.4.2 Activity diagram Đăng nhập
Activity diagram lưu tin vào danh sách yêu thích
Hình 3.4.3 Activity diagram Lưu - Yêu thích
Activity diagram xóa tin khỏi danh sách yêu thích
Hình 3.4.4 Activity diagram Xóa – Yêu thích
Activity diagram sửa tài khoản
Hình 3.4.5 Activity diagram Sửa tài khoản
Activity diagram xóa tài khoản
Hình 3.4.6 Activity diagram Xóa tài khoản
Activity diagram thêm tài khoản
Hình 3.4.7 Activity diagram Thêm tài khoản
Activity diagram sửa bài đăng
Hình 3.4.8 Activity diagram Sửa bài đăng
Hình 3.4.9 Activity diagram Duyệt bài
Hình 3.4.10 Activity diagram Đăng ký
Squence Diagram Duyệt bài đăng
Hình 3.7.1 Sơ đồ Database Diagram
- Bảng danh sách dối tư ợng
Phòng yêu thích RoomFavorites Ảnh phòng RoomImages Đánh giá phòng RoomRatings
3.7.2 Mô hình chi tiết các bảng
Sơ đồ Sequence Diagram
Squence Diagram Duyệt bài đăng
Kiến trúc hệ thống
Hình 3.7.1 Sơ đồ Database Diagram
- Bảng danh sách dối tư ợng
Phòng yêu thích RoomFavorites Ảnh phòng RoomImages Đánh giá phòng RoomRatings
3.7.2 Mô hình chi tiết các bảng
KẾT QUẢ THỰC NGHIỆM
Hình 4.1 Giao diện trang chủ
Hình 4.2 Xem chi tiết phòng đăng
Hình 4.4 Danh sách yêu thích
Hình 4.5 Quản lí Tin đang đăng
Hình 4.6 Quản lí Tin chờ duyệt
Hình 4.7 Quản lí Tin lỗi
Hình 4.13 Đăng tin 6 4.2 Giao diện quản lý:
Hình 4.14 Giao diện kiểm tra duyệt bài
Hình 4.15 Giao diện danh sách bài đăng 1
Hình 4.16 Giao diện danh sách bài đăng 1
Hình 4.17 Giao diện danh sách report
Hình 4.18 Giao diện quản lí tài khoản
Hình 4.19 Giao diện quản lí tài khoản nhân viên