1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking

71 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Student Booking
Tác giả Lê Thanh Quỳnh, Huỳnh Thanh Tiến
Người hướng dẫn GV. Lương Trần Ngọc Khiết
Trường học Trường Đại Học Sư Phạm TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Môn Học Tiểu Luận Tốt Nghiệp
Năm xuất bản 2024
Thành phố TP. HCM
Định dạng
Số trang 71
Dung lượng 7,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (12)
    • 1.1. Lý do chọn đề tài (12)
    • 1.2. Mục tiêu của đề tài (13)
    • 1.3. Hiện trạng doanh nghiệp (14)
    • 1.4. Phương pháp nghiên cứu (0)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (17)
    • 2.1. Gii thiệu về nền tảng chia sẽ chuyến đi (0)
    • 2.2. Các chức năng và thành phần chính của nền tảng chia sẻ chuyến đi (0)
    • 2.3. Khảo sát hệ thống tương tự (0)
    • 2.4. Công nghệ sử dụng (24)
  • CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG (28)
    • 3.1. Phân tích yêu cầu (28)
    • 3.2. Đặc tả hệ thống (31)
  • CHƯƠNG 4. THIẾT KẾ HỆ THỐNG (36)
    • 4.1. Sơ đồ phân rã chức năng (36)
    • 4.2. Sơ đồ Use Case (38)
    • 4.3. Sơ đồ tuần tự (45)
    • 4.4. Thiết kế cơ sở dữ liệu (50)
    • 4.5. Thiết kế giao diện người dùng (60)
  • CHƯƠNG 5. TRIỂN KHAI VÀ PHÁT TRIỂN (68)
  • CHƯƠNG 6. KIỂM THỬ HỆ THỐNG (69)
  • CHƯƠNG 7. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (70)
  • TÀI LIỆU THAM KHẢO (71)

Nội dung

- Đảm bảo an toàn và bảo mật thông tin: Áp dụng các giải pháp bảo mật như mã hóa mật khẩu, hệ thống xác thực vi Refresh Token, và bảo vệ dữ liệu người dùng để đảm bảo an toàn thông tin

TỔNG QUAN

Lý do chọn đề tài

Sinh viên thường cần di chuyển giữa trường học, ký túc xá và nhà riêng, nhưng không phải ai cũng có phương tiện cá nhân hoặc khả năng sử dụng dịch vụ công cộng thuận tiện Trong bối cảnh công nghệ thông tin phát triển, việc kết nối và chia sẻ trở nên dễ dàng hơn Để đáp ứng nhu cầu di chuyển tiết kiệm và xây dựng cộng đồng bền vững, nhóm chúng tôi đã phát triển ứng dụng web Student Book dành cho sinh viên Ứng dụng này không chỉ hỗ trợ việc đi lại mà còn thúc đẩy sự gắn kết giữa các sinh viên, tạo cơ hội chia sẻ phương tiện và xây dựng mối quan hệ tốt đẹp Điều này mang lại lợi ích thiết thực và tạo ra môi trường hỗ trợ lẫn nhau trong trường học.

Ứng dụng không chỉ giúp bảo vệ môi trường bằng cách giảm số lượng xe lưu thông và hạn chế khí thải, mà còn giảm tắc nghẽn giao thông, tạo lợi ích cho người dùng và nâng cao ý thức cộng đồng Bằng cách cho phép người dùng đánh giá và phản hồi về các chuyến đi, ứng dụng xây dựng một hệ thống dịch vụ an toàn và đáng tin cậy, khuyến khích sinh viên tuân thủ quy định và tạo ra một môi trường sử dụng ứng dụng lành mạnh.

Đề tài "Xây dựng web Student Booking" được chọn nhằm cung cấp giải pháp toàn diện cho sinh viên, giúp giải quyết khó khăn trong di chuyển và tăng cường sự gắn kết giữa các bạn Hệ thống không chỉ hỗ trợ lẫn nhau mà còn mở ra cơ hội phát triển và mở rộng trong tương lai, đáp ứng nhu cầu của các cộng đồng khác.

Mục tiêu của đề tài

Mục tiêu chính của dự án "Xây dựng website Student Booking" là phát triển một nền tảng trực tuyến giúp sinh viên dễ dàng kết nối và chia sẻ phương tiện di chuyển Hệ thống này không chỉ hỗ trợ sinh viên trong việc di chuyển hàng ngày mà còn góp phần xây dựng một cộng đồng đoàn kết, an toàn và tiết kiệm.

Xây dựng hệ thống quản lý chuyến đi với giao diện trực quan và dễ sử dụng giúp sinh viên dễ dàng tạo và tìm kiếm các chuyến đi phù hợp Hệ thống này cần hỗ trợ việc đặt chỗ và quản lý chi tiết chuyến đi, bao gồm thời gian, điểm đi, điểm đến và chi phí chia sẻ.

Hệ thống đánh giá người dùng được tích hợp cho phép sinh viên thực hiện đánh giá lẫn nhau qua hai mục riêng biệt: một cho vai trò tài xế và một cho vai trò hành khách Chức năng này không chỉ nâng cao tính minh bạch mà còn gia tăng độ tin cậy của hệ thống.

Phát triển hệ thống quản lý người dùng cho phép sinh viên dễ dàng quản lý thông tin cá nhân, theo dõi lịch sử các chuyến đi đã tham gia và chỉnh sửa thông tin cá nhân của mình Đồng thời, quản trị viên có khả năng giám sát và quản lý các chuyến đi cùng với tài khoản người dùng, nhằm đảm bảo chất lượng dịch vụ tốt nhất.

Để đảm bảo an toàn và bảo mật thông tin, cần áp dụng các giải pháp bảo mật hiệu quả như mã hóa mật khẩu, sử dụng hệ thống xác thực với Refresh Token, và bảo vệ dữ liệu người dùng nhằm bảo vệ thông tin cá nhân một cách tối ưu.

Phát triển hệ thống nhắn tin trực tuyến cho phép sinh viên dễ dàng trao đổi thông tin về chuyến đi, xác nhận điểm đón và giải đáp thắc mắc một cách nhanh chóng và thuận tiện.

Hệ thống nhắn tin cần đảm bảo an toàn, bảo mật và dễ sử dụng.

Tối ưu hóa trải nghiệm người dùng là điều cần thiết, với thiết kế giao diện thân thiện và hoạt động mượt mà trên cả máy tính và thiết bị di động, giúp sinh viên dễ dàng truy cập và sử dụng dịch vụ.

Hiện trạng doanh nghiệp

Phạm vi nghiên cứu của đề tài "Xây dựng website Student Booking" bao gồm:

