Đồ Án HCMUTE: Xây Dựng Trang Website Đặt Phòng Khách Sạn

Khám phá đồ án HCMUTE về xây dựng trang website đặt phòng khách sạn, cung cấp giải pháp tiện ích cho người dùng và quản lý hiệu quả.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2020

95
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: LÝ DO CHỌN ĐỀ TÀI

1.1. Khảo sát hiện trạng

1.2. Trang web https://www.com/ Vinpearl là thương hiệu dịch vụ du lịch nghỉ dưỡng – giải trí lớn nhất Việt Nam

1.3. Trang web https://www.com/ Sixsense là một thương hiệu nổi tiếng trong lĩnh vực kinh doanh khách sạn, khu nghỉ dưỡng cao cấp

1.4. Mục tiêu đề tài

2. CHƯƠNG 2: TỔNG QUAN VỀ REST VÀ RESTFUL API

2.1. Khái niệm API (Application Programming Interface)

2.2. Thiết kế REST API

2.3. Kiến trúc client-server của REST

2.4. Ví dụ về cách thức phân lớp hệ thống trong REST

2.5. Cách thức hoạt động

2.6. Ưu điểm

3. CHƯƠNG 3: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

3.1. Yêu cầu người dùng

3.2. Yêu cầu hệ thống

3.3. Các tác nhân trong hệ thống

3.4. Chức năng của các tác nhân

3.5. Đặc tả usecase của các tính năng nổi bật

4. CHƯƠNG 4: THIẾT KẾ HỆ THỐNG

4.1. Thiết kế dữ liệu

4.1.1. Mô hình ERD

4.1.2. Mô tả các bảng

4.2. Kiến trúc hệ thống

4.3. Thiết kế xử lí

4.3.1. Class Diagram của đối tượng booking

4.4. Thiết kế giao diện

4.4.1. Screen flow giao diện phía người dùng là guest

4.4.2. Screen flow giao diện người dùng user

4.4.3. Screen flow giao diện người dùng Admin

4.4.4. Screen flow giao diện người dùng employee

4.4.5. Giao diện quản lí của Admin

4.4.6. Giao diện phía người dùng

4.5. Cài đặt môi trường cần thiết

4.6. Cài đặt source code phía front-end

4.7. Cài đặt source code phía back-end

5. CHƯƠNG 5: TRIỂN KHAI VÀ KIỂM THỬ

6. CHƯƠNG 6: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN

6.1. Kết quả đạt được

6.2. Định hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Xây dựng Website Đặt Phòng Khách sạn

Đề tài xây dựng website đặt phòng khách sạn tại HCMUTE tập trung vào việc phát triển một hệ thống đặt phòng trực tuyến. Đây là một dự án thực tế, ứng dụng kiến thức về lập trình web và quản lý dữ liệu. Dự án sử dụng Vuejs version 2Spring Restful API, hai công nghệ phổ biến trong phát triển web hiện đại. Mục tiêu chính là tạo ra một website thân thiện với người dùng, hiệu quả và dễ mở rộng. Các chức năng chính bao gồm tìm kiếm phòng, đặt phòng online, thanh toán trực tuyến, và quản lý thông tin khách sạn. Website đặt phòng khách sạn này giải quyết nhu cầu đặt phòng trực tuyến, mang lại sự tiện lợi cho cả khách hàng và chủ khách sạn.

1.1 Phân tích Yêu cầu Hệ thống

Phần này tập trung vào việc phân tích yêu cầu của hệ thống. Yêu cầu người dùng bao gồm khả năng tìm kiếm, lọc và đặt phòng một cách dễ dàng. Yêu cầu hệ thống bao gồm khả năng xử lý một lượng lớn dữ liệu, bảo mật thông tin người dùng và đảm bảo tính ổn định của hệ thống. Hệ thống đặt phòng khách sạn cần đáp ứng được các yêu cầu về hiệu năng, khả năng mở rộng và bảo mật. Việc thiết kế hệ thống cần tuân thủ các nguyên tắc kiến trúc phần mềm để đảm bảo tính maintainability và scalability. Các use case quan trọng được mô tả chi tiết, bao gồm quy trình đặt phòng, quản lý tài khoản, và quản lý thông tin khách sạn. Giải pháp đặt phòng khách sạn online cần được thiết kế để tối ưu trải nghiệm người dùng.

