Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, việc ứng dụng các nền tảng trực tuyến đã trở thành nhu cầu thiết yếu đối với hoạt động vận hành và tiếp thị của doanh nghiệp. Đặc biệt, trong giai đoạn thị trường có nhiều biến động và yêu cầu giãn cách xã hội do dịch bệnh, việc giao dịch và tìm kiếm thông tin trực tiếp gặp nhiều hạn chế. Người tiêu dùng và các nhà đầu tư có xu hướng chuyển dịch mạnh mẽ sang tìm kiếm, đánh giá và tương tác với các sản phẩm dịch vụ qua môi trường web.

Đối với lĩnh vực bất động sản, nhu cầu tìm hiểu thông tin về nhà ở, đất đai, quy hoạch và các dự án đầu tư đòi hỏi tính minh bạch, trực quan và cập nhật liên tục. Mặc dù trên thị trường đã có các cổng thông tin và trang web lớn của các tập đoàn bất động sản (như Vinhomes hay Đất Xanh), việc xây dựng một hệ thống website chuyên biệt cho các đơn vị kinh doanh quy mô vừa và nhỏ như Thuận Thành Land vẫn là một yêu cầu thực tế cấp thiết.

Đề tài chuyên đề thực tập tốt nghiệp "Xây dựng WEBSITE bất động sản Thuận Thành Land" do sinh viên Đoàn Thị Diễm Quỳnh (Lớp Công nghệ thông tin KS9A, Viện Công nghệ thông tin và Kinh tế số – Trường Đại học Kinh tế Quốc dân) thực hiện dưới sự hướng dẫn của TS. Phạm Minh Hoàn vào năm 2021. Đề tài tập trung giải quyết các nhiệm vụ và mục tiêu nghiên cứu cụ thể:

  1. Khảo sát và xác định yêu cầu nghiệp vụ: Phân tích nhu cầu của doanh nghiệp bất động sản trong việc quảng bá dự án, tiếp cận khách hàng tiềm năng và quản lý thông tin trực tuyến.
  2. Thiết kế hệ thống thông tin: Xây dựng mô hình phân cấp chức năng, sơ đồ luồng dữ liệu (DFD), sơ đồ thực thể liên kết (ERD) và thiết kế cơ sở dữ liệu quan hệ hoàn chỉnh.
  3. Hiện thực hóa phần mềm: Lập trình phát triển hệ thống website gồm hai phân hệ chính (Frontend dành cho người dùng và Backend dành cho quản trị viên) dựa trên nền tảng Java Spring Boot, Thymeleaf và cơ sở dữ liệu MySQL.
  4. Kiểm thử và đánh giá sản phẩm: Triển khai thử nghiệm các chức năng hiển thị dự án, gửi form liên hệ kèm phản hồi email tự động, quản lý bình luận đánh giá và tiếp nhận hồ sơ tuyển dụng.

Đối tượng nghiên cứu của đề tài bao gồm ba nhóm tác nhân chính tương tác với hệ thống:

  • Chủ dự án / Doanh nghiệp môi giới: Đơn vị cần kênh thông tin để đăng tải, quản lý và giới thiệu danh mục sản phẩm nhà đất, dự án đầu tư đến thị trường.
  • Khách hàng: Người có nhu cầu mua bán, đầu tư bất động sản, cần tra cứu thông tin chi tiết, hình ảnh, thông số kỹ thuật dự án và tương tác trực tuyến (bình luận, gửi yêu cầu tư vấn).
  • Ứng viên tuyển dụng: Người tìm kiếm cơ hội việc làm tại doanh nghiệp, nộp hồ sơ (CV) trực tiếp thông qua website.

Phạm vi nghiên cứu và triển khai giới hạn trong việc xây dựng hệ thống website thương mại và giới thiệu sản phẩm cho Thuận Thành Land, hoàn thiện các mô-đun chức năng cốt lõi về quản trị nội dung, tương tác khách hàng và tuyển dụng nhân sự.


Cơ sở lý thuyết và phương pháp

Đề tài áp dụng các lý thuyết nền tảng trong kỹ thuật phần mềm, kiến trúc mạng máy tính và phát triển ứng dụng web hướng đối tượng.

