Đồ án website đăng tin, tìm kiếm bất động sản, nhà trọ bằng spring boot + reactjs + elasticsearch
I. CHỨC NĂNG DÀNH CHO KHÁCH VÃNG LAI (Người dùng chưa đăng nhập)
-
Đăng ký tài khoản: Đăng ký bằng form thông tin (hệ thống gửi email kích hoạt tài khoản).
-
Đăng nhập hệ thống:
-
Đăng nhập thông thường bằng Email và Mật khẩu.
-
Đăng nhập nhanh thông qua bên thứ ba (Google Sign-In).
-
-
Xem thông tin bất động sản: Xem danh sách, chi tiết tin đăng (giá, diện tích, hình ảnh, pháp lý, vị trí bản đồ...).
-
Tìm kiếm bất động sản: Tìm kiếm nâng cao (sử dụng Elasticsearch) theo từ khóa, lọc theo giá, khu vực (Tỉnh/Huyện/Xã), diện tích, loại bất động sản...
-
Xem bài viết/tin tức: Đọc các bài viết chia sẻ thông tin, kinh nghiệm về bất động sản.
-
Báo cáo tin đăng: Gửi biểu mẫu báo cáo khi phát hiện tin đăng vi phạm (sai sự thật, lừa đảo...).
II. CHỨC NĂNG DÀNH CHO NGƯỜI DÙNG HỆ THỐNG (Người mua và Người bán đã đăng nhập)
-
Quản lý tài khoản cá nhân: Cập nhật thông tin cá nhân, thay đổi ảnh đại diện (avatar) và đổi mật khẩu.
-
Quản lý ví và giao dịch:
-
Nạp tiền vào tài khoản: Tích hợp cổng thanh toán MoMo để nạp tiền tự động.
-
Xem lịch sử giao dịch: Gồm lịch sử nạp tiền (HistoryPay) và lịch sử bị trừ tiền (DeductionHistory) khi sử dụng dịch vụ.
-
-
Quản lý tin đăng (Dành cho Người bán):
-
Đăng tin mới: Nhập thông tin bất động sản, tải lên hình ảnh. Hệ thống sẽ kiểm tra số dư và trừ phí đăng tin.
-
Cập nhật/Sửa tin đăng: Thay đổi các thông tin, hình ảnh của bất động sản đã đăng.
-
Xóa tin đăng: Gỡ bỏ tin đăng khi không còn nhu cầu.
-
Gia hạn tin đăng (Chức năng thêm mới): Cho phép người bán chọn số ngày muốn gia hạn cho tin đăng sắp hoặc đã hết hạn; hệ thống kiểm tra số dư tài khoản, thực hiện trừ tiền và tự động cập nhật lại ngày hết hạn (
expiredDate) mới.
-
-
Tương tác và Yêu thích:
-
Lưu tin yêu thích: Thêm các tin đăng quan tâm vào danh sách yêu thích cá nhân để xem lại sau.
-
Trò chuyện trực tuyến - Chat Realtime (Chức năng thêm mới):
-
Cho phép người mua trực tiếp nhắn tin trao đổi với người bán từ trang chi tiết tin đăng.
-
Gửi và nhận tin nhắn văn bản, hình ảnh theo thời gian thực (Sử dụng WebSocket hỗ trợ sẵn trong Spring Boot và ReactJS).
-
Hiển thị danh sách các cuộc hội thoại và thông báo khi có tin nhắn mới.
-
-
III. CHỨC NĂNG DÀNH CHO QUẢN TRỊ VIÊN (Admin)
-
Thống kê và Báo cáo: Thống kê doanh thu hệ thống, theo dõi biểu đồ tăng trưởng doanh thu theo thời gian.
-
Quản lý tài khoản: Xem danh sách, thêm mới tài khoản nhân viên/admin, thực hiện khóa hoặc mở khóa tài khoản người dùng vi phạm.
-
Quản lý danh mục: Thêm, sửa, xóa các danh mục bất động sản (Hệ thống chặn xóa nếu danh mục đang chứa tin đăng).
-
Quản lý bài viết: Thêm mới, chỉnh sửa, xóa các bài viết, tin tức trên website.
-
Quản lý tin đăng toàn hệ thống:
-
Duyệt tin đăng, cập nhật trạng thái tin (Đang hiển thị, Đã hạ...).
-
Xác thực (Verify) hoặc hủy xác thực để đánh dấu tin đăng uy tín/chính chủ (
accuracy).
-
-
Quản lý báo cáo vi phạm: Tiếp nhận và xử lý các báo cáo tin đăng vi phạm từ người dùng.
-
Quản lý thông báo: Gửi thông báo hệ thống trực ca (realtime qua WebSocket) cho người dùng khi có cập nhật mới hoặc khi tin đăng được duyệt/khóa.