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ẽ, thói quen tìm kiếm thông tin về địa điểm ăn uống, giải trí của người dân phần lớn phụ thuộc vào các nền tảng trực tuyến. Tuy nhiên, theo khảo sát thực tế được tác giả Nguyễn Minh Tiến trình bày trong đồ án, người dùng khi có nhu cầu tìm kiếm một quán café phù hợp thường phải tra cứu từ nhiều nguồn đánh giá rời rạc trên các nền tảng mạng xã hội khác nhau. Thực trạng này dẫn đến một số bất cập lớn:

  • Người dùng gặp khó khăn trong việc tìm kiếm các địa điểm đáp ứng đồng thời nhiều tiêu chí cụ thể trong một lần truy vấn duy nhất.
  • Thiếu công cụ hỗ trợ tổng hợp và chia sẻ danh sách nhiều quán cùng lúc cho bạn bè, khiến việc trao đổi và thống nhất địa điểm gặp gỡ trở nên phân tán, mất nhiều thời gian.
  • Các hệ thống hiện hành chưa hỗ trợ tốt cơ chế gợi ý mang tính cá nhân hóa dựa trên sở thích và hành vi thực tế của từng đối tượng người dùng.

Xuất phát từ các vấn đề thực tiễn trên, tác giả đã lựa chọn và thực hiện đề tài "Xây dựng website tìm kiếm địa điểm quán café La Maison" nhằm xây dựng một nền tảng tìm kiếm, gợi ý và quản lý quán café tập trung.

Mục tiêu nghiên cứu của đề tài được xác định cụ thể gồm 4 nhiệm vụ:

  1. Giúp người dùng tìm kiếm quán café theo các tiêu chí yêu cầu một cách thuận tiện và tối ưu hóa thời gian tra cứu.
  2. Ứng dụng mô hình tính toán để gợi ý những quán café được cá nhân hóa theo đúng sở thích của từng người dùng.
  3. Cung cấp chức năng tạo lập danh sách các quán yêu thích (bộ sưu tập) và hỗ trợ chia sẻ danh sách này tới bạn bè thông qua đường dẫn liên kết.
  4. Tích hợp bản đồ số để hỗ trợ chỉ đường đi ngắn nhất từ vị trí hiện tại của người dùng đến địa điểm quán café đã chọn.

Đối tượng nghiên cứu của đồ án tập trung vào nhóm khách hàng sinh sống và lưu trú tại khu vực thành phố Đà Nẵng, được phân hóa theo hai nhóm độ tuổi chính:

  • Nhóm từ 16 đến 24 tuổi: Bao gồm học sinh, sinh viên và người mới tốt nghiệp đi làm. Nhóm này có nhu cầu tìm kiếm không gian quán cùng các dịch vụ phục vụ mục đích học tập, làm việc nhóm, đồng thời có xu hướng trải nghiệm các không gian mới có thiết kế đẹp mắt để chụp ảnh.
  • Nhóm từ 25 đến 34 tuổi: Nhóm người dùng đã đi làm, bận rộn với công việc, có nhu cầu gặp gỡ bạn bè vào dịp cuối tuần; đòi hỏi cao hơn về chất lượng dịch vụ, phong cách thiết kế và không gian yên tĩnh.