1.2 Thiết kế và Phát triển Website

Phần này đề cập đến thiết kế website đặt phòng khách sạn. Thiết kế giao diện chú trọng đến sự thân thiện, trực quan và dễ sử dụng. Lập trình website đặt phòng khách sạn sử dụng Vuejs version 2 cho frontend và Spring Restful API cho backend. Tích hợp thanh toán online là một chức năng quan trọng cần được triển khai. Thiết kế dữ liệu đảm bảo tính nhất quán và hiệu quả trong quản lý thông tin. Mô hình ERD được sử dụng để thể hiện mối quan hệ giữa các bảng dữ liệu. Phát triển website tuân thủ các nguyên tắc lập trình hướng đối tượng và các chuẩn mực về code quality. Phần mềm đặt phòng khách sạn HCMUTE này cần được tối ưu về hiệu năng và bảo mật.

1.3 Kiểm thử và Triển khai

Phần này mô tả quá trình kiểm thử website. Các test case được thiết kế để kiểm tra chức năng, hiệu năng và bảo mật của hệ thống. Triển khai website lên môi trường server được thực hiện sau khi quá trình kiểm thử hoàn tất. Website quản lý đặt phòng khách sạn cần trải qua quá trình kiểm thử kỹ lưỡng để đảm bảo chất lượng trước khi được triển khai. Việc sử dụng các công cụ kiểm thử tự động giúp tăng hiệu quả và độ chính xác của quá trình kiểm thử. Quản lý dự án được thực hiện theo phương pháp Agile để đảm bảo tính linh hoạt và đáp ứng kịp thời các thay đổi trong quá trình phát triển.

II. Ứng dụng Công nghệ

Đề tài này ứng dụng nhiều công nghệ hiện đại. Vuejs version 2 được chọn cho frontend vì tính dễ sử dụng, hiệu năng cao và khả năng xây dựng giao diện người dùng phức tạp. Spring Restful API được sử dụng cho backend vì tính mạnh mẽ, linh hoạt và khả năng tích hợp với các hệ thống khác. Tích hợp thanh toán online sử dụng API của các nhà cung cấp dịch vụ thanh toán. Việc sử dụng các công nghệ này giúp đảm bảo chất lượng, hiệu năng và khả năng mở rộng của hệ thống. Phần mềm đặt phòng khách sạn cần được xây dựng trên nền tảng công nghệ hiện đại và đáng tin cậy.

2.1 Vue.js và Spring Framework

Vue.js đóng vai trò quan trọng trong việc xây dựng giao diện người dùng (UI) thân thiện và tương tác cao. Khả năng xử lý dữ liệu hiệu quả, tích hợp với các thư viện khác một cách dễ dàng là những ưu điểm nổi bật. Spring Framework, đặc biệt là Spring BootSpring MVC, cung cấp nền tảng vững chắc cho backend, xử lý logic nghiệp vụ, quản lý dữ liệu và tương tác với cơ sở dữ liệu. Sự kết hợp này mang lại hiệu quả cao trong việc phát triển web application. Framework VuejsSpring framework được lựa chọn vì tính mở rộng, khả năng bảo trì và cộng đồng hỗ trợ lớn.

2.2 Tối ưu hóa và Bảo mật

Việc tối ưu hóa website rất quan trọng để đảm bảo hiệu năng và trải nghiệm người dùng tốt. Điều này bao gồm tối ưu hóa code, sử dụng cache hiệu quả và tối ưu hóa cơ sở dữ liệu. Bảo mật website là yếu tố then chốt, cần được chú trọng trong suốt quá trình phát triển. Các biện pháp bảo mật bao gồm xác thực người dùng, mã hóa dữ liệu và phòng chống các cuộc tấn công. Website responsive đảm bảo khả năng hiển thị tốt trên nhiều thiết bị khác nhau. Website đặt phòng khách sạn giá rẻ có thể được tối ưu về chi phí vận hành và bảo trì.

