Mô tả chi tiết dự án StarTravel
1. Giới thiệu
StarTravel là website du lịch cho phép khách hàng tra cứu dịch vụ và tạo đặt chỗ. Các nhóm dịch vụ dự kiến gồm khách sạn, chuyến bay, tour, du thuyền và thuê xe. Website có giao diện nhiều trang HTML, phần xử lý nghiệp vụ dùng PHP và cơ sở dữ liệu MySQL.
Mục đích của bản demo là minh họa quy trình từ tìm dịch vụ đến tạo đặt chỗ, quản lý thông tin khách hàng và chuẩn bị tích hợp thanh toán MoMo. Dữ liệu dịch vụ và giá hiện là dữ liệu mẫu, không đồng bộ với nhà cung cấp và không thể hiện tình trạng còn chỗ theo thời gian thực.
Giao diện: HTML, CSS và JavaScript.
Backend: PHP, cung cấp API cho các chức năng nghiệp vụ.
Cơ sở dữ liệu: MySQL/MariaDB; cấu hình dự án hiện dùng database qlkhachsan.
Môi trường chạy: Apache và MySQL, ví dụ trong XAMPP. Cần mở website qua địa chỉ localhost, không mở file HTML trực tiếp.
2. Người dùng và quyền hạn
Khách chưa đăng nhập
Có thể xem các trang giới thiệu và tìm kiếm dịch vụ ở mức giao diện. Một số thao tác quản lý dữ liệu cần đăng nhập.
Khách hàng đã đăng nhập
Có thể sử dụng các chức năng gắn với tài khoản như:
Cập nhật hồ sơ.
Xem danh sách đặt chỗ của mình.
Tạo hoặc hủy đặt chỗ theo điều kiện.
Quản lý danh sách yêu thích.
Bắt đầu thanh toán cho đặt chỗ đang chờ thanh toán.
Phạm vi hiện được mô tả không gồm trang quản trị hoàn chỉnh để nhân viên quản lý dịch vụ, tồn kho hoặc duyệt đặt chỗ.
3. Các nhóm chức năng
3.1. Tài khoản
Người dùng có thể đăng ký bằng thông tin tài khoản, sau đó đăng nhập bằng tên đăng nhập hoặc email theo API được mô tả. Khi đăng xuất, phiên người dùng được kết thúc.
Khi kiểm thử, cần chú ý các tình huống như tài khoản không tồn tại, mật khẩu sai, đăng ký trùng email hoặc tên đăng nhập, và truy cập chức năng yêu cầu đăng nhập khi chưa xác thực.
3.2. Tìm kiếm và xem dịch vụ
Danh mục được chia theo loại dịch vụ. Người dùng chọn loại và nhập từ khóa để tìm kiếm. Kết quả có thể bao gồm tên, địa điểm, giá, mô tả và hình ảnh nếu có dữ liệu.
Hệ thống có API tìm kiếm catalog, ví dụ catalog?type=hotel&q=.... Cần kiểm tra rằng kết quả phù hợp loại đã chọn, không trả dịch vụ ngừng hoạt động, và xử lý rõ ràng khi không tìm thấy kết quả.
Giá của dữ liệu demo chỉ nhằm minh họa. Đặc biệt, giá thuê xe mẫu được mô tả là giá tham khảo cho một lượt đặt, không mặc định là đơn giá theo ngày.
3.3. Hồ sơ khách hàng
Khách đã đăng nhập có thể xem hoặc cập nhật một số thông tin hồ sơ, chẳng hạn họ tên, số điện thoại, ngày sinh, địa chỉ và quốc gia.
Kết quả cần được lưu lại và hiển thị đúng sau khi tải lại trang. Các trường không hợp lệ cần được từ chối hoặc thông báo lỗi rõ ràng thay vì lưu dữ liệu sai.
3.4. Đặt chỗ
Khách chọn dịch vụ, cung cấp ngày đi hoặc ngày nhận/trả phòng, số khách và ghi chú nếu biểu mẫu hỗ trợ. Khi tạo đặt chỗ thành công, hệ thống lưu một bản ghi gắn với khách hàng và dịch vụ, kèm mã đặt chỗ, số tiền và trạng thái.
Quy trình tổng quát:
Khách đăng nhập.
Tìm và chọn một dịch vụ.
Nhập thông tin cần thiết cho đặt chỗ.
Hệ thống kiểm tra dữ liệu và tính tổng tiền.
Nếu hợp lệ, hệ thống tạo đặt chỗ ở trạng thái chờ thanh toán.
Khách có thể xem đặt chỗ trong danh sách cá nhân và tiếp tục thanh toán hoặc hủy nếu thỏa điều kiện.Đặt chỗ không đồng nghĩa với việc hệ thống đã giữ phòng, ghế hoặc xe. Theo tài liệu dự án, bản demo không giữ chỗ và không trừ tồn kho.
3.5. Hủy đặt chỗ
API có chức năng hủy đặt chỗ. Quy tắc được mô tả là chỉ cho hủy đặt chỗ chưa thanh toán khi quy trình thanh toán chưa bắt đầu. Đặt chỗ đã thanh toán hoặc đã xác nhận không được hủy qua luồng này.
Khi kiểm thử, cần thử hủy đặt chỗ của chính mình, đặt chỗ của người khác, đặt chỗ đang chờ thanh toán, đã hủy và đã xác nhận.
3.6. Danh sách yêu thích
Khách đã đăng nhập có thể thêm dịch vụ vào danh sách yêu thích, xem danh sách và xóa dịch vụ. Mỗi khách chỉ thao tác trên danh sách của tài khoản mình; không nên có bản ghi trùng cùng dịch vụ cho cùng người dùng.
3.7. Thanh toán MoMo
Backend có luồng tạo yêu cầu thanh toán MoMo và nhận thông báo IPN. Thông tin bí mật của MoMo được cấu hình phía máy chủ, không nên xuất hiện trong mã JavaScript hoặc giao diện.Đặt chỗ chỉ được xác nhận sau khi máy chủ nhận và xác minh thông báo thanh toán hợp lệ. Việc trình duyệt quay lại từ trang thanh toán không đủ để kết luận giao dịch thành công. Nếu chưa cấu hình thông tin sandbox hoặc địa chỉ callback có thể truy cập từ bên ngoài, không thể kiểm thử thanh toán MoMo đầu-cuối một cách đầy đủ.
3.8. Đăng ký nhận tin
API có chức năng lưu email đăng ký nhận newsletter. Có thể kiểm thử email hợp lệ, email sai định dạng và trường hợp đăng ký lại cùng một email.(Lưu ý chức năng đang phát triển)
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
b1:Download file trong link
b2:Cài môi trường và hệ quản trị csdl
b3:Mở file,giải nén file và tiến hành mở file trong môi trường
b4:Thêm file database vào hệ quản trị csdl