Khung kiến trúc và nền tảng công nghệ

  • Kiến trúc Client/Server: Hệ thống vận hành theo mô hình máy khách – máy chủ chuẩn. Máy khách gửi các yêu cầu HTTP/HTTPS, máy chủ tiếp nhận, xử lý logic nghiệp vụ và truy xuất cơ sở dữ liệu, sau đó trả kết quả về trình duyệt.
  • Mô hình Model – View – Controller (MVC): Tách bạch rõ ràng ba tầng kiến trúc:
    • Model: Chứa các lớp thực thể (Entities), tương tác với cơ sở dữ liệu thông qua tầng truy xuất dữ liệu (DAO/Repository).
    • View: Giao diện hiển thị, tương tác trực tiếp với người dùng cuối, được xây dựng bằng công nghệ Thymeleaf kết hợp HTML, CSS, JavaScript, Jquery và Bootstrap.
    • Controller: Tiếp nhận yêu cầu từ người dùng thông qua Front Controller (DispatcherServlet), điều hướng xử lý qua các tầng Service/Repository và chuyển dữ liệu mô hình (Model) tới View Resolver để hiển thị.
  • Nền tảng Java và Spring Framework:
    • Java SE: Ngôn ngữ lập trình hướng đối tượng, đa nền tảng ("Write Once, Run Anywhere").
    • Spring Boot: Module rút gọn cấu hình của Spring Framework, tích hợp sẵn máy chủ web nhúng và quản lý các phụ thuộc dự án tự động.
    • Spring MVC: Khung làm việc hỗ trợ xây dựng ứng dụng web theo chuẩn HTTP với cấu trúc điều hướng rõ ràng, hỗ trợ Annotation và đơn giản hóa Unit Test.
    • Hibernate ORM: Thư viện ánh xạ đối tượng – quan hệ (Object Relational Mapping) đóng vai trò trung gian giữa ứng dụng Java và hệ quản trị cơ sở dữ liệu, giúp chuyển đổi các lớp POJO sang bảng dữ liệu quan hệ.
    • Thymeleaf Engine: Công cụ tạo mẫu giao diện (Template Engine) tự nhiên cho Java, cho phép render mã HTML trực tiếp mà không cần dùng thẻ JSP, có hỗ trợ cơ chế bộ nhớ đệm (cache).

Phương pháp nghiên cứu và công cụ phát triển

  • Phương pháp phân tích và thiết kế hệ thống: Sử dụng phương pháp mô hình hóa cấu trúc và dữ liệu thông qua sơ đồ phân cấp chức năng, sơ đồ luồng dữ liệu (Data Flow Diagram - DFD mức ngữ cảnh và mức 1) và sơ đồ thực thể liên kết (Entity Relationship Diagram - ERD).
  • Công cụ lập trình và quản trị:
    • Môi trường phát triển tích hợp (IDE): Spring Tool Suite (STS), Eclipse, Visual Studio Code.
    • Hệ quản trị cơ sở dữ liệu: MySQL.
    • Giao diện gốc: Tùy biến từ mẫu giao diện Hexa (Colorlib).

Thiết kế và triển khai

Hệ thống được thiết kế hoàn chỉnh từ kiến trúc dữ liệu, luồng điều khiển nghiệp vụ cho đến giao diện hiển thị hai phân hệ Frontend và Backend.

1. Kiến trúc xử lý luồng yêu cầu (Spring MVC Workflow)

Luồng xử lý dữ liệu được thiết kế khép kín:

  1. Mọi yêu cầu từ trình duyệt được tiếp nhận bởi DispatcherServlet (Front Controller).
  2. DispatcherServlet tra cứu HandlerMapping để xác định Controller phụ trách.
  3. Controller tiếp nhận yêu cầu, gọi các lớp xử lý nghiệp vụ (Service) và tầng truy cập dữ liệu (Repository/DAO).
  4. Tầng dữ liệu giao tiếp với MySQL thông qua Hibernate ORM và trả về đối tượng dữ liệu cho Controller.
  5. Controller đóng gói dữ liệu vào đối tượng Model và chuyển lại cho DispatcherServlet.
  6. DispatcherServlet sử dụng ViewResolver để tìm kiếm mẫu giao diện Thymeleaf tương ứng, trộn dữ liệu từ Model vào mã HTML và trả trang hoàn chỉnh về cho người dùng.

2. Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của hệ thống được chuẩn hóa, bao gồm các bảng chính sau:

Tên bảng Các trường chính (Kiểu dữ liệu) Mô tả và quy tắc nghiệp vụ
Users id (Int), name (Varchar), email (Varchar), phone (Varchar), password (Varchar), address (Varchar), avatar (Varchar), role (Int), created_at, updated_at Lưu thông tin tài khoản; phân quyền role: 1 = ADMIN, 2 = USER.
Contacts id (Int), name (Varchar), email (Varchar), phone (Varchar), address (Varchar), content (Text), status (Tinyint), created_at, updated_at Lưu thông tin liên hệ từ khách hàng; status: 0 = Chưa xử lý, 1 = Đang xử lý, 2 = Hoàn thành.
News id (Int), name (Varchar), title (Varchar), category_id (Int), slug (Varchar), public (Tinyint), hot (Tinyint), sort (Int), thumbnail (Varchar), description (Text), content (Longtext), created_at, updated_at Quản lý tin tức bất động sản; category_id là khóa ngoại trỏ tới danh mục.
Category id (Int), name (Varchar), parent_id (Int), slug (Varchar), public (Tinyint), hot (Tinyint), sort (Int), created_at, updated_at Lưu cấu trúc phân cấp danh mục bài viết và dự án.
Slides id (Int), title (Varchar), public (Tinyint), sort (Int), image (Varchar), description (Text), created_at, updated_at Quản lý banner hình ảnh động hiển thị ở đầu trang chủ.
Spotlight id (Int), name (Varchar), title (Varchar), public (Tinyint), sort (Int), image (Varchar), description (Text), created_at, updated_at Quản lý các khối thông tin nổi bật giới thiệu thế mạnh của công ty.
Images id (Int), name (Varchar), news_id (Int), created_at, updated_at Lưu các hình ảnh đính kèm bài viết/dự án; news_id là khóa ngoại.

3. Triển khai các phân hệ chức năng

Phân hệ người dùng (Frontend)

  • Trang chủ & Giới thiệu: Hiển thị slide biểu diễn các dự án tiêu biểu, khối thông tin spotlight (cam kết dịch vụ, an ninh, sản phẩm chất lượng cao), danh mục điều hướng header và thông tin liên hệ chân trang (footer).
  • Trang chi tiết dự án: Phân loại dự án theo danh mục cụ thể (Biệt thự, Căn hộ, Nhà đất, Khu đô thị, Khu nghỉ dưỡng, Officetel). Cung cấp chi tiết về vị trí địa lý, quy mô tháp, diện tích đất, diện tích sàn, số lượng căn hộ và tiện ích thương mại.
  • Tương tác bình luận & đánh giá: Người dùng đăng nhập có thể gửi bình luận trực tiếp dưới từng bài đăng dự án.
  • Form liên hệ trực tuyến: Tiếp nhận họ tên, số điện thoại, địa chỉ email, nơi ở và nội dung lời nhắn. Hệ thống kích hoạt cơ chế gửi email xác nhận tự động về hòm thư của khách hàng.
  • Cổng tuyển dụng: Cho phép xem danh sách vị trí đang tuyển (ví dụ: Thực tập sinh Java) và tải hồ sơ (CV) lên hệ thống.

Phân hệ quản trị (Backend)

  • Quản lý danh mục & Dự án: Thực hiện đầy đủ các thao tác Thêm, Sửa, Xóa (CRUD), bật/tắt trạng thái hiển thị (public), gắn cờ nổi bật (hot) và phân loại dự án con trong các dự án lớn.
  • Quản lý liên hệ & Phản hồi: Theo dõi danh sách phản hồi của khách hàng, cập nhật trạng thái xử lý và kích hoạt hệ thống gửi mail liên hệ.
  • Quản lý bình luận: Duyệt các bình luận tích cực, đánh dấu nổi bật (comment highlight) hoặc ẩn/xóa các bình luận tiêu cực.
  • Quản lý người dùng & Tuyển dụng: Quản lý danh sách tài khoản, phân quyền quản trị và quản lý hồ sơ ứng viên nộp qua hệ thống.

Nội dung chính theo từng chương

Chương 1: Mô tả bài toán website bất động sản (Thuận Thành Land)

Chương này tập trung trình bày tổng quan về thị trường bất động sản trực tuyến, lý do lựa chọn đề tài và xác định bài toán nghiệp vụ cho công ty Thuận Thành Land. Tác giả phân tích nhu cầu tiếp cận thông tin của khách hàng trong bối cảnh ứng dụng Internet ngày càng phổ biến. Nội dung chương xác định rõ ba nhóm đối tượng phục vụ (Doanh nghiệp, Khách hàng, Ứng viên), đồng thời xây dựng sơ đồ tổng thể quy trình nghiệp vụ gồm: quản lý dự án bài viết, quản lý người dùng, quản lý liên hệ và quản lý bình luận đánh giá.

Chương 2: Khảo sát và phân tích hệ thống và phân tích thuật toán

