You are on page 1of 14

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

BÁO CÁO BÀI TẬP LỚN

MÔN HỌC: LẬP TRÌNH PYTHON

CHỦ ĐỀ: PHÁT TRIỂN WEBSITE QUẢN LÍ KHÁCH SẠN

Giảng viên: Vũ Minh Mạnh

Nhóm thực hiện: 13

Sinh viên thực hiện: Vũ Quang Duy – B21DCCN303

Hoàng Gia Trí – B21DCCN

Đinh Tiến Công – B21DCCN183

Tạ Tiến Đạt – B21DCCN219

Hà Nội, 2023
MỞ ĐẦU

Trong thời đại số hóa hiện nay, công nghệ thông tin đã trở thành một yếu tố quan
trọng trong các ngành công nghiệp khác nhau, đặc biệt là trong lĩnh vực du lịch và khách
sạn. Việc sử dụng các công cụ và ứng dụng trực tuyến đã thúc đẩy sự phát triển và cải
thiện hiệu quả của các hoạt động quản lý khách sạn. Trong bối cảnh này, việc phát triển
một website quản lý khách sạn đóng vai trò quan trọng trong việc tăng cường sự tiện ích,
phục vụ khách hàng tốt hơn và nâng cao năng suất hoạt động của khách sạn.

Một website khách sạn đóng vai trò quan trọng trong việc nâng cao trải nghiệm
của khách hàng và tối ưu hóa hoạt động của khách sạn. Đầu tiên, nó cung cấp một kênh
trực tuyến để khách hàng tìm hiểu về khách sạn và đặt phòng một cách thuận tiện. Khách
hàng có thể dễ dàng truy cập vào thông tin chi tiết về vị trí, số lượng phòng, tiện nghi và
dịch vụ của khách sạn thông qua giao diện web. Đặc biệt, chức năng đặt phòng trực tuyến
cho phép khách hàng chọn ngày nhận phòng, số lượng khách và đặt phòng một cách
nhanh chóng và dễ dàng.

Bài báo cáo này hy vọng sẽ mang lại cái nhìn rõ nét về tầm quan trọng của công
nghệ trong việc cải thiện quản lý khách ạn và tạo ra những trải nghiệm khách hàng xuất
sắc.

Báo cáo này bao gồm các phần sau đây:

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

Chương II: Các chức năng của website quản lí khách sạn

Chương III: Kết luận


LỜI CẢM ƠN

Nhóm em xin phép được gửi sự tri ân sâu sắc và lời cảm ơn chân thành nhất đối
với các thầy cô giáo của khoa Công nghệ thông tin, Học viện Công nghệ Bưu chính Viễn
thông đã truyền đạt những tri thức quý báu cho chúng em trong suốt quá trình học tập tại
trường.

Trong quá trình nghiên cứu, tìm hiểu và làm bài báo cáo, vì kiến thức còn hạn chế,
khó tránh khỏi sai sót, rất mong thầy và mọi người thông cảm và bỏ qua. Nếu còn những
sai sót, nhóm em rất mong nhận được những ý kiến đóng góp từ thầy và các bạn.

Em xin chân thành cảm ơn!


PHÂN CÔNG THỰC HIỆN:

STT Tên thành viên Mã sinh viên Nội dung thực hiện

Viết code, nghiên cứu


giao diện trang
1 Hoàng Gia Trí B21DCCN
web(HTML,CSS), làm
báo cáo chương II .

Viết code, nghiên cứu


giao diện trang
2 Vũ Quang Duy B21DCCN303
web(HTML,CSS), làm
báo cáo chương II .

Viết code, nghiên cứu


giao diện trang
3 Tạ Tiến Đạt B21DCCN219
web(HTML,CSS), làm
báo cáo chương II .

Viết code, nghiên cứu


giao diện trang
4 Đinh Tiến Công B21DCCN183
web(HTML,CSS), làm
báo cáo chương II .
NHẬN XÉT

(Của giảng viên)

Điểm:

Nhận xét đánh giá:...............................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................