Hệ thống website được xây dựng nhằm hỗ trợ sinh viên trong việc tìm kiếm và đăng ký các chuyến đi chung, đáp ứng nhu cầu di chuyển hàng ngày Người dùng có thể dễ dàng tìm kiếm thông tin chi tiết về chuyến đi, tài xế và hành khách tiềm năng Bên cạnh đó, hệ thống cho phép người dùng quản lý thông tin cá nhân, theo dõi lịch sử các chuyến đi đã tham gia và đánh giá trải nghiệm của mình.

Hệ thống quản lý chuyến đi cho phép sinh viên dễ dàng tạo, tìm kiếm và tham gia các chuyến đi, bao gồm việc quản lý thông tin về điểm đi/đến, thời gian và chi phí chia sẻ Tính năng đánh giá người dùng tích hợp giúp sinh viên có thể đánh giá tài xế hoặc hành khách, nâng cao tính minh bạch và độ tin cậy Quản lý người dùng cho phép đăng nhập và thay đổi mật khẩu tài khoản cá nhân, trong khi hệ thống quản trị viên có khả năng giám sát và quản lý các chuyến đi, tài khoản cũng như nội dung đánh giá Cuối cùng, tính năng thông báo và nhắc nhở hỗ trợ gửi thông báo về các chuyến đi đã đặt hoặc thay đổi, cùng với gợi ý các chuyến đi tiềm năng.

Trong phạm vi kỹ thuật, giao diện người dùng sẽ được phát triển bằng công nghệ React hoặc Next.js, trong khi hệ thống quản lý phía server sẽ sử dụng Node.js và Express để kết nối với cơ sở dữ liệu Để lưu trữ thông tin về người dùng, thú cưng, sản phẩm và dịch vụ, chúng tôi sẽ áp dụng MongoDB Đồng thời, chúng tôi cam kết đảm bảo bảo mật thông tin người dùng và thanh toán thông qua các phương thức bảo mật cơ bản như mã hóa mật khẩu và token đăng nhập.

Hệ thống được triển khai trên nền tảng đám mây, cho phép truy cập từ nhiều thiết bị khác nhau, đồng thời đảm bảo khả năng mở rộng và tính ổn định cao.

1.4 Phương ph*p nghiên cứu. Để hoàn thành đề tài "Xây dựng website đặt lịch, bán thú cưng và đồ chăm sóc thú cưng," các phương pháp nghiên cứu chính được áp dụng như sau:

Phương pháp nghiên cứu tài liệu bao gồm việc thu thập và phân tích các tài liệu, bài viết liên quan đến xây dựng và phát triển hệ thống thương mại điện tử Các mô hình thiết kế website bán hàng, cùng với hệ thống quản lý sản phẩm và dịch vụ chăm sóc thú cưng, sẽ được tham khảo để lựa chọn những phương pháp phù hợp cho ứng dụng Bên cạnh đó, việc nghiên cứu các giải pháp bảo mật và quản lý dữ liệu cũng rất quan trọng nhằm đảm bảo tính bảo mật và hiệu quả cho hệ thống.

Phương pháp phân tích hệ thống bao gồm việc khảo sát và thu thập thông tin để xác định các yêu cầu của người dùng, từ đó xây dựng mô hình use case cho các chức năng chính Phân tích này cũng tập trung vào các thành phần chức năng của hệ thống, bao gồm quản lý sản phẩm, giỏ hàng, đặt lịch chăm sóc và quản lý người dùng.

Phương pháp thiết kế và phát triển phần mềm bao gồm việc thiết kế giao diện bằng các công cụ như Figma hoặc Adobe XD để nâng cao trải nghiệm người dùng (UX) Đối với phát triển website, các công nghệ hiện đại như React hoặc Next.js được sử dụng cho giao diện, trong khi Node.js và Express xây dựng backend, và MongoDB là cơ sở dữ liệu chính Cuối cùng, kiểm thử phần mềm được thực hiện thông qua các kỹ thuật kiểm thử đơn vị và kiểm thử tích hợp nhằm đảm bảo hệ thống hoạt động ổn định và chính xác.

Để đảm bảo tính tương thích và ổn định của hệ thống, cần tiến hành thử nghiệm trên nhiều thiết bị và trình duyệt khác nhau Bên cạnh đó, việc thu thập phản hồi từ người dùng thử nghiệm là rất quan trọng nhằm cải tiến và hoàn thiện hệ thống trước khi triển khai chính thức.

Phương pháp nghiên cứu

2.1 Gi1i thiệu về nền tảng chia sẽ chuyến đi

Nền tảng chia sẻ chuyến đi trực tuyến là mô hình dịch vụ dựa trên ứng dụng di động hoặc website, cho phép người dùng tìm kiếm, đặt và chia sẻ chuyến đi giữa các cá nhân Dịch vụ này kết nối tài xế với hành khách qua ứng dụng trực tuyến, giúp giảm chi phí di chuyển, tối ưu hóa lưu lượng giao thông và cung cấp dịch vụ vận chuyển linh hoạt, nhanh chóng Ngoài việc đáp ứng nhu cầu di chuyển, các nền tảng này còn cung cấp dịch vụ phụ trợ như giao hàng, gọi xe ôm và thanh toán trực tuyến.

Lý thuyết về nền tảng chia sẻ chuyến đi có thể chia thành các yếu tố sau:

Kinh tế chia sẻ là mô hình kinh tế tập trung vào việc chia sẻ tài nguyên chưa được khai thác, cho phép tài xế chia sẻ xe của họ với hành khách có nhu cầu di chuyển.

Nền tảng công nghệ được phát triển trên ứng dụng di động hoặc website, tích hợp các công nghệ như GPS, thanh toán điện tử và hệ thống đánh giá, nhằm kết nối tài xế và hành khách một cách an toàn và hiệu quả.

Mạng lưới kết nối là nền tảng chia sẻ chuyến đi, cho phép tài xế và hành khách dễ dàng tương tác, từ đó tạo ra một hệ sinh thái giao thông linh hoạt và tiết kiệm chi phí.

Các nền tảng chia sẻ dịch vụ tối ưu hóa tài nguyên và mang lại trải nghiệm tiện lợi cho người dùng Với sự phát triển không ngừng của công nghệ, xu hướng này sẽ tiếp tục mở rộng ra nhiều lĩnh vực, tạo cơ hội mới cho cộng đồng người dùng.

2.2 C*c chức năng và thành phần chính của nền tảng chia sẻ chuyến đi

Nền tảng chia sẻ chuyến đi là giải pháp phần mềm giúp doanh nghiệp quản lý và giám sát toàn bộ hoạt động đặt xe, bao gồm quản lý người dùng, theo dõi các chuyến đi và đánh giá dịch vụ.

CƠ SỞ LÝ THUYẾT