Nội dung chương 2 là trọng tâm kỹ thuật của khóa luận, bao gồm:

  • Phân tích yêu cầu chức năng và phi chức năng: Xác định yêu cầu phần cứng, môi trường cài đặt (Spring Tool Suite, Eclipse, VS Code) và các công nghệ sử dụng (Java Spring Boot, MySQL, Thymeleaf, Bootstrap).
  • Đặc tả mô hình nghiệp vụ: Lập bảng mô tả chi tiết 9 chức năng phía Frontend và 8 chức năng phía Backend.
  • Mô hình hóa hệ thống: Trình bày sơ đồ phân cấp chức năng, biểu đồ phân rã chức năng, sơ đồ luồng dữ liệu (DFD mức khung cảnh và mức 1) và sơ đồ thực thể liên kết (ERD) chi tiết cho các thực thể Users, Contacts, Projects, News, Category, Slides.
  • Thiết kế kiến trúc và cơ sở dữ liệu: Trình bày cơ sở lý thuyết về kiến trúc Client/Server, mô hình MVC, cơ chế hoạt động của DispatcherServlet, thư viện Hibernate ORM và Template Engine Thymeleaf; mô tả chi tiết cấu trúc các bảng dữ liệu trong hệ thống.

Chương 3: Tổng kết và demo sản phẩm web

Chương 3 trình bày kết quả xây dựng và cài đặt hệ thống trên thực tế:

  • Thiết kế giao diện: Mô tả cấu trúc giao diện dựa trên template mẫu Hexa của Colorlib, chia tách rõ ràng các thành phần header, footer, slider và khối nội dung spotlight.
  • Kết quả thử nghiệm chức năng: Minh họa bằng hình ảnh giao diện thực tế của hệ thống:
    • Trang chi tiết dự án thực tế: Demo hiển thị dự án Opal Boulevard (địa chỉ: 18 Kha Vạn Cân, P. An Bình, TX. Dĩ An, Bình Dương; quy mô 2 tháp A & B cao 35 tầng, 1.446 sản phẩm căn hộ và dịch vụ thương mại).
    • Chức năng bình luận dành cho người dùng đã đăng nhập và khu vực quản lý bình luận của Admin.
    • Chức năng liên hệ: Tiếp nhận thông tin qua form trên giao diện bản đồ, kết quả gửi mail tự động từ địa chỉ thuanthanhland2021@gmail.com xác nhận phản hồi tới hòm thư người dùng.
    • Chức năng tuyển dụng: Giao diện hiển thị tin tuyển dụng Thực tập sinh Java (hạn nộp hồ sơ 18/04/2021) và bảng điều khiển quản lý tin tuyển dụng phía Backend.

Chương 4: Tổng kết và tài liệu tham khảo

Chương này tổng kết lại toàn bộ quá trình thực hiện đề tài, cung cấp đường dẫn lưu trữ mã nguồn dự án (source code), đánh giá tổng quan mức độ hoàn thành nhiệm vụ và liệt kê danh mục các tài liệu tham khảo về ngôn ngữ Java, Spring Framework và mẫu kiến trúc MVC.


Kết quả và đóng góp

Khóa luận đã đạt được các kết quả kỹ thuật cụ thể:

  1. Xây dựng hoàn chỉnh website bất động sản hoạt động thực tế: Triển khai thành công ứng dụng web với đầy đủ hai phân hệ Frontend và Backend, đáp ứng tốt yêu cầu quảng bá và quản lý sản phẩm nhà đất cho đơn vị Thuận Thành Land.
  2. Hiện thực hóa cơ chế quản lý dữ liệu đa cấp: Cấu trúc dự án bất động sản được chia nhỏ thành các danh mục chi tiết (biệt thự, căn hộ, khu đô thị, khu nghỉ dưỡng, văn phòng), giúp khách hàng dễ dàng tra cứu thông số diện tích, giá thành và tiện ích.
  3. Tự động hóa quy trình chăm sóc khách hàng: Tích hợp thành công module gửi email tự động xác nhận ngay khi người dùng hoàn tất gửi thông tin liên hệ từ website.
  4. Tích hợp cổng tuyển dụng nhân sự: Cung cấp kênh đăng tải thông tin tuyển dụng và tiếp nhận hồ sơ ứng viên trực tiếp vào cơ sở dữ liệu quản trị.
  5. Ứng dụng hiệu quả công nghệ Java Spring Boot và Thymeleaf: Tối ưu hóa việc chia tách tầng xử lý logic và tầng giao diện, tận dụng cơ chế render HTML tự nhiên của Thymeleaf giúp hệ thống vận hành linh hoạt.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên phạm vi và các nội dung tác giả đã tự đánh giá trong báo cáo, đề tài còn tồn tại một số hạn chế cần tiếp tục hoàn thiện:

  • Chức năng đặt lịch hẹn: Hệ thống chưa xây dựng được mô-đun đặt lịch hẹn trực tuyến chuyên sâu giữa khách hàng và nhân viên môi giới, hiện tại mới chỉ giải quyết qua form liên hệ thông thường.
  • Mô-đun nhân sự: Các trang hiển thị chính sách nhân sự còn ở dạng thông tin tĩnh (fix cứng), chưa có cơ chế quản trị động hoàn toàn từ Backend.
  • Nghiệp vụ thương mại điện tử chuyên sâu: Hệ thống cần tiếp tục tối ưu hóa các quy trình xử lý lỗi nghiệp vụ phức tạp, nâng cấp bảo mật và tích hợp thêm các công cụ định vị bản đồ động, so sánh giá bất động sản trong các phiên bản tương lai.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin quản lý và Kỹ thuật phần mềm: Là tài liệu tham khảo chuẩn mực về cấu trúc một báo cáo chuyên đề thực tập tốt nghiệp, từ khâu khảo sát nghiệp vụ, vẽ sơ đồ DFD/ERD đến thiết kế cơ sở dữ liệu và triển khai mã nguồn.
  • Người phát triển ứng dụng Java Web: Hữu ích cho các lập trình viên đang bắt đầu tìm hiểu và áp dụng hệ sinh thái Spring Boot, Spring MVC, Thymeleaf và Hibernate ORM trong việc xây dựng các ứng dụng quản lý nội dung (CMS) và web giới thiệu sản phẩm.
  • Phần đáng tham khảo nhất: Thiết kế chi tiết cấu trúc bảng cơ sở dữ liệu quan hệ (mục 2.2 - Chương 2) và quy trình tổ chức mô hình phân cấp chức năng cho một website bất động sản.