................................................................................................................................................
MỤC LỤC
DANH MỤC HÌNH ẢNH.................................................................................................7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.................................................................................8
1.1. Tổng quan về Django...............................................................................................8
1.1.1. Django là gì?.....................................................................................................8
1.1.1.1. Khái niệm...................................................................................................8
1.1.1.2. Tính chất....................................................................................................8
1.1.2. Sự phổ biến của Django..................................................................................10
1.1.3. Những ưu điểm và hạn chế của Django..........................................................11
1.1.3.1. Ưu điểm của Django...............................................................................11
1.1.3.2. Hạn chế của Django................................................................................12
1.2. Lý do sử dụng Django............................................................................................12
CHƯƠNG 2: CÁC CHỨC NĂNG CỦA WEBSITE QUẢN LÝ KHÁCH SẠN........13
2.1. Các chức năng của website quản lý khách sạn và phần code tương ứng...............13
2.2. Kết quả đạt được.....................................................................................................13
CHƯƠNG 3: KẾT LUẬN...............................................................................................14
3.1. Những điểm nổi bật của Website quản lý khách sạn..............................................14
3.2. Những mặt cần cải thiện.........................................................................................14
3.3. Bài học rút ra..........................................................................................................14

6
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Tổng quan về Django

1.1.1. Django là gì?

1.1.1.1. Khái niệm

 Django là một khung web Python cấp cao cho phép phát triển nhanh chóng các
trang web an toàn và có thể bảo trì. Được xây dựng bởi các nhà phát triển có kinh
nghiệm, Django giải quyết phần lớn những rắc rối khi phát triển web, vì vậy bạn
có thể tập trung vào việc viết ứng dụng của mình mà không cần phải phát minh lại
guồng quay. Nó là nguồn mở và miễn phí, có một cộng đồng phát triển và tích
cực, tài liệu tuyệt vời và nhiều tùy chọn hỗ trợ miễn phí và trả phí.
 Với độ phổ biến và cộng đồng hỗ trợ lớn, Django đã trở thành một trong những
framework phát triển ứng dụng web phổ biến nhất trong cộng đồng phát triển
Python.
 Thành phần của Django bao gồm các cài đặt cấu hình cơ sở dữ liệu, tùy chọn cụ
thể và các cài đặt cụ thể trong dự án. Trong đó:
o manage.py: Giúp người dùng tương tác với Django theo các cách khác
nhau.
o __init__.py: Được coi là một dạng python package, chủ yếu là trống.
o settings.py: Tập tin cấu hình.
o urls.py: Tổng hợp tất cả các khai báo URL của Django và mục lục của
website Django.
o wsgi.py: Lối vào cho server website tương thích WSGI để thao tác với dự
án của người dùng.

1.1.1.2. Tính chất

 Sử dụng ngôn ngữ Python

7
o Python được cho là một trong những ngôn ngữ lập trình dễ học nhất vì cấu
trúc khá đơn giản và cú pháp dễ dàng. Ngôn ngữ này rất linh hoạt để phát
triển các trang web, ứng dụng PC và ứng dụng di động được nhúng trong
nhiều thiết bị.
 Độ hoàn thành:
o Django tuân theo triết lý "Bao gồm pin" và cung cấp hầu hết mọi thứ mà
các nhà phát triển có thể muốn thực hiện "ngay lập tức".
o Mặc dù nó là một micro framework, nhưng Django cung cấp đầy đủ các
tính năng cần thiết để xây dựng ứng dụng web, bao gồm xử lý yêu cầu
HTTP, định tuyến (routing), xử lý biểu mẫu (forms), tương tác với cơ sở dữ
liệu và nhiều tính năng khác.
 Độ linh hoạt:
o Django có thể (và đã) được sử dụng để xây dựng hầu hết mọi loại trang
web - từ hệ thống quản lý nội dung và wiki, cho đến mạng xã hội và trang
tin tức. Nó có thể hoạt động với bất kỳ khung công tác phía máy khách nào
và có thể phân phối nội dung ở hầu hết mọi định dạng (bao gồm HTML,
nguồn cấp dữ liệu RSS, JSON và XML).
o Trong nội bộ, mặc dù nó cung cấp các lựa chọn cho hầu hết mọi chức năng
mà bạn có thể muốn (ví dụ: một số cơ sở dữ liệu phổ biến, công cụ tạo
khuôn mẫu, v.v.), nhưng nó cũng có thể được mở rộng để sử dụng các
thành phần khác nếu cần..
 Bảo mật:
o Django giúp các nhà phát triển tránh được nhiều lỗi bảo mật phổ biến bằng
cách cung cấp một khuôn khổ được thiết kế để "làm những điều đúng đắn"
nhằm bảo vệ trang web một cách tự động. Ví dụ: Django cung cấp một
cách an toàn để quản lý tài khoản và mật khẩu người dùng, tránh các lỗi
phổ biến như đưa thông tin phiên vào cookie ở nơi dễ bị tấn công (thay vào

8
đó cookie chỉ chứa khóa và dữ liệu thực tế được lưu trữ trong cơ sở dữ liệu)
hoặc lưu trữ mật khẩu trực tiếp thay vì băm mật khẩu.
o Django cho phép bảo vệ chống lại nhiều lỗ hổng theo mặc định, bao gồm
SQL SQL, tạo tập lệnh trên nhiều trang, giả mạo yêu cầu trên nhiều trang.
 Khả năng duy trì:
o Mã Django được viết bằng cách sử dụng các nguyên tắc và mẫu thiết kế
khuyến khích việc tạo mã có thể duy trì và tái sử dụng. Đặc biệt, nó sử
dụng nguyên tắc Don't Repeat Yourself (DRY) nên không có sự trùng lặp
không cần thiết, giảm số lượng mã. Django cũng thúc đẩy việc nhóm các
chức năng liên quan thành các "ứng dụng" có thể tái sử dụng và ở cấp độ
thấp hơn, nhóm mã liên quan thành các mô-đun (dọc theo dòng của mẫu
Model View Controller (MVC) ).
o Django cũng hỗ trợ các công cụ và thư viện phổ biến trong cộng đồng
Python để giúp quản lý và kiểm thử ứng dụng một cách hiệu quả.
 Khả năng mở rộng:
o Django sử dụng kiến trúc “không chia sẻ" dựa trên thành phần (mỗi phần
của kiến trúc độc lập với các phần khác và do đó có thể được thay thế hoặc
thay đổi nếu cần). Việc có sự tách biệt rõ ràng giữa các phần khác nhau có
nghĩa là nó có thể mở rộng quy mô để tăng lưu lượng truy cập bằng cách
thêm phần cứng ở bất kỳ cấp độ nào: máy chủ bộ nhớ đệm, máy chủ cơ sở
dữ liệu hoặc máy chủ ứng dụng. Một số trang web bận rộn nhất đã mở rộng
quy mô thành công Django để đáp ứng nhu cầu của họ (ví dụ: Instagram và
Disqus, chỉ nêu tên hai).

1.1.2. Sự phổ biến của Django

 Không có sẵn bất kỳ phép đo chính xác và sẵn có nào về mức độ phổ biến của các
khung công tác phía máy chủ (mặc dù bạn có thể ước tính mức độ phổ biến bằng
cách sử dụng các cơ chế như đếm số lượng dự án GitHub và câu hỏi

9
StackOverflow cho mỗi nền tảng). Một câu hỏi hay hơn là liệu Django có "đủ phổ
biến" để tránh các vấn đề về nền tảng không phổ biến hay không. Nó có tiếp tục
phát triển không? Bạn có thể nhận được sự giúp đỡ nếu bạn cần nó? Bạn có cơ hội
kiếm được việc làm được trả lương nếu học Django không?
 Dựa trên số lượng trang web nổi tiếng sử dụng Django, số người đóng góp cho cơ
sở mã và số người cung cấp cả hỗ trợ miễn phí và trả phí, thì đúng vậy, Django là
một framework phổ biến!
 Các trang web nổi tiếng sử dụng Django bao gồm: Disqus, Instagram, Knight
Foundation, MacArthur Foundation, Mozilla, National Geographic, Open
Knowledge Foundation, Pinterest và Open Stack

1.1.3. Những ưu điểm và hạn chế của Django

1.1.3.1. Ưu điểm của Django

 Tốc độ phát triển nhanh: Django cung cấp các công cụ, thư viện và mẫu mặc định
giúp bạn phát triển ứng dụng nhanh chóng. Điều này giảm thời gian và công sức
cần thiết cho việc xây dựng ứng dụng web.
 ORM mạnh mẽ: Django có một ORM tích hợp sẵn giúp bạn tương tác với cơ sở
dữ liệu một cách dễ dàng bằng Python, giảm phải viết truy vấn SQL trực tiếp.
 Bảo mật mạnh mẽ: Django được thiết kế với những tiêu chuẩn bảo mật cao và có
tích hợp các tính năng bảo mật như bảo vệ khỏi tấn công SQL injection, cross-site
scripting (XSS), và cross-site request forgery (CSRF).
 Quản lý người dùng và xác thực: Django cung cấp cơ chế xác thực và phân quyền
tích hợp sẵn, giúp bạn quản lý người dùng và kiểm soát quyền truy cập dễ dàng.
 Admin Interface: Django tạo ra một giao diện quản trị tự động dựa trên mô hình
dữ liệu của bạn, giúp bạn quản lý dữ liệu ứng dụng một cách dễ dàng.
 Cộng đồng đa dạng và tài liệu đa dạng: Django có một cộng đồng lớn, nhiều tài