III. Kết luận và Định hướng Phát triển

Đề tài xây dựng website đặt phòng khách sạn tại HCMUTE đã thành công trong việc xây dựng một hệ thống đặt phòng trực tuyến đáp ứng các yêu cầu cơ bản. Hệ thống này có thể được mở rộng thêm các chức năng trong tương lai, ví dụ như tích hợp với các hệ thống quản lý khách sạn khác, thêm các tính năng marketing và quảng cáo. Dự án website HCMUTE này là một minh chứng cho khả năng ứng dụng công nghệ thông tin vào giải quyết các vấn đề thực tiễn. Sinh viên HCMUTE đã tích lũy được kinh nghiệm quý báu trong quá trình thực hiện dự án.

3.1 Kết quả đạt được

Đề tài đã hoàn thành việc xây dựng một website đặt phòng khách sạn đầy đủ chức năng. Website đặt phòng khách sạn responsive hoạt động ổn định và đáp ứng được các yêu cầu của người dùng. Việc sử dụng Vuejs version 2Spring Restful API đã giúp tạo ra một hệ thống hiện đại và hiệu quả. Hệ thống đặt phòng khách sạn trực tuyến đã được kiểm thử kỹ lưỡng và đảm bảo chất lượng. Kinh nghiệm xây dựng website khách sạn đã được tích lũy và chia sẻ trong quá trình thực hiện đề tài. Dự án website đã đạt được các mục tiêu đề ra.

3.2 Định hướng phát triển

Website có thể được phát triển thêm nhiều tính năng. Tích hợp với các channel manager khách sạn giúp mở rộng khả năng tiếp cận khách hàng. SEO khách sạn HCMUTE cũng là một hướng phát triển quan trọng để tăng khả năng hiển thị trên công cụ tìm kiếm. Marketing khách sạn HCMUTE cần được triển khai để thu hút khách hàng. Thực tập HCMUTE này cung cấp kinh nghiệm thực tế cho sinh viên. Booking engine khách sạn có thể được nâng cấp để cải thiện hiệu năng và trải nghiệm người dùng. API đặt phòng khách sạn có thể được mở rộng để tích hợp với các hệ thống bên thứ ba.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan 9 do an Báo cáo đồ án tốt nghiệp Chương 2. Tổng quan về REST và RESTful API 2. Khái niệm API (Application Programming Interface) là một tập hợp các quy tắc, cơ chế mà dựa vào đó các ứng dụng có thể tương tác với nhau, cho phép kết nối giữa các ứng dụng, thực hiện thao tác truy xuất hoặc cập nhật dữ liệu. 1 Vị trí của API trong luồng giao tiếp của ứng dụng REST (Representational State Transfer) được giới thiệu lần đầu vào năm 2000 trong luận văn tiến sĩ của Thomas Fielding là hệ thống các ràng buộc (constraints), quy ước đối với một hệ thống.

RESTful API là sự vận dụng các tiêu chuẩn, ràng buộc REST vào trong việc thiết kế, xây dựng API để quản lí thao tác với các tài nguyên ứng dụng. 2 Thiết kế REST API Chương 2: Cơ sở lý thuyết 10 do an Báo cáo đồ án tốt nghiệp Khi một hệ thống đảm bảo các ràng buộc REST thì có thể gọi là RESTful. Các ràng buộc REST bao gồm: Kiến trúc client-server: Ứng dụng REST nên có kiến trúc Client-Server. Trong đó Client là nơi gửi yêu cầu thao tác với tài nguyên Server là nơi lưu trữ các tài nguyên.

Client và server sẽ được phát triển độc lập với nhau. Client không cần phải biết về business logic và Server không cần quan tâm đến giao diện người dùng. 3 Kiến trúc client-sever của REST Stateless (phi trạng thái): Server và client sẽ không lưu bất kì trạng thái nào của nhau trong phiên làm việc, điều này giúp máy chủ không phải duy trì, cập nhật các trạng thái làm việc. Mỗi request chứa đầy đủ thông tin (query params, header, URI).

