I. Giới thiệu về Đồ Án Website Tìm Nhà Trọ
Đồ án website tìm nhà trọ là một dự án học tập toàn diện được thực hiện tại Trường Đại học Nguyễn Tất Thành, khoa Công Nghệ Thông Tin. Dự án này nhằm phát triển một nền tảng tìm kiếm nhà trọ trực tuyến hiệu quả, giải quyết các khó khăn trong quá trình tìm kiếm nơi ở của sinh viên, người đi làm và các gia đình trẻ. Sử dụng các công nghệ hiện đại như Node.js và React, đồ án cung cấp giải pháp toàn diện từ thiết kế giao diện thân thiện cho đến phát triển chức năng mạnh mẽ. Đây là một dự án thực tiễn, giúp sinh viên áp dụng kiến thức lý thuyết vào thực tế phát triển web, đồng thời tạo ra một sản phẩm hữu ích cho cộng đồng.
1.1. Mục Tiêu Của Dự Án
Mục tiêu chính của đồ án website tìm nhà trọ là xây dựng một ứng dụng web hoàn chỉnh với giao diện thân thiện người dùng và các tính năng tìm kiếm mạnh mẽ. Dự án tập trung vào việc cung cấp thông tin minh bạch, giúp người dùng tìm kiếm nhà trọ nhanh chóng và hiệu quả. Ngoài ra, dự án còn nhằm rèn luyện kỹ năng phát triển web, làm việc nhóm và quản lý dự án cho sinh viên.
1.2. Đối Tượng Sử Dụng
Website tìm nhà trọ hướng tới ba đối tượng chính: sinh viên đang tìm kiếm ký túc xá hoặc phòng trọ gần trường học, người đi làm tìm kiếm nơi ở gần nơi làm việc, và các chủ nhà/chủ trọ muốn quảng bá các phòng trọ của mình. Giao diện được thiết kế để phù hợp với nhu cầu của tất cả các nhóm này, đảm bảo trải nghiệm tốt trên cả máy tính và thiết bị di động.
II. Phân Tích Yêu Cầu Và Kế Hoạch Phát Triển
Phân tích yêu cầu là bước cơ bản và vô cùng quan trọng trong quá trình phát triển đồ án website tìm nhà trọ. Bước này bao gồm việc xác định các tính năng chính như tìm kiếm nhà trọ, lọc kết quả theo giá, địa điểm và tiện ích. Nhóm dự án tiến hành khảo sát người dùng thông qua bảng câu hỏi và phỏng vấn trực tiếp để hiểu rõ nhu cầu thực tế. Đồng thời, kế hoạch phát triển chi tiết được lập ra, bao gồm lịch trình công việc, phân công nhiệm vụ cho từng thành viên, và các mốc thời gian quan trọng. Việc phân tích các website tương tự như BatDongSan.com, Phongtro123.com cũng giúp nhóm lấy ý tưởng và tìm hiểu những best practice trong ngành.
2.1. Các Yêu Cầu Chính Của Dự Án
Dự án cần phải có tính năng tìm kiếm nâng cao với khả năng lọc theo giá, diện tích, địa điểm và tiện ích. Người dùng cần có thể xem thông tin chi tiết về từng căn phòng, bao gồm hình ảnh, mô tả, và thông tin liên hệ chủ nhà. Hệ thống phải hỗ trợ đăng ký tài khoản, đăng nhập an toàn, cùng với tính năng lưu tin yêu thích và thông báo khi có tin mới.
2.2. Lập Kế Hoạch Và Phân Công Công Việc
Kế hoạch dự án được chia thành 5 giai đoạn chính: thiết kế UI/UX, phát triển backend với Node.js, phát triển frontend với React, kiểm thử toàn diện, và triển khai trực tuyến. Nhóm gồm hai sinh viên Trần Nguyên Minh và Võ Thị Mỹ Linh, mỗi người được phân công các công việc phù hợp với kỹ năng. Thời gian thực hiện từ tháng 10 đến tháng 12 năm 2024 với các bước kiểm tra định kỳ.
III. Thiết Kế Giao Diện Người Dùng UI UX
Thiết kế giao diện là một phần quan trọng trong đồ án website tìm nhà trọ, đảm bảo trải nghiệm người dùng tốt nhất. Nhóm sử dụng Figma để tạo wireframe và mockup chi tiết, tập trung vào việc làm cho giao diện trực quan, dễ sử dụng và thu hút. Bố cục trang được thiết kế sao cho người dùng dễ dàng tìm kiếm, lọc kết quả và xem thông tin chi tiết. Lựa chọn bảng màu hài hòa, font chữ rõ ràng và các biểu tượng trực quan giúp nâng cao tính thẩm mỹ. Dự án đặc biệt chú trọng đến responsive design, đảm bảo giao diện hoạt động tốt trên tất cả các kích thước màn hình từ desktop đến smartphone. Các phiên usability testing được tiến hành với người dùng thực tế để thu thập phản hồi và cải thiện giao diện.
3.1. Nguyên Tắc Thiết Kế UI UX
Thiết kế tuân theo các nguyên tắc User-Centered Design, đặt nhu cầu người dùng lên hàng đầu. Giao diện phải minimalist nhưng đầy đủ chức năng, tránh quá phức tạp. Sử dụng hệ thống tìm kiếm trực quan với các bộ lọc rõ ràng, danh sách kết quả hiển thị rõ ràng và call-to-action buttons nổi bật. Màu sắc được chọn để phản ánh tính chất của dịch vụ, tạo cảm giác tin cậy và an toàn cho người tìm nhà.
3.2. Công Cụ Và Phương Pháp Thiết Kế
Nhóm sử dụng Figma để tạo prototype và collaborating trực tuyến, Adobe XD cho các chi tiết thiết kế cao cấp. Quy trình bao gồm tạo wireframe cơ bản, phát triển design system, tạo mockup chi tiết cho từng trang. Usability testing được thực hiện với nhóm người dùng đại diện, thu thập phản hồi và điều chỉnh giao diện theo yêu cầu thực tế để đạt trải nghiệm tối ưu.
IV. Phát Triển Chức Năng Và Công Nghệ Sử Dụng
Phát triển chức năng của đồ án website tìm nhà trọ sử dụng các công nghệ hiện đại và phổ biến. Backend được xây dựng với Node.js và Express.js, cung cấp API RESTful để xử lý các yêu cầu từ frontend. Database sử dụng MongoDB để lưu trữ thông tin nhà trọ, người dùng và các giao dịch. Frontend được phát triển với React, một framework JavaScript mạnh mẽ, giúp tạo giao diện động và responsive. Các chức năng chính bao gồm tìm kiếm và lọc nhà trọ, xem thông tin chi tiết, đăng ký/đăng nhập, lưu tin yêu thích, liên hệ với chủ nhà và quản lý tin đăng. Sử dụng JWT để xác thực người dùng, đảm bảo an niệm dữ liệu. Các thư viện hỗ trợ như Axios cho HTTP requests, Redux cho state management giúp code được tổ chức tốt.
4.1. Stack Công Nghệ Backend
Backend sử dụng Node.js với Express.js framework, cung cấp API RESTful hoàn chỉnh. MongoDB được chọn làm database vì tính linh hoạt trong lưu trữ dữ liệu không cấu trúc. JWT (JSON Web Tokens) được sử dụng cho xác thực và phân quyền người dùng. Bcryptjs mã hóa mật khẩu, dotenv quản lý biến môi trường. Máy chủ được tối ưu hóa để xử lý đồng thời nhiều yêu cầu, đảm bảo hiệu suất cao.
4.2. Stack Công Nghệ Frontend
Frontend được xây dựng với React, sử dụng Hooks cho state management. Axios xử lý HTTP requests tới backend, Redux quản lý global state. React Router cung cấp navigation giữa các trang. CSS Modules và Styled Components cho styling tổ chức. Responsive Design được thực hiện với Bootstrap hoặc Tailwind CSS, đảm bảo giao diện hoạt động tốt trên tất cả thiết bị.