Công nghệ sử dụng

React.js là một thư viện mạnh mẽ để xây dựng giao diện người dùng, cho phép phát triển các component tái sử dụng, từ đó tối ưu hóa hiệu suất và quản lý trạng thái ứng dụng một cách dễ dàng Những ưu điểm này giúp nâng cao trải nghiệm người dùng và tăng cường khả năng bảo trì cho các dự án phát triển web.

 Cung cấp cách tiếp cận component-based, giúp dễ dàng tổ chức mã nguồn.

 Hỗ trợ Virtual DOM, giúp tăng tốc độ render và cải thiện hiệu suất.

 Có một cộng đồng ln và nhiều thư viện hỗ trợ.

Next.js là một framework mạnh mẽ cho React, cho phép xây dựng ứng dụng web với khả năng render phía server (SSR) và tạo trang tĩnh (SSG), mang lại hiệu suất cao và tối ưu hóa SEO Ưu điểm của Next.js bao gồm khả năng cải thiện tốc độ tải trang, hỗ trợ tối ưu hóa cho các công cụ tìm kiếm và dễ dàng triển khai các ứng dụng phức tạp.

 Cải thiện SEO nhờ vào khả năng render trang trưc khi gửi ti client.

 Hỗ trợ tự động phân chia mã (code splitting), giúp tối ưu hóa tải trang.

 Cung cấp các tính năng như routing tự động và tích hợp dễ dàng vi API.

MapBox can be effectively utilized with Next.js, a React framework, to develop web applications that support server-side rendering (SSR) and static site generation (SSG) This combination enhances performance and optimizes user experience, making it a powerful choice for modern web development.

 Tích hợp MapBox dễ dàng trong các ứng dụng Next.js, cho phép hiển thị bản đồ tương tác và các dịch vụ liên quan đến địa lý.

Khả năng render phía server (SSR) và tạo trang tĩnh (SSG) của Next.js đóng vai trò quan trọng trong việc cải thiện SEO, giúp tối ưu hóa quá trình lập chỉ mục nội dung trên trang web.

 Hiệu suất tốt hơn: Next.js hỗ trợ tự động phân chia mã (code splitting), giúp tải nhanh hơn và sử dụng hiệu quả tài nguyên.

Routing tự động giúp tổ chức và hiển thị các trang liên quan đến bản đồ một cách dễ dàng, cho phép người dùng xem nhiều địa điểm hoặc tuyến đường cùng lúc.

 Tích hợp API: Dễ dàng kết nối và sử dụng API của MapBox cho các tính năng như tìm kiếm địa điểm, chỉ đường, và lp bản đồ tùy chỉnh

- Material-UI: Sử dụng Material-UI (hiện tại gọi là MUI) để tạo giao diện người dùng đẹp mắt và thân thiện vi người dùng. o Ưu điểm:

 Cung Cung cấp một bộ thành phần UI phong phú và dễ dàng tùy chỉnh, giúp tăng tốc độ phát triển giao diện.

 Tuân theo nguyên tắc thiết kế Material của Google, mang lại trải nghiệm người dùng mượt mà và nhất quán.

 Hỗ trợ tính năng responsive, giúp giao diện hiển thị tốt trên các thiết bị khác nhau.

- WebSocket: Client sử dụng WebSocket để giao tiếp vi server. o Ưu điểm:

WebSocket cung cấp khả năng truyền nhận dữ liệu gần như tức thì giữa client và server, giúp nâng cao trải nghiệm người dùng với sự tương tác mượt mà hơn.

WebSocket duy trì một kết nối mở giữa client và server, cho phép việc trao đổi dữ liệu diễn ra liên tục mà không cần gửi yêu cầu mới qua HTTP cho từng sự kiện.

 Vì dữ liệu được truyền trực tiếp qua một kết nối mở, độ trễ trong giao tiếp giữa client và server được giảm đáng kể.

Spring Boot là một framework mạnh mẽ trong hệ sinh thái Java, cho phép xây dựng ứng dụng web và API một cách nhanh chóng và dễ dàng Với khả năng cấu hình tự động và hỗ trợ tích hợp linh hoạt với cơ sở dữ liệu cũng như các dịch vụ web, Spring Boot giúp đơn giản hóa quy trình phát triển và triển khai ứng dụng.

- Spring MVC: Được tích hợp trong Spring Boot, Spring MVC giúp xử lý các yêu cầu

HTTP hỗ trợ xây dựng các API RESTful hiệu quả, cung cấp công cụ mạnh mẽ cho việc tạo và quản lý controller, service và repository Điều này giúp tổ chức mã nguồn một cách rõ ràng, dễ dàng bảo trì và nâng cao hiệu suất phát triển ứng dụng.

API RESTful sử dụng kiến trúc REST để tối ưu hóa giao tiếp giữa front-end và back-end, mang lại hiệu quả cao trong việc xử lý dữ liệu Bằng cách áp dụng các phương thức HTTP như GET, POST, PUT và DELETE, API RESTful không chỉ giúp ứng dụng hoạt động linh hoạt mà còn dễ dàng mở rộng trong tương lai.

- JPA/Hibernate: Để kết nối và thao tác vi cơ sở dữ liệu, Spring Boot sử dụng JPA

Java Persistence API (JPA) và Hibernate là những công nghệ ORM nổi bật, cho phép việc lưu trữ và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ trở nên đơn giản và hiệu quả hơn.

- WebSocket: Để xử lý kết nối vi client, gửi dữ liệu thời gian thực đến client, nhận dữ liệu từ client để xử lý hoặc lưu trữ.

- MySQL: Sử dụng MySQL làm cơ sở dữ liệu quan hệ để lưu trữ thông tin

MySQL là một hệ quản trị cơ sở dữ liệu phổ biến và mạnh mẽ, lý tưởng cho các ứng dụng web nhờ khả năng quản lý dữ liệu hiệu quả Với cấu trúc dữ liệu quan hệ, MySQL lưu trữ dữ liệu trong các bảng, giúp dễ dàng quản lý và truy vấn thông tin có cấu trúc rõ ràng Hệ thống này cũng có khả năng mở rộng để xử lý lượng dữ liệu lớn thông qua các kỹ thuật như phân mảnh cơ sở dữ liệu và sao lưu Đặc biệt, MySQL nổi bật với hiệu suất cao, cho phép xử lý các truy vấn nhanh chóng nhờ vào việc tối ưu hóa chỉ mục và bộ nhớ đệm, phù hợp cho các ứng dụng yêu cầu tốc độ truy xuất cao và tính sẵn sàng của dữ liệu.