Về phạm vi triển khai, đề tài xây dựng một hệ thống ứng dụng web chạy trên môi trường mạng diện rộng, vận hành tại địa chỉ mạng do tác giả thiết lập (https://minhtien.), được hoàn thành và bảo vệ vào tháng 12 năm 2022 tại Trường Đại học Bách khoa – Đại học Đà Nẵng.

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

Để xây dựng hệ thống website La Maison, tác giả đã nghiên cứu và tổng hợp các cơ sở lý thuyết về kiến trúc phần mềm, công nghệ web hiện đại và thuật toán học máy phục vụ tính năng gợi ý:

  • Cơ chế hiển thị phía máy khách (Client-Side Rendering - CSR): Hệ thống chuyển toàn bộ gánh nặng biên dịch nội dung và sinh mã HTML sang trình duyệt của người dùng. Luồng hoạt động bắt đầu khi người dùng gửi yêu cầu, máy chủ hoặc mạng phân phối nội dung (CDN) sẽ phản hồi các tệp HTML, CSS và JavaScript cơ sở. Trình duyệt tải mã nguồn và hiển thị giao diện chờ (loading), sau đó thực thi JavaScript để gửi các yêu cầu API không đồng bộ qua AJAX nhằm nhận dữ liệu động và xử lý cập nhật DOM trực tiếp trên trình duyệt.
  • Kiến trúc RESTful API: Chuẩn kiến trúc giao tiếp giữa máy khách và máy chủ qua giao thức HTTP. Dữ liệu trao đổi giữa các thành phần được định dạng chủ yếu dưới dạng JSON hoặc XML. Hệ thống sử dụng đầy đủ các phương thức HTTP tiêu chuẩn gồm: GET (lấy dữ liệu), POST (tạo mới bản ghi), PUT (cập nhật hoặc tạo mới toàn bộ bản ghi), PATCH (cập nhật từng phần bản ghi) và DELETE (xóa bản ghi).
  • Hệ thống gợi ý dựa trên nội dung (Content-Based Recommendation Systems): Hệ thống đề xuất các thực thể tương tự dựa trên hồ sơ đặc trưng của thực thể (item profile) và lịch sử quan tâm của người dùng. Cơ sở toán học của mô hình bao gồm:
    • Utility Matrix (Ma trận hữu dụng): Biểu diễn mức độ quan tâm của tập hợp người dùng ($users$) đối với các sản phẩm quán café ($items$), trong đó các giá trị chưa đánh giá ký hiệu là dấu chấm hỏi (?) cần được hệ thống dự đoán.
    • Vector đặc trưng (Feature Vector): Tập hợp các thuộc tính của một quán café được lượng hóa thành một vector không gian $n$ chiều toán học.
    • Hồi quy tuyến tính (Linear Regression): Phương pháp thống kê được áp dụng để giải bài toán dự đoán đánh giá của người dùng. Mô hình học tham số $\theta_i$ cho từng người dùng dựa trên các cặp dữ liệu huấn luyện (item profile, ratings), từ đó dự đoán điểm số đối với các quán café mà người dùng chưa từng tương tác.

Phương pháp nghiên cứu và phát triển phần mềm được tiến hành qua 5 giai đoạn:

  1. Xác lập ý tưởng, khảo sát nhu cầu người dùng và xây dựng chi tiết bài toán dự án.
  2. Nghiên cứu tài liệu lý thuyết liên quan đến công nghệ web, kiến trúc client-server và các giải thuật đề xuất.
  3. Phân tích yêu cầu chức năng, thiết kế kiến trúc hệ thống và xây dựng lược đồ cơ sở dữ liệu.
  4. Lập trình giao diện người dùng, xây dựng các dịch vụ phía máy chủ và tích hợp thuật toán xử lý dữ liệu.
  5. Tiến hành kiểm thử các mô-đun chức năng, kiểm thử thuật toán gợi ý, hiệu chỉnh lỗi và hoàn thiện sản phẩm.

Về nguồn dữ liệu ban đầu, tác giả ghi nhận đồ án không sử dụng các bộ dữ liệu có sẵn từ bên thứ ba. Dữ liệu vận hành của hệ thống được khởi tạo trực tiếp thông qua hai nguồn: dữ liệu quản trị do quản trị viên và nhân viên nhập thủ công; dữ liệu cộng đồng do người dùng đề xuất (suggest place) và các tương tác thực tế (lượt thích, bình luận, lưu bookmark) được lưu trữ vào hệ thống.

Thiết kế và triển khai

Hệ thống website tìm kiếm địa điểm quán café La Maison được thiết kế hoàn chỉnh theo quy trình kỹ thuật phần mềm, bao gồm thiết kế kiến trúc công nghệ, phân quyền tác nhân, đặc tả các ca sử dụng (Use Case) và mô hình hóa cơ sở dữ liệu.

Thành phần kiến trúc Công nghệ / Thư viện sử dụng Vai trò trong hệ thống
Front-end ReactJS, Redux Toolkit, Tailwind CSS, HTML5/CSS3, Axios Xây dựng giao diện trang đơn (SPA), quản lý trạng thái tập trung và xử lý gọi API qua AJAX
Back-end API Node.js, ExpressJS Framework Định tuyến điều hướng, thiết lập middleware và cung cấp hệ thống REST API
Dịch vụ gợi ý Python Xây dựng mô hình tính toán Content-based Recommender sử dụng thuật toán Linear Regression
Cơ sở dữ liệu MongoDB Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu, lưu trữ dữ liệu dưới định dạng BSON/JSON
Máy chủ Web/Proxy Nginx Đóng vai trò máy chủ web phục vụ tĩnh, cân bằng tải và làm reverse proxy cho các cổng dịch vụ

Hệ thống xác định rõ 4 nhóm tác nhân tham gia tương tác:

  1. Người dùng chưa đăng nhập: Tìm kiếm quán theo tên, lọc theo địa điểm, phong cách (style) và không khí (vibe); xem thông tin chi tiết; xem bản đồ và tra cứu đường đi ngắn nhất; chia sẻ địa điểm qua liên kết; đăng ký và đăng nhập.
  2. Người dùng đã đăng nhập: Kế thừa toàn bộ quyền của khách, bổ sung quyền quản lý thông tin tài khoản, đổi mật khẩu; tạo và quản lý bộ sưu tập cá nhân; đánh giá thích quán; viết bình luận, thích/bỏ thích bình luận của người khác; gửi biểu mẫu đề xuất quán mới lên hệ thống.
  3. Nhân viên (Staff): Đăng nhập trang quản trị, theo dõi và xét duyệt danh sách các quán do người dùng gợi ý, trực tiếp tạo mới thông tin quán café lên cơ sở dữ liệu.
  4. Quản trị viên (Admin): Nắm toàn quyền hệ thống, xem biểu đồ thống kê (lượt xem, người dùng mới, trang truy cập cao), quản lý tài khoản người dùng (phân quyền vai trò, khóa/mở hoạt động tài khoản), quản lý danh sách quán café và duyệt danh sách đề xuất.

Bảng tổng hợp đặc tả các ca sử dụng tiêu biểu của hệ thống:

Mã ca sử dụng Tên ca sử dụng Tác nhân thực hiện Mục tiêu và hành động chính
UC-01 Đăng nhập Quản trị viên, Nhân viên, Người dùng Xác thực thông tin email và mật khẩu để cấp quyền truy cập hệ thống
UC-02 Đăng ký Người dùng vãng lai Nhập biểu mẫu thông tin cá nhân để tạo tài khoản thành viên mới
UC-03 Quản lý thông tin cá nhân Người dùng đã đăng nhập Cập nhật hồ sơ cá nhân (ảnh đại diện, địa chỉ, ngày sinh) và đổi mật khẩu
UC-04 Gợi ý quán café Người dùng đã đăng nhập Gửi thông tin quán mới (Suggest a place) lên hệ thống để chờ kiểm duyệt
UC-05 Tìm kiếm quán café Người dùng Tra cứu quán theo từ khóa tên hoặc sử dụng bộ lọc kết hợp (địa điểm, style, vibe)
UC-06 Đánh giá quán café Người dùng đã đăng nhập Bày tỏ yêu thích (Like/Unlike), đăng bình luận và tương tác thích/không thích bình luận
UC-07 Lưu/Xóa Bookmark Người dùng đã đăng nhập Lưu quán café vào bộ sưu tập cá nhân hoặc xóa khỏi danh mục đã lưu
UC-08 Xem bản đồ Người dùng Định vị qua GPS, hiển thị trực quan các quán lân cận và vẽ tuyến đường đi tối ưu
UC-09 Quản lý users Quản trị viên Xem danh sách người dùng, cập nhật quyền hạn (role) và thay đổi trạng thái kích hoạt
UC-10 Quản lý Suggest list Quản trị viên, Nhân viên Duyệt đưa vào danh sách chính thức hoặc xóa các địa điểm do người dùng gửi lên
UC-11 Tạo mới quán café Quản trị viên, Nhân viên Nhập biểu mẫu dữ liệu đầy đủ để bổ sung một quán café mới vào hệ sinh thái

Cơ sở dữ liệu của đồ án được xây dựng trên hệ quản trị MongoDB với các bảng/bộ sưu tập chính lưu trữ quan hệ và tương tác người dùng:

  • Bảng tài khoản (accounts): Lưu trữ định danh người dùng (id), địa chỉ thư điện tử (email), mật khẩu mã hóa (password), họ và tên (name), đường dẫn ảnh đại diện (avatar), số điện thoại liên lạc (phone), địa chỉ chi tiết (detail_address), ngày tháng năm sinh (birthday), trạng thái hoạt động (isActive dạng boolean), mã nhóm quyền (roleId), cùng hai mốc thời gian hệ thống (createdAt, updatedAt).
  • Các bảng dữ liệu tương tác: Bảng quản lý người dùng thích quán café (like_coffees), bảng lưu trữ tương tác bình luận (like_comments, dislike_comments) và bảng hỗ trợ chia sẻ liên kết vị trí (share_locations).

Trong quá trình triển khai thực tế, tác giả đã tiến hành kiểm thử giải thuật gợi ý bằng cách nạp dữ liệu đầu vào của sản phẩm (item profile) kết hợp với hồ sơ hành vi của người dùng (user profile). Kết quả kiểm thử cho thấy thuật toán Linear Regression tính toán thành công các giá trị điểm số dự đoán cho các unrated items, từ đó đưa ra danh sách các quán café phù hợp nhất lên màn hình trang chủ của từng người dùng.

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

Báo cáo khóa luận được cấu trúc thành 3 chương chính cùng phần Mở đầu, Kết luận và Tài liệu tham khảo:

Mở đầu

Tác giả phân tích tính cấp thiết của đề tài xuất phát từ sự bùng nổ của dịch vụ trực tuyến tại Việt Nam và những khó khăn thực tế khi tìm kiếm không gian café phù hợp tại Đà Nẵng. Phần này xác định 4 mục tiêu cốt lõi, phạm vi người dùng thuộc hai nhóm tuổi (16-24 và 25-34), mô tả hệ thống triển khai trên mạng diện rộng qua tên miền riêng, đồng thời phác thảo kế hoạch thực hiện gồm 5 bước từ ý tưởng đến hoàn thiện sản phẩm.

Chương 1: Cơ sở lý thuyết

Nội dung chương 1 hệ thống hóa toàn bộ các nền tảng kỹ thuật và toán học làm nền tảng cho đồ án:

  • Phân tích cơ chế Client-side rendering (CSR), làm rõ ưu điểm giảm tải cho máy chủ nhưng chỉ ra hạn chế về SEO và tải trọng ban đầu.
  • Trình bày kiến trúc RESTful API, phân định rõ chức năng của từng phương thức HTTP (GET, POST, PUT, PATCH, DELETE) và cách thức cấu trúc dữ liệu JSON/XML.
  • Đánh giá hệ sinh thái JavaScript, thư viện ReactJS (phân tích ưu điểm về component tái sử dụng, khả năng gỡ lỗi qua React Dev Tools, nhưng nhấn mạnh hạn chế ReactJS chỉ là tầng View với kích thước khoảng 35KB, cần bổ sung Redux/Routing).
  • Tổng hợp các công nghệ phụ trợ gồm ExpressJS, cơ sở dữ liệu hướng tài liệu MongoDB NoSQL, ngôn ngữ Python và máy chủ chuyển tiếp Nginx.
  • Trình bày chuyên sâu về lý thuyết hệ gợi ý Content-based: giải thích cấu trúc ma trận tiện ích (Utility matrix), vector đặc trưng toán học và phương pháp Hồi quy tuyến tính (Linear Regression) để giải quyết bài toán dự đoán dữ liệu khuyết thiếu.

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 là phần trọng tâm về kỹ thuật phần mềm của đồ án:

  • Phân loại chi tiết các yêu cầu chức năng theo từng đối tượng tác nhân (Quản trị viên, Nhân viên, Người dùng vãng lai, Người dùng thành viên) và các yêu cầu phi chức năng về tốc độ, tính bảo mật, tính thẩm mỹ và độ tin cậy.
  • Xây dựng sơ đồ phân rã chức năng toàn diện của hệ thống La Maison.
  • Thiết lập hệ thống 10 biểu đồ ca sử dụng (Use Case Diagram) từ mức tổng quát đến từng phân hệ nghiệp vụ cụ thể.
  • Lập bảng đặc tả chi tiết cho 11 ca sử dụng quan trọng (từ UC-01 đến UC-11), xác định rõ luồng sự kiện chính giữa tác nhân và phản hồi của hệ thống.
  • Xây dựng các biểu đồ hoạt động (Activity Diagram) và biểu đồ tuần tự (Sequence Diagram) minh họa cho các chu trình nghiệp vụ phức tạp: Đăng nhập, Quản lý tài khoản, Quản lý quán café, Quản lý người dùng và Tạo mới quán café.
  • Thiết kế mô hình dữ liệu quan hệ (ERD) và chuẩn hóa cấu trúc các bảng dữ liệu trong MongoDB (bảng accounts, like_comments, dislike_comments, like_coffees, share_locations).

Chương 3: Triển khai hệ thống và đánh giá

Chương 3 trình bày các kết quả thực nghiệm và cài đặt thực tế của sản phẩm:

  • Mô tả quy trình triển khai đồng bộ giữa Front-end (ReactJS, Redux Toolkit, Tailwind CSS), Back-end (ExpressJS, MongoDB) và module máy học (Python).
  • Công bố kết quả kiểm thử thuật toán gợi ý dựa trên nội dung, chứng minh khả năng dự đoán điểm ưu tiên quán café dựa trên item profile và user profile.
  • Giới thiệu kết quả giao diện thực tế thông qua 17 màn hình chức năng hoàn chỉnh của hệ thống:
    • Phân hệ người dùng: Trang chủ, Đăng nhập/Đăng ký, Chi tiết quán, Bản đồ chỉ đường, Chia sẻ quán café, Trang cá nhân, Trang bộ sưu tập, Chỉnh sửa hồ sơ, Thay đổi mật khẩu.
    • Phân hệ quản trị: Đăng nhập quản trị, Màn hình thống kê số liệu, Quản lý người dùng, Quản lý quán café, Màn hình xem bản đồ, Màn hình duyệt danh sách đề xuất người dùng gửi lên, Màn hình tạo mới quán café.
  • Nêu các định hướng phát triển nhằm nâng cấp hệ thống trong tương lai.

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

Đồ án "Xây dựng website tìm kiếm địa điểm quán café La Maison" của sinh viên Nguyễn Minh Tiến đã đạt được các kết quả cụ thể:

  • Xây dựng hoàn chỉnh một ứng dụng web hoạt động trên mạng diện rộng với 2 phân hệ độc lập: Phân hệ người dùng và Phân hệ quản trị/nhân viên, bao gồm hơn 17 màn hình giao diện trực quan được thiết kế bằng Tailwind CSS và ReactJS.
  • Tích hợp thành công thuật toán gợi ý Content-based Recommender sử dụng mô hình hồi quy tuyến tính viết bằng Python, xử lý được ma trận tiện ích (utility matrix) để cá nhân hóa danh sách gợi ý địa điểm cho người dùng.
  • Hiện thực hóa đầy đủ hệ thống bộ lọc đa tiêu chí (địa điểm, phong cách - style, không khí - vibe), chức năng chỉ đường ngắn nhất qua bản đồ GPS, cơ chế tạo bộ sưu tập bookmark cá nhân và tính năng chia sẻ địa điểm qua liên kết.
  • Cung cấp trang quản trị toàn diện cho phép thống kê số lượng truy cập, quản lý vai trò tài khoản người dùng, kiểm duyệt danh sách địa điểm do cộng đồng đề xuất và trực tiếp cập nhật dữ liệu quán café.

So với các hình thức tìm kiếm địa điểm truyền thống, đóng góp của đề tài nằm ở việc tích hợp tập trung các tính năng phân tán (tìm kiếm đa tiêu chí, gợi ý cá nhân hóa, bản đồ chỉ đường và chia sẻ nhóm) vào trong một giao diện web thống nhất, giúp người dùng tiết kiệm thời gian tra cứu.

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

Theo phạm vi nghiên cứu và nội dung được tác giả ghi nhận trong báo cáo:

  • Hệ thống không có sẵn cơ sở dữ liệu lớn từ ban đầu ("Các số liệu và dữ liệu ban đầu: Không có"), việc vận hành phụ thuộc nhiều vào việc nhập liệu thủ công của quản trị viên và sự tham gia đóng góp dữ liệu từ cộng đồng người dùng qua biểu mẫu "Suggest a place".
  • Thuật toán gợi ý dựa trên nội dung (Content-based) phụ thuộc chặt chẽ vào độ chính xác của các vector thuộc tính đặc trưng gán cho từng quán café; nếu dữ liệu gán nhãn ban đầu thiếu đồng nhất, độ chính xác của kết quả đề xuất sẽ bị ảnh hưởng.
  • Về hướng phát triển tiếp theo được đề cập tại Chương 3, tác giả định hướng tiếp tục hoàn thiện và tối ưu hóa giải thuật gợi ý, mở rộng kho dữ liệu địa điểm quán café ra ngoài phạm vi thành phố Đà Nẵng, đồng thời nâng cao hiệu năng xử lý của hệ thống máy chủ khi lượng người dùng tăng trưởng.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm đang thực hiện đồ án tốt nghiệp hoặc các dự án môn học về phát triển ứng dụng web hiện đại (Single Page Application - SPA).
  • Lập trình viên muốn tham khảo mô hình kết hợp kiến trúc Client-Side Rendering (ReactJS, Redux Toolkit, Tailwind CSS) với nền tảng REST API (Node.js, ExpressJS, MongoDB).
  • Những người nghiên cứu cách ứng dụng giải thuật học máy cơ bản (Content-based Recommendation System sử dụng Hồi quy tuyến tính) vào bài toán thực tế của các nền tảng thương mại dịch vụ và du lịch địa phương.
  • Tài liệu cung cấp mẫu phân tích thiết kế hệ thống phần mềm chuẩn mực với đầy đủ sơ đồ phân rã chức năng, 10 biểu đồ Use Case, 11 bảng đặc tả chi tiết, cùng các biểu đồ tuần tự, biểu đồ hoạt động và lược đồ cơ sở dữ liệu NoSQL.

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

1. Khóa luận La Maison giải quyết vấn đề thực tế nào của người dùng khi tìm kiếm quán café?
Khóa luận giải quyết tình trạng thông tin quán café bị phân tán trên nhiều mạng xã hội, người dùng khó tìm được quán thỏa mãn nhiều tiêu chí cùng lúc, thiếu công cụ chia sẻ đồng thời nhiều địa điểm cho bạn bè và chưa có hệ thống gợi ý quán tự động theo sở thích cá nhân.

2. Thuật toán gợi ý địa điểm trong đồ án hoạt động dựa trên nguyên lý lý thuyết nào?
Hệ thống sử dụng mô hình gợi ý dựa trên nội dung (Content-based recommendation system). Thuật toán biểu diễn các quán café dưới dạng vector đặc trưng $n$ chiều (item profile) và lập ma trận hữu dụng (utility matrix) phản ánh mức độ quan tâm của người dùng. Sau đó, thuật toán Hồi quy tuyến tính (Linear Regression) được áp dụng để học mô hình cho từng người dùng nhằm dự đoán điểm đánh giá đối với các quán café chưa tương tác.

3. Hệ thống phân chia quyền hạn quản lý và tác nghiệp như thế nào?
Hệ thống thiết lập 3 cấp độ tài khoản nội bộ: Quản trị viên (Admin) có toàn quyền xem thống kê, quản lý người dùng, duyệt đề xuất và quản lý danh sách quán; Nhân viên (Staff) có quyền duyệt danh sách địa điểm do người dùng gửi lên và tạo mới quán café; Người dùng thành viên có quyền tương tác cá nhân (thích, bình luận, lưu bookmark, chia sẻ và gửi đề xuất quán mới).

4. Cấu trúc bảng tài khoản (accounts) trong cơ sở dữ liệu gồm những trường thông tin nào?
Bảng accounts bao gồm 12 trường: id (char), email (varchar), password (varchar), name (varchar), avatar (varchar), phone (varchar), detail_address (varchar), birthday (date), isActive (bool), roleId (char), createdAt (date), và updatedAt (date).

5. Hệ thống phần mềm La Maison được xây dựng bằng những công nghệ chính nào?
Hệ thống sử dụng thư viện ReactJS kết hợp Redux Toolkit, Tailwind CSS và Axios ở phía front-end; máy chủ ExpressJS trên nền tảng Node.js cùng cơ sở dữ liệu MongoDB ở phía back-end; thuật toán gợi ý được viết bằng ngôn ngữ Python; toàn bộ ứng dụng được cấu hình và vận hành qua máy chủ web Nginx trên mạng diện rộng.

Kết luận

Đồ án tốt nghiệp "Xây dựng website tìm kiếm địa điểm quán café La Maison" của sinh viên Nguyễn Minh Tiến đã hoàn thành mục tiêu xây dựng một nền tảng tìm kiếm và gợi ý địa điểm thông minh phục vụ người dùng tại khu vực Đà Nẵng. Bằng việc kết hợp kiến trúc Client-Side Rendering trên nền tảng ReactJS/ExpressJS/MongoDB với thuật toán học máy Content-Based Recommender, tác giả đã giải quyết hiệu quả bài toán tra cứu quán đa tiêu chí và cá nhân hóa trải nghiệm người dùng. Đồ án đáp ứng đầy đủ các tiêu chuẩn kỹ thuật phần mềm từ khâu khảo sát, phân tích thiết kế hệ thống, mô hình hóa dữ liệu đến cài đặt thực tế và kiểm thử chức năng.