Đây có thể sẽ là một hạn chế trong trường hợp client cần gửi một lượng lớn dữ liệu về server thì hệ thống sẽ tiêu tốn nhiều băng thông Cacheability (có khả năng cache): Các response có thể được lấy ra từ cache của server giúp giảm thiểu thời gian xử lý, để đảm bảo sự chính xác và tránh sự sai lệch do trùng lập của các response khi lấy từ cache thì các request tương ứng với từng response phải có tính duy nhất. Layered system (phân lớp hệ thống): Hệ thống được chia làm nhiều lớp (repository, service, controller), làm cho các thành phần trong hệ thống tách biệt nhau, dễ dàng mở rộng và phát triển hệ thống. Mỗi lớp chỉ tương tác với lớp ngay phía trên hoặc dưới nó. Chương 2: Cơ sở lý thuyết 11 do an Báo cáo đồ án tốt nghiệp Hình 2.

4 Ví dụ về cách thức phân lớp hệ thống trong REST Uniform interface (chuẩn hoá các interface): đây là ràng buộc mà quyết định sự khác biệt giữa REST API và non-REST API. Với ràng buộc này người thiết kế cần phải thiết kế cách giao tiếp giữa các ứng dụng theo một chuẩn nào đó sao cho dù là nền tảng web hay mobile đều có thể truy cập được. Chính vì việc có những quy ước chuẩn cho việc giao tiếp giữa các thành phần trong hệ thống đã giúp cho việc truy cập đến các tài nguyên trên server trở nên linh hoạt hơn. Từ đó mà có nhiều API được xây dựng dựa trên REST 2.

Cách thức hoạt động Request được gửi từ Client đến Server dưới dạng web URL như HTTP GET, POST, PUT, DELETE, … (tương ứng với thao tác CRUD, thêm, lấy, sửa, xóa dữ liệu). Sau đó Server sẽ trả về dữ liệu tương ứng dưới dạng HTML, XML, Image hoặc JSON. Hiện nay JSON là dạng dữ liệu trả về phổ biến trong thiết kế Web services. Chương 2: Cơ sở lý thuyết 12 do an Báo cáo đồ án tốt nghiệp Hình 2.

5 Cách thức hoạt động của REST API 2. Ưu điểm Hiệu năng (Performance): Sử dụng REST trong thiết kế giúp tăng hiệu năng của hệ thống. Tính khả biến (Modifiability): với các hệ thống cần thay đổi các tài nguyên liên tục, sử dụng REST với việc tạo request đơn giản sẽ giúp việc thực hiện các thay đổi trở nên đơn giản hơn. Tính mở rộng (Scalability): nhờ vào ràng buộc Layered system chi hệ thống thành nhiều lớp nhỏ giúp cho hệ thống dễ dàng mở rộng hơn Tính linh hoạt (Portability): việc chuẩn hoá interface (ràng buộc Uniform Interface) giúp hệ thống trở nên linh hoạt hơn, có thể sử dụng cho cho nhiều nền tảng khác nhau như mobile, web,.

Trong sáng (Visibility): Các request rõ ràng, dễ hiểu Đơn giản (Simplicity): cách thức xây dựng rất đơn giản Tính tin cậy (Realiability): khó để xảy ra lỗi trong giao tiếp giữa các thành phần trong hệ thống. Nhược điểm So với SOAP (Simple Object Access Protocol) thì API có phần kém hơn về độ bảo mật. Do ràng buộc Stateless nên các trạng thái của client và server không được lưu trữ trong trường hợp khối lượng thông tin phải truyền tải lớn hơn, gây tốn tài nguyên hệ thống. Chỉ hoạt động dựa trên giao thức HTTP.