liệu và nhiều gói mở rộng, giúp bạn giải quyết các vấn đề phức tạp và mở rộng
ứng dụng của mình.

10
1.1.3.2. Hạn chế của Django

 Cấu trúc cố định: Django áp đặt một cấu trúc dự án cố định, điều này có thể hạn
chế tính linh hoạt và tự do trong việc tổ chức dự án của bạn.
 Không phù hợp với những dự án nhỏ: Đối với các ứng dụng đơn giản hoặc dự án
nhỏ gọn, sử dụng Django có thể cảm thấy quá mạnh và phức tạp.
 Tự động hóa quá mức: Một số người thấy rằng Django tự động hóa quá mức, dẫn
đến việc mất kiểm soát về cách một số quy trình hoạt động.
 Tốc độ phản hồi chậm: Một số dự án cần tốc độ phản hồi cực kỳ nhanh có thể gặp
khó khăn khi sử dụng Django vì điều này đòi hỏi thời gian thực hiện các yêu cầu
xử lý của Django.

1.2. Lý do sử dụng Django

 Django – cũng như những công cụ lập trình sử dụng ngôn ngữ Python – được
đánh giá rất dễ làm quen, dễ sử dụng. Ngôn ngữ Python cũng được đa số các
trường đại học, cao đẳng lựa chọn để đào tạo. Do vậy, việc lập trình web bằng
Django khá đơn giản và chỉ mất một thời gian ngắn để làm quen.

 Django được lập trình với mô hình xác thực người dùng tối ưu, phù hợp với các
dự án cần có độ bảo mật cao. Đặc biệt, Django có nguồn Document tốt, tuân theo
nguyên tắc DRY và hỗ trợ ORM (Object Relational Mapping). Đây được coi là
các đặc điểm nổi trội của Django so với các Framework lập trình web khác.

11
CHƯƠNG 2: CÁC CHỨC NĂNG CỦA WEBSITE QUẢN LÝ KHÁCH SẠN
2.1. Các chức năng của website quản lý khách sạn và phần code tương ứng

 Log in và log out


 Lưu trữ thông tin khách hàng(tên đăng nhập và mật khẩu)
 Thêm booking phòng
 Hủy booking phòng
 Giao diện mô tả
 Giao diện liên hệ

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

Sau khi phát triển một số chức năng cho website quản lý khách sạn bằng Django, nhà bán
hàng đã đạt được các kết quả sau:

 Khách hàng có thể dễ dàng thêm, hủy booking một cách dễ dàng.
 Khách hàng có thể xem lại những sản phẩm đã chọn trong giỏ hàng và tổng giá trị
của cả giỏ hàng.
 Trải nghiệm tham khảo sản phẩm của khách hàng được cải thiện.
 Tạo sự hứng thú của khách hàng đối với khách sạn
 Tăng số lượng khách hàng truy cập vào website, dẫn đến tăng năng suất của khách
sạn.

12
CHƯƠNG 3: KẾT LUẬN

3.1. Những điểm nổi bật của Website quản lý khách sạn

 Website tương đối hoàn chỉnh về giao diện..


 Cơ bản đầy đủ các tính năng giúp quản lý 1 khách sạn.
 Hình ảnh, tính năng linh hoạt giúp cho người dùng có thể dễ dàng trong việc tiếp
cận, sử dụng website.
 Cung cấp giao diện dễ quản trị dễ sử dụng cho nhân viên khách sạn để quản lý đặt
phòng, tình trạng phòng, giá cả và khách hàng.

3.2. Những mặt cần cải thiện

 Website còn sơ sài, cần cải thiện nhiều tính năng hơn nữa để hoàn thiện hơn trở
thành website đáng tin cậy cho người dùng.
 Website chỉ mang tính chất mô phỏng.
 Cần thêm phần gửi thông báo đến khách hàng về đặt phòng, thay đổi lịch trình,
các dịch vụ khách sạn thông qua email hoặc tin nhắn.
 Có thể thêm phần đánh giá của khách hàng sau khi trải nghiệm.

3.3. Bài học rút ra

 Cần tìm hiểu, nghiên cứu kỹ hơn về hệ quản trị khách sạn
 Viết code khoa học, tối ưu hơn
 Đã có thêm kiến thức làm dự án liên quan đến tạo một trang web nhỏ.
 Phần nào cơ bản hiểu được về các ngôn ngữ lập trình khác như HTML, CSS,...

13
TÀI LIỆU THAM KHẢO
https://www.w3schools.com

https://topdev.vn/blog/lap-trinh-web-voi-python

https://realpython.com

https://sourcecodec.net

Link code:

14

You might also like