Câu hỏi thường gặp

1. Khóa luận sử dụng ngăn xếp công nghệ (Tech Stack) nào để phát triển hệ thống?
Hệ thống sử dụng ngôn ngữ Java (Java SE), nền tảng Spring Boot, Spring MVC, Hibernate ORM cho phần Backend; Template engine Thymeleaf kết hợp HTML, CSS, JavaScript, Jquery, Bootstrap (tùy biến từ giao diện mẫu Hexa của Colorlib) cho phần Frontend; và hệ quản trị cơ sở dữ liệu MySQL.

2. Hệ thống phân quyền người dùng như thế nào trong cơ sở dữ liệu?
Trong bảng Users, hệ thống sử dụng trường role (kiểu dữ liệu Int) để phân quyền: giá trị 1 đại diện cho tài khoản Quản trị viên (ADMIN) có quyền CRUD toàn bộ hệ thống; giá trị 2 đại diện cho Người dùng thông thường (USER) có quyền bình luận, đăng ký và gửi liên hệ.

3. Cơ chế gửi mail tự động của website hoạt động ra sao?
Khi khách hàng nhập thông tin vào form liên hệ (gồm tên, số điện thoại, email, địa chỉ, nội dung) và nhấn submit, dữ liệu sẽ được lưu vào bảng Contacts với trạng thái ban đầu là 0 (chưa xử lý). Đồng thời, hệ thống Backend tự động kích hoạt gửi một email phản hồi từ địa chỉ thuanthanhland2021@gmail.com đến email khách hàng để xác nhận sẽ liên hệ lại.

4. Dữ liệu dự án bất động sản được tổ chức và hiển thị theo các phân loại nào?
Dự án được phân cấp quản lý theo các hạng mục cụ thể bao gồm: Biệt thự, Căn hộ, Nhà đất, Khu đô thị, Khu nghỉ dưỡng và Officetel (văn phòng). Mỗi dự án hiển thị chi tiết các thông số về vị trí, quy mô tháp/tầng, tổng diện tích đất, diện tích sàn xây dựng, cơ cấu sản phẩm và các tiện ích đi kèm.


Kết luận

Chuyên đề thực tập tốt nghiệp "Xây dựng WEBSITE bất động sản Thuận Thành Land" của sinh viên Đoàn Thị Diễm Quỳnh đã hoàn thành trọn vẹn mục tiêu nghiên cứu và xây dựng một cổng thông tin bất động sản trực tuyến. Đề tài thể hiện phương pháp tiếp cận bài bản trong kỹ thuật phần mềm thông qua việc khảo sát nghiệp vụ, thiết kế hệ thống dữ liệu logic và hiện thực hóa sản phẩm bằng nền tảng Java Spring Boot, Thymeleaf và MySQL. Mặc dù còn một số điểm cần phát triển thêm như chức năng đặt lịch hẹn trực tuyến, sản phẩm đã đáp ứng tốt các yêu cầu vận hành thực tế về giới thiệu dự án, chăm sóc khách hàng và quản lý tuyển dụng.