Sử dụng JavaMail API để gửi email từ ứng dụng là một giải pháp hiệu quả cho việc gửi thông báo như xác nhận đơn hàng, thông báo đặt lịch, hoặc cung cấp thông tin cho người dùng JavaMail là thư viện mạnh mẽ và linh hoạt, hỗ trợ nhiều giao thức khác nhau và cho phép tùy chỉnh cấu hình, giúp việc tích hợp chức năng gửi email vào ứng dụng Java trở nên dễ dàng hơn.

Sử dụng Git để quản lý mã nguồn là một phương pháp hiệu quả giúp theo dõi sự thay đổi trong quá trình phát triển phần mềm Git không chỉ hỗ trợ làm việc nhóm thông qua việc phân nhánh và quản lý phiên bản, mà còn giúp hợp nhất mã dễ dàng Ngoài ra, Git thường được tích hợp với các nền tảng như GitHub và GitLab, tạo điều kiện thuận lợi cho việc quản lý dự án một cách hiệu quả.

Kiểm thử API là một bước quan trọng trong phát triển phần mềm, và Postman là công cụ lý tưởng để thực hiện điều này Với giao diện thân thiện, Postman cho phép người dùng dễ dàng gửi yêu cầu HTTP và kiểm tra phản hồi từ server Việc sử dụng Postman giúp đảm bảo rằng API hoạt động đúng như mong đợi trước khi được triển khai vào thực tế.

PHÂN TÍCH HỆ THỐNG

Phân tích yêu cầu

Trong quá trình phát triển website "Xây dựng website Student Booking" các yêu cầu chức năng chính bao gồm:

Quản lý tài khoản người dùng cho phép người dùng thực hiện các thao tác như đăng nhập và đăng xuất Chức năng này bao gồm việc chỉnh sửa thông tin cá nhân, thay đổi mật khẩu và khôi phục mật khẩu khi cần thiết.

Người dùng có thể tìm kiếm, tạo và xem bài đăng chuyến xe qua các kênh tài xế và khách hàng Họ có khả năng tạo và chỉnh sửa bài đăng với thông tin như nơi đi, nơi đến, giờ xuất phát và số tiền cho chuyến xe Bài đăng sẽ hiển thị chi tiết về người đăng, địa điểm khởi hành và điểm đến, thời gian xuất phát cùng mức giá chuyến đi Ngoài ra, người dùng cũng có thể gửi yêu cầu đến các bài đăng chuyến xe từ cả hai kênh tài xế và khách hàng.

- Chức năng nhắn tin: o Người dùng có thể nhắn tin trực tiếp cho người gửi yêu cầu ti bài đăng hoặc người tạo bài đăng.

Người dùng có khả năng quản lý bài đăng của mình bằng cách chỉnh sửa thông tin như nơi đi, nơi đến, giờ xuất phát và số tiền cho chuyến xe Họ cũng có thể chấp nhận các yêu cầu gửi tới bài đăng, bao gồm thông tin về người gửi, nơi đi, nơi đến, giờ xuất phát và số tiền cho chuyến xe.

Người dùng có khả năng để lại đánh giá và bình luận sau mỗi chuyến xe, giúp chia sẻ trải nghiệm của mình Hệ thống sẽ quản lý các đánh giá này và công khai hiển thị trên trang cá nhân của người được đánh giá, tạo sự minh bạch và tin cậy cho cộng đồng.

Quản trị viên có quyền quản lý người dùng, chuyến đi, bài đăng và đánh giá trên website, bao gồm việc thêm, sửa đổi hoặc xóa người dùng và bài đăng Họ cũng có khả năng theo dõi các yêu cầu liên quan đến bài đăng, đảm bảo quản lý hiệu quả nội dung và trải nghiệm người dùng.

3.1.2 Yêu cầu phi chức năng

Các yêu cầu phi chức năng (Non-functional Requirements) của hệ thống " Xây dựng website Student Booking " bao gồm:

Hiệu năng của hệ thống rất quan trọng, với thời gian phản hồi khi tải trang không vượt quá 3 giây Hệ thống cần có khả năng xử lý đồng thời ít nhất 1000 yêu cầu từ người dùng trong giờ cao điểm mà không gây ra sự chậm trễ Bên cạnh đó, thời gian xử lý các thao tác hiện thông báo và yêu cầu tải cần diễn ra trong vòng 5 giây.

Độ tin cậy của hệ thống là yếu tố quan trọng, bao gồm khả năng phục hồi nhanh chóng sau sự cố như lỗi server, đảm bảo uptime tối thiểu 99,9% trong một tháng, và thực hiện sao lưu định kỳ dữ liệu của người dùng để tránh mất mát thông tin quan trọng.

Để đảm bảo tính bảo mật cho hệ thống, cần áp dụng các phương pháp hiện đại như xác thực JWT và OAuth cùng với việc phân quyền người dùng hợp lý Dữ liệu nhạy cảm như mật khẩu và thông tin cá nhân phải được mã hóa trước khi lưu trữ trong cơ sở dữ liệu Hệ thống cũng cần được bảo vệ khỏi các lỗ hổng bảo mật như SQL Injection, Cross-Site Scripting (XSS), và Cross-Site Request Forgery (CSRF) Đặc biệt, việc yêu cầu xác thực hai yếu tố (2FA) cho các thao tác quan trọng như thay đổi mật khẩu và thông tin tài khoản là cần thiết để tăng cường an ninh.

Khả năng sử dụng của website rất quan trọng, bao gồm giao diện người dùng thân thiện và dễ sử dụng, phù hợp với sinh viên từ nhiều khoa và năm học khác nhau Bên cạnh đó, tính tương thích đa thiết bị cũng cần được đảm bảo, giúp website hoạt động tốt trên các thiết bị di động, máy tính bảng và máy tính để bàn Cuối cùng, trải nghiệm người dùng (UX) phải mượt mà, dễ hiểu và không có nhiều bước thao tác phức tạp để người dùng cảm thấy thoải mái khi sử dụng.

Khả năng bảo trì (Maintainability) là yếu tố quan trọng trong phát triển phần mềm, bao gồm việc quản lý mã nguồn hiệu quả thông qua các công cụ kiểm soát phiên bản như Git, giúp dễ dàng theo dõi và sửa đổi mã Ngoài ra, tài liệu hệ thống cần được cung cấp đầy đủ và dễ hiểu, bao gồm kiến trúc hệ thống, API, và hướng dẫn sử dụng, để hỗ trợ đội ngũ phát triển và bảo trì trong quá trình làm việc.

Khả năng sử dụng của nền tảng được nâng cao với giao diện người dùng thân thiện và dễ hiểu, tương thích trên cả máy tính và thiết bị di động thông qua thiết kế responsive Nó hỗ trợ đa ngôn ngữ, tối ưu hóa trải nghiệm người dùng để việc tìm kiếm và mua sắm sản phẩm, cũng như đặt lịch dịch vụ trở nên thuận tiện hơn Bên cạnh đó, nền tảng cung cấp hướng dẫn sử dụng rõ ràng, giúp người dùng mới dễ dàng tiếp cận và sử dụng dịch vụ.