Tổng quan về framework Vuejs 2. Giới thiệu về framework Vuejs Vue.js là một JavaScript framework bao gồm rất nhiều các công cụ tùy chọn khác nhau phục vụ cho việc xây dựng các giao diện tương tác với người dùng. Về mặt kĩ thuật Vuejs sử dụng mô hình MVVM (Model View View Model) và tập trung vào Chương 2: Cơ sở lý thuyết 13 do an Báo cáo đồ án tốt nghiệp lớp ViewModel của mẫu MVVM, kết nối View và Model thông qua các ràng buộc dữ liệu hai chiều các thao tác DOM thực tế và định dạng đầu ra được abstracted thành Directives và Filters. Với mục tiêu là cung cấp các cách thức kết nối với các API nhanh nhất có thể, Vuejs không hẳn là một framework đầy đủ mà được thiết kế để xây dựng nên một lớp view đơn giản và linh hoạt, thích hợp với các nhu cầu xây dựng phát triển giao diện nhanh.

6 Mô hình MVVM trong Vuejs 2. Ưu điểm của Vuejs Kích thước nhỏ gọn: tỷ lệ thành công của JavaScript framework sẽ phụ thuộc vào kích thước của nó. Kích thước càng nhỏ thì công năng sử dụng càng nhiều. Kích thước của vue.js framework là 18–21KB, người dùng sẽ không mất nhiều thời gian để tải xuống và sử dụng.

Dễ dàng để tìm hiểu và vận dụng vào việc phát triển ứng dụng. Nhờ cấu trúc đơn giản của vue.js, người dùng có thể dễ dàng thêm vuejs vào dự án website đang thực hiện của mình. Các ứng dụng có quy mô nhỏ cũng như quy mô lớn đều có thể được phát triển thông qua framework này. Cấu trúc của vuejs đơn giản giúp người dùng dễ dàng nhận biết và phát hiện lỗi trong trường hợp có vấn đề phát sinh trong code.

Tích hợp đơn giản: Vue.js cũng là framewoek được các web developer sử dụng khá phổ biến nhờ việc dễ dàng trong quá trình tích hợp với các ứng dụng hiện có. Sự tiện lợi này xuất phát từ Vue.js được xây dựng dựa trên JavaScript framework do đó có thể tích hợp được vào các ứng dụng xây dựng trên JavaScript tương đối đơn giản. Chương 2: Cơ sở lý thuyết 14 do an Báo cáo đồ án tốt nghiệp Tài liệu chi tiết: hệ thống tài liệu về Vue.js đầy đủ và toàn diện giúp cho người học dễ tìm hiểu và tiếp cận. Tính linh hoạt: Vue.js cho phép người dùng viết mẫu trong các tệp HTML.

Tính linh hoạt của Vue.js cũng giúp các developer phát triển React.js và bất kỳ JavaScript framework mới nào cảm thấy dễ hiểu khi tiếp cận. Giao tiếp 2 chiều (two ways binding): Vue.js cũng hỗ trợ việc giao tiếp hai chiều nhờ kiến trúc MVVM khá dễ dàng trong việc xử lý các HTML block. Nhược điểm của Vuejs Vuejs mặc dù có thể áp dụng vào các dự án lớn như không phù hợp. Vì thời gian ra đời có phần chậm hơn các framework khác như Reactjs nên mức độ phổ biến của Vuejs có phần kém hơn, cộng đồng cũng nhỏ hơn nên vấn đề tìm kiếm các sự hỗ trợ khi gặp vấn đề cũng gặp nhiều hạn chế.

Tổng quan về Spring Framework 2. Giới thiệu về Spring Framework Spring là một framework rất phổ biến đối với lập trình viên Java và được dùng rất nhiều trong việc xây dựng nên các ứng dụng bằng ngôn ngữ Java nói chung và ứng dụng Web nói riêng. Spring Framework có kích thước gọn nhẹ, có thể được dùng để xây dựng nên các ứng dụng có hiệu năng cao. Spring có các tính năng hỗ trợ nhà phát triển có thể thiết kế ứng dụng có tính tái sử dụng code cao, cũng như kiểm thử dễ dàng nhờ vào module Test của Spring.

