Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển và ứng dụng mạnh mẽ vào đời sống kinh tế - xã hội tại Việt Nam, lĩnh vực thương mại dịch vụ và du lịch trực tuyến đang chứng kiến sự chuyển dịch rõ rệt từ các quy trình vận hành thủ công sang tin học hóa toàn diện. Người dùng hiện nay có nhu cầu thực hiện các giao dịch lưu trú từ xa thông qua thiết bị thông minh một cách thuận tiện, an toàn và nhanh chóng. Đồng thời, các đơn vị kinh doanh dịch vụ lưu trú cũng đòi hỏi các công cụ quản lý khoa học nhằm tự động hóa việc tiếp nhận đơn đặt phòng, theo dõi dịch vụ đi kèm và giám sát hoạt động tài chính.
Đề tài "Xây dựng website đặt phòng trực tuyến" (hệ thống mang tên Paradise) được hai tác giả Nguyễn Văn Lâm và Lê Minh Tường thực hiện dưới sự hướng dẫn của TS. Huỳnh Xuân Phụng tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2020 – 2024). Nghiên cứu giải quyết bài toán tối ưu hóa quy trình thuê và cho thuê cơ sở lưu trú trực tuyến, khắc phục những hạn chế của phương pháp quản lý truyền thống, đồng thời mở rộng tích hợp hai nhu cầu thực tế: dịch vụ đặt lịch hướng dẫn viên du lịch chuyên nghiệp và mạng xã hội chia sẻ trải nghiệm lưu trú.
Mục tiêu tổng quát của đề tài là xây dựng một nền tảng website đặt phòng trực tuyến hoàn chỉnh, bảo mật và thân thiện với người dùng. Các nhiệm vụ nghiên cứu cụ thể được phân kỳ thành 7 bước trong chu trình phát triển phần mềm:
- Khảo sát và phân tích nhu cầu: Nghiên cứu các ứng dụng đặt phòng hiện có trên thị trường, thu thập phản hồi và khảo sát từ đối tượng người dùng tiềm năng.
- Xác định yêu cầu: Thiết lập danh mục yêu cầu chức năng (tìm kiếm, đặt phòng, hủy phòng, thanh toán, quản lý tài khoản) và yêu cầu phi chức năng (bảo mật, hiệu năng, khả năng mở rộng).
- Thiết kế kiến trúc hệ thống: Lên phương án kiến trúc tổng thể cho tầng giao diện (Frontend), tầng xử lý nghiệp vụ (Backend) và tầng dữ liệu (Database); thiết kế luồng dữ liệu và giao diện người dùng.
- Phát triển hệ thống: Hiện thực hóa giao diện bằng NextJS và TypeScript; xây dựng hệ thống giao diện lập trình ứng dụng (Web API) phía backend bằng Golang kết hợp cơ sở dữ liệu quan hệ MySQL.
- Kiểm thử hệ thống: Thực hiện kiểm thử đơn vị (Unit Test), kiểm thử tích hợp, kiểm thử chức năng tự động, đồng thời tổ chức thử nghiệm thực tế với người dùng để thu thập đánh giá.
- Triển khai: Đưa ứng dụng lên môi trường vận hành thực tế (Production), thiết lập cấu hình máy chủ, phân vùng mạng bảo mật và kết nối dịch vụ lưu trữ đám mây.
- Bảo trì và nâng cấp: Theo dõi hiệu năng vận hành, xử lý các lỗi phát sinh, cập nhật công nghệ và tối ưu hóa hệ thống dựa trên phản hồi của người dùng.
Đối tượng nghiên cứu của đồ án bao gồm:
- Quy trình nghiệp vụ cốt lõi của một hệ sinh thái lưu trú trực tuyến: quản lý người dùng, tìm kiếm - lọc phòng, quy trình đặt và hủy phòng, quản lý doanh thu và đánh giá dịch vụ.
- Quy trình nghiệp vụ của cộng đồng đánh giá (review): phân loại bài đăng, kiểm duyệt nội dung, tương tác người dùng (bình luận, phản hồi, chia sẻ).
- Nghiệp vụ kết nối hướng dẫn viên: tạo lịch trình, quản lý tin đăng cho thuê hướng dẫn viên, đặt lịch và thanh toán dịch vụ.
- Các giải pháp kỹ thuật: ngôn ngữ Golang kết hợp Gin Framework; thư viện GORM; hệ quản trị cơ sở dữ liệu MySQL; thư viện NextJS và ngôn ngữ TypeScript; dịch vụ lưu trữ đám mây Amazon Web Services (AWS); tích hợp mô hình ngôn ngữ lớn (LLM - ChatGPT) cho hệ thống Chatbot và cổng thanh toán MoMo.
Phạm vi nghiên cứu được xác định:
- Không gian: Đề tài tập trung phục vụ đối tượng khách du lịch, chủ cơ sở lưu trú và hướng dẫn viên tại thị trường Việt Nam; hệ thống triển khai trên nền tảng web truy cập qua mạng Internet.
- Thời gian: Khóa luận được thực hiện trong giai đoạn từ tháng 8/2023 (bắt đầu từ tiểu luận chuyên ngành) đến tháng 7/2024 (nghiệm thu và bảo vệ đồ án tốt nghiệp khóa 2020 – 2024).
Cơ sở lý thuyết và phương pháp
Khóa luận kết hợp nền tảng lý thuyết kỹ thuật phần mềm hiện đại với các phương pháp nghiên cứu, phân tích và triển khai kỹ thuật cụ thể:
- Khung lý thuyết và mô hình kiến trúc:
Tác giả áp dụng mô hình kiến trúc Clean Architecture cho tầng Web API phía backend nhằm phân tách độc lập các tầng xử lý nghiệp vụ, tầng giao tiếp dữ liệu và tầng điều khiển. Về mặt phân tích và thiết kế hệ thống, nghiên cứu áp dụng quy chuẩn ngôn ngữ mô hình hóa hợp nhất (UML - Unified Modeling Language), bao gồm biểu đồ ca sử dụng (Use Case Diagram), đặc tả ca sử dụng (Use Case Specification), biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram) và biểu đồ quan hệ thực thể (Entity Relationship Diagram - ERD).
- Phương pháp quản lý dự án:
Đồ án áp dụng quy trình Scrum. Nhóm tác giả sử dụng phần mềm Jira để phân chia công việc (Work Breakdown Structure - WBS), quản lý Product Backlog, Daily Board (ghi nhận công việc từ thứ Hai đến thứ Sáu) và lập biểu đồ Gantt theo dõi tiến độ từng mốc thời gian từ khảo sát, thiết kế, lập trình đến kiểm thử.
- Phương pháp nghiên cứu và phát triển phần mềm:
- Phương pháp phân tích - tổng hợp: Nghiên cứu, đối chiếu ưu và nhược điểm của các ứng dụng đặt phòng hiện hành để xác định danh mục tính năng cần phát triển.
- Phương pháp thiết kế hướng đối tượng: Xác định các tác nhân (Actor), xây dựng các lớp đối tượng, mô hình hóa các luồng xử lý dữ liệu và quan hệ giữa các thực thể cơ sở dữ liệu.
- Phương pháp thực nghiệm phần mềm: Lập trình mã nguồn, thiết kế kịch bản kiểm thử (Test Case), tích hợp đường ống tích hợp và triển khai liên tục (CI/CD) trên nền tảng GitHub.
- Nguồn dữ liệu:
Dữ liệu nghiên cứu bao gồm tài liệu kỹ thuật chính thức của Gin Framework, NextJS, MySQL, TypeScript; tài liệu khảo sát phản hồi từ tối thiểu 10 người dùng qua Google Forms và Google Sheets; cơ sở dữ liệu mẫu do nhóm tự thiết kế và lưu trữ trên hệ thống MySQL.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình tách biệt giữa giao diện người dùng và máy chủ dịch vụ thông qua RESTful Web API, tuân thủ nguyên lý Clean Architecture để đảm bảo tính module hóa và dễ bảo trì.
+-------------------------------------------------------------+
| NGƯỜI DÙNG / TRÌNH DUYỆT |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| TẦNG GIAO DIỆN (FRONTEND PUBLIC) |
| - NextJS / TypeScript / Tailwind CSS / Axios |
| - Tích hợp API Gateway trung gian |
+-------------------------------------------------------------+
| (HTTPS / RESTful API)
v
+-------------------------------------------------------------+
| TẦNG DỊCH VỤ (BACKEND PRIVATE) |
| - Golang / Gin Framework / Clean Architecture |
| - Xử lý xác thực, phân quyền, kiểm duyệt |
| - Tích hợp bên thứ ba: MoMo, Google OAuth, LLM Bot |
+-------------------------------------------------------------+
|
+------------------+------------------+
| |
v v
+-----------------------+ +-----------------------+
| CƠ SỞ DỮ LIỆU MYSQL | | LƯU TRỮ AWS S3 |
| (Private / GORM ORM) | | (Tệp tin, Ảnh, Video) |
+-----------------------+ +-----------------------+
Kiến trúc và công nghệ sử dụng
Nền tảng công nghệ của hệ thống được lựa chọn dựa trên yêu cầu về hiệu năng cao, kiểu dữ liệu chặt chẽ và khả năng mở rộng:
| Thành phần |
Công nghệ / Công cụ |
Vai trò và chức năng chính |
| Giao diện người dùng (Frontend) |
NextJS, TypeScript |
Xây dựng giao diện web tương thích đa màn hình, tối ưu hóa hiển thị và render phía máy chủ. |
| Máy chủ dịch vụ (Backend) |
Golang, Gin Framework |
Xử lý logic nghiệp vụ, định tuyến API, cung cấp hiệu năng xử lý đồng thời cao và độ trễ thấp. |
| Tương tác cơ sở dữ liệu |
GORM (Thư viện ORM cho Go) |
Ánh xạ đối tượng quan hệ, tối ưu truy vấn dữ liệu từ backend sang MySQL. |
| Hệ quản trị cơ sở dữ liệu |
MySQL |
Lưu trữ dữ liệu quan hệ có cấu trúc: tài khoản, phòng, đơn đặt, đánh giá, lịch trình. |
| Hạ tầng đám mây và lưu trữ |
AWS (Amazon Web Services) |
Lưu trữ phân tán hình ảnh, video và tệp đa phương tiện, tối ưu chi phí hạ tầng. |
| Dịch vụ thanh toán |
Cổng thanh toán MoMo |
Xử lý giao dịch thanh toán trực tuyến cho đơn đặt phòng và thuê hướng dẫn viên. |
| Trí tuệ nhân tạo bổ trợ |
Mô hình ngôn ngữ lớn (LLM/ChatGPT) |
Cung cấp Chatbot tự động tư vấn người dùng và bộ lọc nội dung bình luận độc hại. |
| Quản lý phiên và xác thực |
Google OAuth, JWT |
Đăng nhập bằng tài khoản mạng xã hội và phân quyền người dùng bảo mật. |
Hạ tầng triển khai tuân thủ tiêu chuẩn an toàn: chỉ tầng giao diện Frontend được cấu hình công khai (public). Tầng máy chủ backend và cơ sở dữ liệu MySQL được cấu hình trong mạng riêng (private subnet); mọi yêu cầu truy xuất dữ liệu từ frontend vào backend bắt buộc phải đi qua các cổng API Gateway đặt tại tầng frontend.
Kiểm thử hệ thống
Đồ án xây dựng chiến lược kiểm thử đa tầng bao gồm kiểm thử đơn vị (Unit Test) và kiểm thử chức năng tự động (Automated Testing) tích hợp trong quy trình CI/CD:
- Phạm vi kiểm thử bao phủ 100% các hàm và 100% các chức năng được lập tài liệu kịch bản kiểm thử (Test Case).
- Hệ thống module backend được kiểm thử đơn vị toàn diện theo 10 phân hệ độc lập:
- Module Account: Kiểm thử đăng ký, đăng nhập, phân quyền, cập nhật trạng thái người dùng.
- Module Amenity: Kiểm thử quản lý danh mục tiện ích phòng.
- Module Booking: Kiểm thử luồng tạo đơn, cập nhật, hủy và xóa đơn đặt phòng.
- Module Booking Guider: Kiểm thử quy trình đặt lịch và hủy lịch thuê hướng dẫn viên.
- Module BookingRating: Kiểm thử cơ chế chấm điểm và gửi phản hồi sau kỳ lưu trú.
- Module CalendarGuider: Kiểm thử thiết lập và quản lý lịch biểu của hướng dẫn viên.
- Module Comment: Kiểm thử luồng gửi bình luận và bộ lọc ngôn từ độc hại (Filter Violent Comment).
- Module LikePostReview: Kiểm thử cơ chế thích và bỏ thích bài đánh giá.
- Module Payment: Kiểm thử xác nhận thanh toán trực tuyến và ghi nhận trạng thái giao dịch.
- Module Place: Kiểm thử tạo mới, cập nhật, hiển thị và xóa thông tin địa điểm lưu trú.
Nội dung chính theo từng chương
Bố cục khóa luận được cấu trúc thành ba phần với các chương nội dung chi tiết:
Phần 1: Mở đầu và kế hoạch quản trị dự án
Phần mở đầu xác lập cơ sở khoa học, mục tiêu và phương pháp quản lý tiến độ của đề tài. Tác giả xây dựng bộ chỉ số đánh giá hiệu suất (KPI) nghiêm ngặt gồm: hoàn thành 99% kịch bản so với thực tế; giao diện tối ưu trên màn hình chuẩn 13 inch; thời gian phản hồi không quá 30 giây; báo cáo có tỷ lệ trùng lặp văn bản dưới 15% và lỗi chính tả dưới 5%; doanh thu thực tế đạt trên 40% chi phí vận hành máy chủ AWS. Phần này cũng chi tiết hóa bảng cấu trúc phân chia công việc (WBS) gồm 5 giai đoạn (Khảo sát/thiết kế, Backend, Frontend, Tích hợp/kiểm thử, Triển khai/vận hành) và hai biểu đồ Gantt ghi nhận tiến độ thực hiện từ tiểu luận chuyên ngành đến khóa luận tốt nghiệp.
Phần 2: Nội dung
Phần 2 là phần trọng tâm của khóa luận, bao gồm 13 chương và các tiểu mục thiết kế chi tiết:
Chương 1. Khảo sát hiện trạng
Nội dung chương tập trung khảo sát các nền tảng đặt phòng trực tuyến đang vận hành, chỉ ra ưu điểm về mặt giao diện và nhược điểm về sự thiếu vắng các dịch vụ bổ trợ địa phương (như hướng dẫn viên bản địa hay cộng đồng thảo luận). Từ đó, tác giả xây dựng yêu cầu bài toán và kịch bản người dùng (Persona/Scenarios) đại diện cho từng nhóm đối tượng sử dụng hệ thống.
Chương 2. Xác định yêu cầu
Chương này chuẩn hóa hệ thống yêu cầu kỹ thuật:
- Yêu cầu chức năng: Chi tiết hóa toàn bộ các luồng nghiệp vụ liên quan đến tài khoản, xem danh sách và chi tiết phòng, quản lý yêu thích, đặt và hủy phòng, đánh giá, quản lý địa điểm cho thuê, quản lý hướng dẫn viên, chatbot hỗ trợ, chia sẻ mạng xã hội, gửi và xử lý báo cáo vi phạm.
- Yêu cầu phi chức năng: Quy định giao diện trực quan, thời gian tải trang không vượt quá 10 giây, bảo mật thông tin cá nhân và thanh toán, độ ổn định hệ thống với tỷ lệ gián đoạn (downtime) thấp, và mã nguồn có cấu trúc rõ ràng phục vụ bảo trì.
Chương 3. Phân tích chức năng
Chương 3 tổng hợp và phân loại chức năng theo 4 nhóm tác nhân (Actor) chính:
| Nhóm Actor |
Số lượng chức năng |
Các chức năng tiêu biểu |
| Người dùng (User) |
25 |
Đăng ký/đăng nhập, tìm kiếm phòng, đặt phòng, hủy phòng, viết bài review, tương tác bài viết (like/comment), đặt lịch hướng dẫn viên, gửi báo cáo vi phạm, chat với chatbot, chia sẻ lên mạng xã hội. |
| Chủ nhà (Vendor) |
26 |
Toàn bộ chức năng của User, bổ sung: Đăng ký và quản lý địa điểm cho thuê (thêm, sửa, xóa phòng), quản lý đơn đặt phòng trên từng địa điểm, thống kê doanh thu bán phòng. |
| Hướng dẫn viên (Guider) |
26 |
Toàn bộ chức năng của User, bổ sung: Đăng tin cho thuê hướng dẫn viên, tạo và cập nhật lịch trình tour, quản lý lịch đặt của khách, thống kê doanh thu dịch vụ dẫn tour. |
| Quản trị viên (Admin) |
11 |
Đăng nhập hệ thống quản trị, quản lý tài khoản và quyền truy cập, xử lý yêu cầu trở thành Chủ nhà/Hướng dẫn viên, kiểm duyệt và xử lý các báo cáo vi phạm (tài khoản, địa điểm, bài đăng). |
Chương 4. Danh sách các Actor, Lược đồ Usecase và Đặc tả Usecase
Chương này trực quan hóa toàn bộ phân tích chức năng thông qua biểu đồ ca sử dụng tổng quát và 14 biểu đồ ca sử dụng chi tiết (từ Hình 4.3 đến Hình 4.16). Kèm theo đó là các bảng đặc tả ca sử dụng chi tiết bao gồm mã ca sử dụng (Use Case ID), mục tiêu, tiền điều kiện, hậu điều kiện, luồng sự kiện chính (Main Flow), luồng thay thế (Alternative Flow) và các trường hợp ngoại lệ (như quản lý đơn đặt phòng, chia sẻ mạng xã hội, quản lý báo cáo, đặt lịch hướng dẫn viên).
Chương 5 & 6 (trong tài liệu tương ứng phần 5 và 6). Lược đồ tuần tự (Sequence Diagram) và Lược đồ hoạt động (Activity Diagram)
Hệ thống hóa chi tiết luồng dữ liệu tương tác giữa các lớp đối tượng thông qua 28 biểu đồ tuần tự và 28 biểu đồ hoạt động tương ứng. Các quy trình quan trọng được mô hình hóa bao gồm: đổi/quên mật khẩu, đặt phòng, cập nhật trạng thái thanh toán của Vendor và Guider, thống kê doanh thu, quy trình phê duyệt yêu cầu nâng cấp vai trò người dùng thành Vendor/Guider của Admin, quy trình thích/bình luận bài viết và tạo báo cáo vi phạm.
Chương 7 & các chương kỹ thuật. Thiết kế cơ sở dữ liệu và Kiến trúc hệ thống
Chương này cung cấp biểu đồ quan hệ thực thể (ERD) hoàn chỉnh và bảng mô tả chi tiết các bảng trong cơ sở dữ liệu MySQL (Bảng 7.1). Đồng thời, tác giả trình bày sơ đồ kiến trúc hệ thống Clean Architecture, nguyên lý ánh xạ dữ liệu thông qua GORM và cấu trúc xử lý Web API trên nền Golang.
Chương 12. Thiết kế giao diện
Mô tả chi tiết hệ thống giao diện người dùng thông qua 61 hình ảnh chụp màn hình thực tế của ứng dụng đã triển khai, bao gồm: giao diện trang chủ, các bộ lọc nâng cao (địa điểm, thời gian, số lượng khách, mức giá), trang chi tiết phòng, giao diện quản lý thông tin cá nhân, không gian cộng đồng review, quy trình đặt lịch hướng dẫn viên, hộp thoại chatbot và toàn bộ hệ thống bảng điều khiển (Dashboard) quản trị doanh thu, thanh toán, duyệt yêu cầu của Vendor, Guider và Admin.
Cài đặt hệ thống và Kiểm thử
Ghi nhận quy trình cấu hình môi trường máy chủ thực tế (Production), thiết lập mạng nội bộ, tài liệu hướng dẫn cài đặt phần mềm và báo cáo kết quả kiểm thử đơn vị, kiểm thử tự động trên 10 phân hệ nghiệp vụ.
Phần 3: Kết luận
Tổng kết mức độ hoàn thành dựa trên các chỉ tiêu KPI đề ra, liệt kê các kết quả kỹ thuật đạt được, phân tích nhược điểm tồn đọng và đề xuất định hướng phát triển trong tương lai.
Kết quả và đóng góp
Khóa luận đã hoàn thành các mục tiêu nghiên cứu và phát triển phần mềm theo kế hoạch đề ra, với các kết quả cụ thể được ghi nhận trong văn bản:
- Hoàn thành đầy đủ 100% các chức năng khảo sát và thiết kế theo KPI, đáp ứng 99% kịch bản sử dụng thực tế của 4 nhóm đối tượng người dùng (User, Vendor, Guider, Admin).
- Thiết lập và kiểm thử tự động thành công toàn bộ 10 module nghiệp vụ cốt lõi thông qua hệ thống kiểm thử đơn vị (Unit Test) và đường ống GitHub CI/CD.
- Xây dựng hoàn chỉnh hệ thống quản lý cơ sở dữ liệu trên MySQL kết hợp lưu trữ tệp đa phương tiện trên AWS S3, triển khai thành công mô hình mạng phân tách (public frontend - private backend/database).
- Tích hợp thành công các tiện ích công nghệ mở rộng: cổng thanh toán MoMo, đăng nhập Google, chia sẻ đa nền tảng (Facebook, Twitter, WhatsApp, Telegram, Email), Chatbot hỗ trợ thông minh và bộ lọc bình luận bạo lực/tiêu cực (Filter Violent Comment).
- Thử nghiệm thực tế với người dùng đạt tỷ lệ phản hồi hài lòng từ 90% trở lên trên nhóm thử nghiệm tối thiểu 10 người (thông qua khảo sát Google Forms).
- Toàn bộ mã nguồn và tài liệu kỹ thuật (SRS, ERD, WBS, sơ đồ thiết kế) được chuẩn hóa và quản lý tập trung trên GitHub và Jira.
Về mặt đóng góp so với các ứng dụng khảo sát trước đó, tác giả đã tích hợp thành công mô hình "3 trong 1": không chỉ dừng lại ở tính năng đặt phòng đơn thuần, hệ thống tích hợp sâu dịch vụ kết nối hướng dẫn viên du lịch chuyên nghiệp và xây dựng không gian mạng xã hội review dịch vụ. Điều này cho phép người dùng khép kín quy trình từ tìm hiểu kinh nghiệm, đặt chỗ lưu trú, thuê người dẫn tour đến chia sẻ đánh giá sau chuyến đi trên cùng một nền tảng kỹ thuật số.
Hạn chế và hướng nghiên cứu tiếp
Căn cứ trên các nội dung được nhóm tác giả trình bày tại phần đánh giá và hướng phát triển của đồ án:
Giá trị tham khảo
Khóa luận tốt nghiệp của Nguyễn Văn Lâm và Lê Minh Tường là tài liệu tham khảo có giá trị học thuật và thực tiễn cao cho:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang thực hiện đồ án tốt nghiệp liên quan đến hệ thống thương mại điện tử, đặt dịch vụ trực tuyến hoặc mạng xã hội.
- Lập trình viên và người nghiên cứu kiến trúc phần mềm quan tâm đến việc ứng dụng Clean Architecture trên nền tảng ngôn ngữ Golang kết hợp với Gin Framework và GORM.
- Những người cần tài liệu mẫu về quy trình phân tích và thiết kế hệ thống thông tin hoàn chỉnh theo chuẩn UML: từ khâu phân rã yêu cầu, lập bảng WBS, biểu đồ Gantt đến xây dựng biểu đồ ca sử dụng, tuần tự, hoạt động, ERD và kiểm thử tự động theo module.
Phần tài liệu có giá trị tham khảo kỹ thuật cao nhất trong đồ án là hệ thống đặc tả ca sử dụng chi tiết (Chương 4), chuỗi 28 lược đồ tuần tự/hoạt động (Chương 5, 6) và cấu trúc triển khai kiểm thử đơn vị cho 10 module chức năng lõi.
Câu hỏi thường gặp
Hệ thống Paradise sử dụng những công nghệ cốt lõi nào cho tầng Frontend và Backend?
Hệ thống sử dụng NextJS kết hợp ngôn ngữ TypeScript cho tầng giao diện người dùng (Frontend); ngôn ngữ Golang kết hợp Gin Framework và thư viện GORM theo mô hình Clean Architecture cho tầng máy chủ dịch vụ (Backend); cơ sở dữ liệu quan hệ sử dụng MySQL và lưu trữ hình ảnh trên AWS S3.
Hệ thống phân quyền cho những nhóm tác nhân (Actor) nào và chức năng của từng nhóm là gì?
Hệ thống thiết kế cho 4 nhóm tác nhân chính:
- Người dùng (User): 25 chức năng (đặt phòng, tìm kiếm, review, đặt hướng dẫn viên, chat).
- Chủ nhà (Vendor): 26 chức năng (quản lý địa điểm phòng cho thuê, quản lý đơn đặt, xem thống kê doanh thu phòng).
- Hướng dẫn viên (Guider): 26 chức năng (đăng tin dẫn tour, tạo lịch trình, quản lý lịch đặt, xem thống kê doanh thu tour).
- Quản trị viên (Admin): 11 chức năng (quản lý tài khoản, duyệt yêu cầu Vendor/Guider, xử lý báo cáo vi phạm).
Khóa luận đã thực hiện kiểm thử đơn vị (Unit Test) cho những module chức năng nào?
Hệ thống thực hiện kiểm thử đơn vị tự động trên 10 module nghiệp vụ chính: Account, Amenity, Booking, Booking Guider, BookingRating, CalendarGuider, Comment, LikePostReview, Payment, và Place.
Hệ thống tích hợp những dịch vụ của bên thứ ba nào?
Đồ án tích hợp cổng thanh toán MoMo, xác thực đăng nhập bằng tài khoản Google, chia sẻ liên kết mạng xã hội (Facebook, Twitter, WhatsApp, Telegram, Email), dịch vụ lưu trữ đám mây AWS, và dịch vụ mô hình ngôn ngữ lớn (LLM/ChatGPT) phục vụ tính năng chatbot hỗ trợ cùng bộ lọc kiểm duyệt bình luận.
Quy trình quản trị dự án của nhóm tác giả được tổ chức như thế nào?
Nhóm áp dụng mô hình Scrum, sử dụng phần mềm Jira để quản lý backlog và daily board từ thứ Hai đến thứ Sáu, thiết lập cấu trúc phân chia công việc WBS gồm 5 giai đoạn, theo dõi tiến độ qua biểu đồ Gantt và họp báo cáo định kỳ 2 tuần một lần với giảng viên hướng dẫn bắt đầu từ ngày 26/02/2024.
Kết luận
Khóa luận tốt nghiệp "Xây dựng website đặt phòng trực tuyến" của sinh viên Nguyễn Văn Lâm và Lê Minh Tường đã giải quyết trọn vẹn bài toán xây dựng nền tảng du lịch và lưu trú trực tuyến đa chức năng. Bằng việc ứng dụng ngôn ngữ Golang với kiến trúc Clean Architecture ở backend kết hợp NextJS ở frontend, hệ thống đảm bảo hiệu năng vận hành cao, cấu trúc module rõ ràng và tính an toàn thông tin khi triển khai trên hạ tầng phân vùng mạng. Việc tích hợp đồng thời ba cấu phần gồm đặt phòng lưu trú, dịch vụ hướng dẫn viên và cộng đồng đánh giá trải nghiệm đã tạo nên một giải pháp công nghệ toàn diện, mang tính ứng dụng thực tiễn cao cho ngành dịch vụ số.