Để đảm bảo tuân thủ pháp lý, các tổ chức giáo dục cần chú ý đến việc bảo vệ dữ liệu cá nhân, đặc biệt là theo quy định của GDPR nếu có sinh viên quốc tế Họ cũng nên cung cấp chính sách bảo mật rõ ràng cho người dùng, bao gồm thông tin chi tiết về cách thức thu thập, sử dụng và bảo vệ thông tin cá nhân.

Đặc tả hệ thống

3.2.1 Đặc tả chức năng chính

Dưi đây là các chức năng chính của hệ thống website Student Booking:

Danh sách bài đăng chuyến xe bao gồm thông tin chi tiết về kênh tài xế và kênh khách hàng Mỗi bài đăng cung cấp các thông tin quan trọng như địa điểm đi, địa điểm đến, thời gian xuất phát và người đăng, giúp người dùng dễ dàng tìm kiếm và lựa chọn chuyến đi phù hợp.

Để tạo bài đăng cho chuyến xe, người dùng cần chọn địa điểm khởi hành và điểm đến cùng với thời gian xuất phát Bên cạnh đó, người dùng cũng có thể lựa chọn các yêu cầu phù hợp để gửi đến bài đăng mà họ cảm thấy thích hợp nhất.

Người dùng có thể dễ dàng đăng nhập và đăng xuất khỏi tài khoản của mình, đồng thời quản lý thông tin cá nhân một cách thuận tiện Ngoài ra, họ cũng có khả năng xem lại lịch sử các bài đăng đã tạo và các đánh giá phản hồi từ người khác về mình.

- Chức năng nhắn tin: o Người dùng có thể nhắn tin trực tiếp cho người gửi yêu cầu ti bài đăng hoặc người tạo bài đăng.

Người dùng có thể đánh giá và nhận xét về tài xế hoặc khách hàng sau khi kết thúc chuyến đi, giúp cải thiện chất lượng dịch vụ Bên cạnh đó, việc xem các đánh giá và nhận xét từ người khác về tài xế và khách hàng cũng cung cấp thông tin hữu ích, hỗ trợ người dùng đưa ra quyết định tốt hơn trong các chuyến đi tiếp theo.

Tìm kiếm nâng cao với bộ lọc giúp người dùng dễ dàng tìm bài đăng theo giờ Ngoài ra, chức năng tìm kiếm theo từ khóa cho phép người dùng nhanh chóng tìm thấy những bài viết phù hợp với nhu cầu của mình.

3.2.2 Đặc tả phi chức năng

- Hiệu suất (Performance) o Tốc độ tải trang: Website phải tải nhanh, vi thời gian phản hồi dưi

Hệ thống cho phép thực hiện hầu hết các thao tác chỉ trong 3 giây, bao gồm gửi yêu cầu, tạo bài đăng và đánh giá Với khả năng xử lý song song, hệ thống có thể xử lý nhiều yêu cầu đồng thời mà không ảnh hưởng đến hiệu suất, đảm bảo trải nghiệm người dùng mượt mà ngay cả khi lưu lượng truy cập cao.

Hệ thống cần có khả năng mở rộng theo cả chiều dọc và chiều ngang để đáp ứng nhu cầu tăng trưởng về người dùng và dữ liệu mà không làm giảm hiệu suất Đặc biệt, cơ sở dữ liệu phải có khả năng mở rộng linh hoạt khi số lượng sản phẩm, người dùng và lịch đặt dịch vụ gia tăng.

Bảo mật dữ liệu người dùng là ưu tiên hàng đầu, bao gồm việc bảo vệ thông tin cá nhân và thiết lập cơ chế xác thực mạnh mẽ như OAuth và JWT Hệ thống cần có quy trình phân quyền truy cập rõ ràng, chỉ cho phép người dùng truy cập vào các tính năng phù hợp với quyền hạn của họ Đồng thời, cần triển khai các biện pháp bảo vệ hiệu quả để chống lại các cuộc tấn công mạng, bao gồm SQL Injection, XSS (Cross-site scripting) và CSRF (Cross-site request forgery).

Khả năng chịu lỗi là yếu tố quan trọng trong hệ thống, cho phép xử lý lỗi một cách linh hoạt, đảm bảo rằng nếu một phần gặp sự cố, các phần còn lại vẫn hoạt động bình thường Để tăng cường tính ổn định, cần có cơ chế tự động sao lưu dữ liệu hàng ngày, giúp tránh mất mát thông tin trong trường hợp xảy ra sự cố.

Website cần đảm bảo khả năng tương thích đa nền tảng với các trình duyệt phổ biến như Chrome, Firefox, Safari và Microsoft Edge Đồng thời, website cũng phải hiển thị chính xác và hoạt động mượt mà trên mọi thiết bị, bao gồm máy tính, máy tính bảng và điện thoại di động, đáp ứng đầy đủ các tiêu chí của Responsive Web Design.

Khả năng bảo trì (Maintainability) là yếu tố quan trọng trong thiết kế hệ thống, yêu cầu hệ thống phải dễ dàng cập nhật, mở rộng tính năng và khắc phục lỗi mà không làm ảnh hưởng đến toàn bộ hệ thống Để đạt được điều này, cấu trúc hệ thống cần rõ ràng và các thành phần nên được tách biệt theo mô hình MVC hoặc các mô hình tương tự, giúp quá trình bảo trì trở nên thuận lợi hơn.

Khả năng sử dụng của hệ thống là yếu tố quan trọng, với giao diện thân thiện và trực quan giúp người dùng dễ dàng tạo bài đăng mà không gặp phải thao tác phức tạp Hệ thống cũng cần tối ưu cho người dùng thông qua các tính năng như tự động hoàn thành, gợi ý sản phẩm và các chức năng tiện ích khác, nhằm nâng cao trải nghiệm sử dụng.

Khả năng đáp ứng (Availability) của hệ thống là rất quan trọng, với việc đảm bảo website hoạt động liên tục 24/7 Điều này giúp giảm thiểu thời gian downtime, cho phép người dùng truy cập và sử dụng dịch vụ mọi lúc, mọi nơi.

THIẾT KẾ HỆ THỐNG

Sơ đồ phân rã chức năng

Hình 4.3 Sơ đồ phân rã chức năng

Quản lý tài khoản người dùng bao gồm các chức năng quan trọng như đăng nhập vào tài khoản đã được cung cấp, cập nhật thông tin cá nhân và mật khẩu, xem lịch sử và chi tiết bài đăng, cũng như kiểm tra lịch sử và chi tiết các đánh giá đã nhận.