Chương 2: Cơ sở lý thuyết 15 do an Báo cáo đồ án tốt nghiệp Hình 2. 7 Các modules và kiến trúc của Spring Framework 2. Ưu điểm của Spring Framework Spring Framework cung cấp, định nghĩa nên những template cho những công nghệ như JDBC, Hibernate, JPA để thao tác với cơ sở dữ liệu. Vì thế giảm đi lượng code cần viết một cách đáng kể do Spring đã lược bớt nhưng bước cơ bản của các công nghệ trên.

Spring Framework có tính loose coupling (liên kết lỏng lẻo) nhờ vào tính chất Dependecy Injection. Cũng nhờ vào tính chất này mà các ứng dụng Spring được phát triển nhanh chóng và dễ dàng kiểm thử hơn. Spring gọn nhẹ, Spring Framework không bắt buộc lập trình viên phải kế thừa bất kì lớp hoặc implement interface nào. Spring hỗ trợ cho nhà phát triển nhiều tính năng khác như: caching, validation, transactions, formatting,….

Chương 2: Cơ sở lý thuyết 16 do an Báo cáo đồ án tốt nghiệp 2. Spring Boot và Spring MVC Bảng 2. 1 So sánh Spring Boot và Spring MVC Spring Boot Spring MVC Spring Boot là một module của Spring Spring MVC là một framework web dựa giúp xây dựng và đóng gói ứng dụng dễ trên mô hình Model-View-Controller sử dàng. dụng Spring framework Cung cấp các cấu hình mặc định giúp dể Cung cấp các tính năng để xây dựng nên dàng khởi tạo nên một dự án sử dụng một ứng dụng web.

Spring framework Nhà phát triển không cần phải cấu hình Không cung cấp các cấu hình mặc định, thủ công nhà phát triển phải cấu hình thủ công Tốn ít thời gian để tạo và phát triển sản Cần nhiều thời gian hơn cho việc tạo và phẩm phát triển sản phẩm Tích hợp môi trường deploy bên ngoài Cần phải bắt buộc cài đặt và tích hợp môi là không bắt buộc vì Spring boot có tích trường deploy bên ngoài để chạy sản hợp sẵn một server apache để deploy phẩm ứng dụng  Run on Server (apache,…)  Run on Spring Boot App Chương 2: Cơ sở lý thuyết 17 do an Báo cáo đồ án tốt nghiệp Chương 3: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU 3. Yêu cầu người dùng Bảng 3.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Xây Dựng Website Đặt Phòng Khách Sạn Tại HCMUTE" cung cấp cái nhìn tổng quan về quy trình và các yếu tố cần thiết để xây dựng một website đặt phòng khách sạn hiệu quả. Tác giả nhấn mạnh tầm quan trọng của việc tối ưu hóa trải nghiệm người dùng, thiết kế giao diện thân thiện và tích hợp các tính năng như tìm kiếm phòng, đặt chỗ trực tuyến và thanh toán an toàn. Bài viết không chỉ giúp độc giả hiểu rõ hơn về cách thức hoạt động của một website đặt phòng mà còn chỉ ra những lợi ích mà nó mang lại cho cả khách hàng và chủ khách sạn, từ việc tăng cường khả năng tiếp cận đến việc nâng cao doanh thu.

Nếu bạn muốn mở rộng kiến thức về các công nghệ liên quan, hãy tham khảo bài viết Nghiên cứu xây dựng cloud storage và vpn trong điện toán đám mây sử dụng devstack luận văn thạc sĩ, nơi bạn có thể tìm hiểu về các giải pháp lưu trữ đám mây và bảo mật thông tin. Ngoài ra, bài viết Luận văn thạc sĩ kỹ thuật viễn thông phân loại chủ đề bản tin online sử dụng máy học sẽ giúp bạn nắm bắt cách phân loại thông tin trực tuyến, một kỹ năng hữu ích trong việc quản lý nội dung trên website. Cuối cùng, bài viết Luận văn thạc sĩ khoa học máy tính nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng sẽ cung cấp thêm thông tin về cách trích xuất dữ liệu từ hình ảnh, một yếu tố quan trọng trong việc tối ưu hóa nội dung trên website.