Quản lý bài đăng chuyến đi cho phép người dùng dễ dàng thêm, chỉnh sửa và xóa các bài đăng của mình Người dùng có thể chấp nhận hoặc từ chối các yêu cầu gửi đến bài đăng của họ Hệ thống cũng hỗ trợ tìm kiếm và lọc bài đăng theo địa điểm, giúp người dùng nhanh chóng tìm thấy thông tin cần thiết Ngoài ra, người dùng có thể xem chi tiết bài đăng để nắm rõ thông tin Đặc biệt, người dùng có khả năng gửi yêu cầu tham gia chuyến đi, sửa đổi hoặc hủy yêu cầu tham gia vào bài đăng một cách thuận tiện.

Khách hàng có thể đánh giá tài xế sau mỗi chuyến đi, trong khi tài xế cũng có khả năng đánh giá khách hàng Ngoài ra, người dùng có thể nhắn tin trực tiếp với nhau, tạo sự giao tiếp thuận tiện và nhanh chóng.

Hệ thống thông báo bao gồm ba loại chính: Thông báo chuyến đi, thông báo chấp nhận và thông báo tin nhắn Thông báo chuyến đi sẽ được gửi đến người đăng khi có yêu cầu gửi bài đăng Thông báo chấp nhận sẽ thông báo cho người gửi yêu cầu khi có chấp nhận từ người đăng bài Cuối cùng, thông báo tin nhắn sẽ được gửi khi có người gửi tin nhắn đến.

Hệ thống quản lý cho phép Admin thực hiện nhiều chức năng quan trọng, bao gồm quản lý người dùng bằng cách thêm, sửa và khóa tài khoản vi phạm Admin cũng có thể theo dõi các chuyến đi để đảm bảo an toàn và hiệu quả Ngoài ra, việc báo cáo và xử lý vi phạm từ người dùng được thực hiện một cách nghiêm túc, giúp duy trì trật tự trong hệ thống Cuối cùng, Admin có quyền quản lý đánh giá, cho phép sửa hoặc xóa những đánh giá không chính xác.

Sơ đồ Use Case

Hình 4.4 Sơ đồ use case tổng quát

Hình 4.5 Use case đăng nhập

- Mô tả: Use case cho admin hoặc user đăng nhập vào hệ thống

- Điều kiện: Admin hoặc user đăng nhập vào hệ thống

Khi người dùng đăng nhập đúng, hệ thống sẽ hiển thị thông báo xác nhận và chuyển hướng đến trang tương ứng: trang quản lý cho Admin và trang chủ cho User Ngược lại, nếu thông tin đăng nhập không chính xác, sẽ có thông báo lỗi xuất hiện.

4.2.2 Usecase quản lý đánh giá

Hình 4.6 Usecase Quản lý đánh giá

- Mô tả: Use case cho admin quản lý đánh giá của hệ thống

- Điều kiện: Admin đã đăng nhập vào hệ thống

Trong sự kiện này, các chức năng xóa và sửa các đánh giá được thực hiện Nếu quá trình thành công, danh sách đánh giá sẽ được cập nhật và hiển thị Ngược lại, nếu có lỗi xảy ra, hệ thống sẽ thông báo cho người dùng.

4.2.3 Usecase quản lý người dùng

Hình 4.7 Usecase Quản lý người dùng

- Mô tả: Use case cho admin quản lý người dùng

- Điều kiện: Admin đã đăng nhập vào hệ thống

- Sự kiện và kết quả: o Thực hiện các chức năng -> nếu thành công sẽ cập nhật và hiển thị lại danh sách người dùng o Nếu sai sẽ báo lỗi

4.2.4 Usecase quản lý danh sách yêu cầu

Hình 4.8 Use case quản lý các yêu cầu

- Mô tả: Use case cho admin quản lý danh sách yêu cầu

- Điều kiện: Admin đã đăng nhập vào hệ thống

- Sự kiện và kết quả: o Thực hiện các chức năng -> nếu thành công sẽ cập nhật và hiển thị lại danh sách yêu cầu o Nếu sai sẽ báo lỗi

4.2.5 Usecase quản lý danh sách chuyến đi

Hình 4.9 Use case quản lý chuyến đi

- Mô tả: Use case cho admin quản lý danh sách chuyến đi

- Điều kiện: Admin đã đăng nhập vào hệ thống

- Sự kiện và kết quả: o Thực hiện các chức năng -> nếu thành công sẽ cập nhật và hiển thị lại danh sách chuyến đi o Nếu sai sẽ báo lỗi

4.2.6 Usecase quản lý danh sách bài đăng

Hình 4.10 Use case quản lý bài đăng

- Mô tả: Use case cho admin quản lý danh sách bài đăng

- Điều kiện: Admin đã đăng nhập vào hệ thống

- Sự kiện và kết quả: o Thực hiện các chức năng -> nếu thành công sẽ cập nhật và hiển thị lại danh sách o Nếu sai sẽ báo lỗi

4.2.7 Usecase cập nhật thông tin cá nhân

Hình 4.9 Use case cập nhật thông tin cá nhân

- Mô tả: Use case cho User cập nhật thông tin cá nhân

- Điều kiện: User đã đăng nhập vào hệ thống

Để cập nhật thông tin cá nhân, người dùng cần nhấn lưu thay đổi Nếu quá trình cập nhật thành công, thông tin mới sẽ được hiển thị Ngược lại, nếu có lỗi, hệ thống sẽ thông báo cho người dùng.

4.2.8 Usecase gửi yêu cầu bài đăng

Hình 4.10 Use case gửi yêu cầu tới bài đăng

- Mô tả: Use case cho User gửi yêu cầu ti bài đăng

- Điều kiện: User đã đăng nhập vào hệ thống

Để thực hiện gửi yêu cầu, bạn cần chọn bài đăng, xác định địa điểm và giá tiền Sau khi hoàn tất, nhấn gửi yêu cầu Nếu quá trình thành công, bạn sẽ nhận được thông báo thành công; ngược lại, nếu có lỗi, hệ thống sẽ thông báo cho bạn biết.

4.2.9 Usecase chấp nhận yêu cầu bài đăng

Hình 4.11 Use case đặt lịch chăm sóc thú cưng

- Mô tả: Use case cho User chấp nhận yêu cầu bài đăng

- Điều kiện: User đã đăng nhập vào hệ thống

Trong sự kiện này, người dùng thực hiện việc chấp nhận yêu cầu bằng cách chọn yêu cầu cụ thể Sau đó, họ có thể nhắn tin trao đổi với người dùng khác nếu cần thiết Khi đã hoàn tất, người dùng chọn xác nhận yêu cầu Nếu quá trình diễn ra thành công, họ sẽ được chuyển đến chuyến đi; ngược lại, nếu có sai sót, hệ thống sẽ thông báo lỗi.

4.2.10 Usecase tìm kiếm bài đăng theo địa chỉ

Hình 4.12 Use case tra cứu thông tin sản phẩm

- Mô tả: Use case cho User tìm kiếm bài đăng theo địa chỉ

- Điều kiện: User đã đăng nhập vào hệ thống

Khi người dùng nhập địa chỉ cần tìm kiếm, hệ thống sẽ tiến hành truy vấn cơ sở dữ liệu để hiển thị các bài đăng tương ứng Nếu địa chỉ nhập vào không chính xác, hệ thống sẽ thông báo lỗi cho người dùng.

Hình 4.13 Use case đánh giá

- Mô tả: Use case cho User đánh giá

- Điều kiện: User đã đăng nhập và vừa hoàn thành chuyến đi

Để tham gia sự kiện đánh giá, người dùng cần hiển thị bảng đánh giá, nhập bình luận, chọn số sao và tải lên hình ảnh (nếu có) Sau đó, nhấn nút đánh giá hoặc tắt chế độ đánh giá nếu không muốn gửi Nếu quá trình đánh giá thành công, kết quả sẽ được hiển thị; ngược lại, nếu có lỗi xảy ra, hệ thống sẽ thông báo lỗi cho người dùng.

Sơ đồ tuần tự

4.3.1 Sơ đồ tuần tự đăng nhập

Hình 4.14 Sơ đồ tuần tự đăng nhập

4.3.2 Sơ đồ tuần tự quản lý đánh giá

Hình 4.15 Sơ đồ tuần tự quản lý đánh giá

4.3.3 Sơ đồ tuần tự quản lý người dùng

Hình 4.16 Sơ đồ tuần tự quản lý người dùng

4.3.4 Sơ đồ tuần tự quản lý yêu cầu

Hình 4.17 Sơ đồ tuần tự quản lý yêu cầu

4.3.5 Sơ đồ tuần tự quản lý chuyến đi

Hình 4.18 Sơ đồ tuần tự quản lí chuyến đi

4.3.6 Sơ đồ tuần tự quản lý bài đăng

Hình 4.19 Sơ đồ tuần tự quản lý bài đăng

4.3.7 Sơ đồ tuần tự cập nhật thông tin cá nhân

Hình 4.20 Sơ đồ tuần tự cập nhật thông tin cá nhân

4.3.8 Sơ đồ tuần tự gửi yêu cầu bài đăng

Hình 4.21 Sơ đồ tuần tự đặt mua sản phẩm

4.3.9 Sơ đồ tuần tự chấp nhận yêu cầu bài đăng

Hình 4.22 Sơ đồ tuần tự chấp nhận yêu cầu bài đăng

4.3.10.Sơ đồ tuần tự tra tìm kiếm đăng theo địa chỉ

Hình 4.11 Sơ đồ tuần tự tìm kiếm bài đăng theo địa chỉ

4.3.11.Sơ đồ tuần tự đánh giá

Hình 4.12 Sơ đồ tuần tự đánh giá

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

Hình 4.13 Sơ đồ cơ sở dữ liệu 4.4.1 Mô tả các colleciton

Tên Kiểu dữ liệu Mô tả

The user account information includes an object ID, username, email address, mobile number, password, and the account creation date Each user is identified by a unique object ID and has a designated username, while their email and mobile number facilitate communication The password ensures account security, and the date indicates when the account was created.

Avatar string URL của ảnh đại diện role string Vai trò của người dùng

(admin/user) isBlocked boolean Trạng thái tài khoản bị khóa

Address array Danh sách địa chỉ của người dùng

Voucher array Danh sách voucher của người dùng [0] voucherID objectId ID của voucher favoritePets array Danh sách thú cưng yêu thích

[0] petID objectId ID của thú cưng yêu thích favoriteProduct array Danh sách sản phẩm yêu thích

[0] productID string ID của sản phẩm yêu thích

CartForProduc t array Giỏ hàng sản phẩm phụ kiện

[0] prodID objectId ID của sản phẩm trong giỏ hàng

CartForPet array Giỏ hàng thú cưng

PetID objectId ID của thú cưng trong giỏ hàng

Tên Kiểu dữ liệu Mô tả

Tên Kiểu dữ liệu Mô tả

_id objectId Id category nameCate string Tên category

Tên Kiểu dữ liệu Mô tả

The product information includes an object ID for identification, the product name, and the URL for product images It features a short title for quick reference, the available quantity in stock, and the product price Additionally, there is a detailed description of the product, a category ID for classification, and an array of ratings to reflect customer reviews.

PostBy objectId ID người dùng đăng đánh giá

[1] name string Tên người dùng đăng đánh giá

[2] comment string Bình luận của người dùng

Tên Kiểu dữ liệu Mô tả

[3] star numeric Số sao đánh giá

[4] feedback_img string URL hình ảnh phản hồi từ người dùng

Tên Kiểu dữ liệu Mô tả

The voucher includes an object ID, a name, and a discount value represented as either a percentage or a fixed amount It also specifies exclusive conditions, such as a minimum spending requirement, and has an expiry date indicating when the voucher is no longer valid.

Tên Kiểu dữ liệu Mô tả

_id objectId ID của tin tức title string Tiêu đề firtsWord string Lời nói đầu content string Nội dung image string Hình ảnh tiêu đề

Tên Kiểu dữ liệu Mô tả

_id objectId ID của đoạn chat members array Danh sách thành viên

Tên Kiểu dữ liệu Mô tả

_id objectId ID của mess chatID objectId Id đoạn chat senderId string Id người gửi text string Nội dung

Tên Kiểu dữ liệu Mô tả

_id objectId ID nameSpecies string Tên loài

Tên Kiểu dữ liệu Mô tả

Tên Kiểu dữ liệu Mô tả nameBreed string Tên giống loài species objectId Id loài

The data structure for pet information includes various fields: "id" represents the unique identifier for each pet, while "nameProduct" specifies the pet's name The "breed" field links to the pet's breed ID, and "imgPet" contains the URL for the pet's image The pet's "age" is recorded as a numeric value, and "gender" indicates its sex A detailed "description" provides insights about the pet, and "price" reflects its cost Additional health-related fields include "vaccination" and "deworming" status, both numeric, while "quantity" denotes the available number of pets The "characteristic" field highlights unique traits, and the "sold" status indicates whether the pet has been sold Lastly, "rating" holds an array of reviews for the pet.

PostBy objectId ID người dùng đánh giá

[1] name string Tên người dùng đánh giá

[2] comment string Bình luận của người dùng

[3] star numeric Số sao đánh giá (từ 1 đến 5) [4] feedback_img string URL hình ảnh phản hồi từ người dùng

Tên Kiểu dữ liệu Mô tả

_id objectId ID nameService string Tên dịch vụ description string Mô tả price numeric Giá

Tên Kiểu dữ liệu Mô tả id objectId ID user objectId ID user pet array Thông tin thú cưng

[0] namePet string Tên của thú cưng

[1] imgPet string URL hình ảnh của thú cưng

[2] nameBreed string Giống của thú cưng

[3] age string Tuổi của thú cưng

[4] gender string Gii tính của thú cưng

The vaccination service includes an object ID representing the selected care service, a total price indicating the overall cost of the appointment, and a status that reflects the booking's current state, such as pending, completed, or canceled.

Tên Kiểu dữ liệu Mô tả

_id objectId ID của đơn hàng

Product objectId ID sản phẩm trong đơn hàng (nếu có)

The article outlines key details regarding an order, including the pet ID associated with the order, the total cost of the order, the current status of the order (which can be pending, confirmed, delivered, or canceled), and the ID of any discount coupon applied to the order.

Note string Ghi chú từ khách hàng

OrderBy objectId ID người đặt hàng

Mỗi người dùng (User ) có thể sở hữu nhiều voucher, với thông tin chi tiết được lưu trữ trong collection User Trong collection này, trường Voucher là một mảng chứa các voucherID, mỗi voucherID đóng vai trò là khóa ngoại liên kết đến collection Voucher.

- User - FavoritePets và FavoriteProduct o Quan hệ: Một User có thể có nhiều thú cưng và sản phẩm yêu thích. o Chi tiết:

 FavoritePets: Collection User chứa mảng favoritePets, mỗi phần tử có petID liên kết đến collection Pet.

 FavoriteProduct: Collection User chứa mảng favoriteProduct, mỗi phần tử có productID liên kết đến collection Product.

- User - CartForProduct và CartForPet o Quan hệ: Một User có thể có nhiều sản phẩm và thú cưng trong giỏ hàng. o Chi tiết:

 CartForProduct: Mảng chứa các prodID (ID sản phẩm) liên kết đến collection Product.

 CartForPet: Mảng chứa các PetID liên kết đến collection Pet.

- Product – Category: o Quan hệ: Mỗi Product thuộc về một Category. o Chi tiết: Trong collection Product, trường caterogy là một khóa ngoại liên kết đến collection Category.

- Pet – Breed: o Quan hệ: Mỗi Pet thuộc về một Breed (giống loài). o Chi tiết: Trong collection Pet, trường breed là một khóa ngoại liên kết đến collection Breed.

- Breed – Species o Quan hệ: Mỗi Breed thuộc về một Species (loài). o Chi tiết: Trong collection Breed, trường species là một khóa ngoại liên kết đến collection Species.

- Booking – TypeService o Quan hệ: Một Booking có thể chứa nhiều dịch vụ (TypeService). o Chi tiết: Trong collection Booking, có mảng services liên kết đến collection TypeService.

Mỗi đơn hàng (Order) có thể bao gồm nhiều sản phẩm (Product), thú cưng (Pet) và nhiều mã giảm giá (Coupon) Trong bộ sưu tập đơn hàng, các trường Product và Pet được liên kết với các sản phẩm và thú cưng tương ứng, trong khi trường coupon được kết nối với Voucher.

Một cuộc trò chuyện (Chat) có thể bao gồm nhiều thành viên (User ) Trong bộ sưu tập Chat, trường members là một mảng chứa các userID liên kết đến từng User.

Mỗi tin nhắn (Message) đều thuộc về một cuộc trò chuyện (Chat) cụ thể, với trường chatID trong bộ sưu tập Message liên kết trực tiếp đến Chat tương ứng.

Thiết kế giao diện người dùng

Hình 4.15 Giao diện trang chủ

Hình 4.16 Giao diện About Us

4.5.4 Giao diện Spa & Hotel Service

Hình 4.17 Giao diện Spa & Hotel Service

4.5.5 Giao diện trang tin tức

Hình 4.18 Giao diện trang tin tức

4.5.6 Giao diện trang bài viết

4.5.7 Giao diện trang Sản phẩm thú cưng

Hình 4.19 Giao diện trang sản phẩm thú cưng

4.5.8 Giao diện trang Tất cả loài Chó hoặc Mèo

Hình 4.20 Giao diện trang Tất cả loài Chó hoặc Mèo

4.5.9 Giao diện giỏ hàng và thanh toán

Ngày đăng: 07/01/2025, 16:17

HÌNH ẢNH LIÊN QUAN

Hình 3.1. Website Grab - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 3.1. Website Grab (Trang 20)
4.2. Sơ đồ Use Case. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.2. Sơ đồ Use Case (Trang 38)
4.3. Sơ đồ tuần tự. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3. Sơ đồ tuần tự (Trang 45)
4.3.1. Sơ đồ tuần tự đăng nhập. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3.1. Sơ đồ tuần tự đăng nhập (Trang 45)
Hình 4.16. Sơ đồ tuần tự quản lý người dùng - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.16. Sơ đồ tuần tự quản lý người dùng (Trang 46)
4.3.4. Sơ đồ tuần tự quản lý yêu cầu. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3.4. Sơ đồ tuần tự quản lý yêu cầu (Trang 46)
4.3.5. Sơ đồ tuần tự quản lý chuyến đi. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3.5. Sơ đồ tuần tự quản lý chuyến đi (Trang 47)
4.3.8. Sơ đồ tuần tự gửi yêu cầu bài đăng. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3.8. Sơ đồ tuần tự gửi yêu cầu bài đăng (Trang 48)
4.3.9. Sơ đồ tuần tự chấp nhận yêu cầu bài đăng. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
4.3.9. Sơ đồ tuần tự chấp nhận yêu cầu bài đăng (Trang 49)
Hình 4.13. Sơ đồ cơ sở dữ liệu 4.4.1. Mô tả các colleciton. - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.13. Sơ đồ cơ sở dữ liệu 4.4.1. Mô tả các colleciton (Trang 50)
Bảng 4.6. Collection Chat - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Bảng 4.6. Collection Chat (Trang 54)
Hình 4.15. Giao diện trang chủ - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.15. Giao diện trang chủ (Trang 61)
Hình 4.16. Giao diện About Us - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.16. Giao diện About Us (Trang 62)
Hình 4.17. Giao diện Spa & Hotel Service - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.17. Giao diện Spa & Hotel Service (Trang 63)
Hình 4.18. Giao diện trang tin tức - Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking
Hình 4.18. Giao diện trang tin tức (Trang 64)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm