1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án tốt nghiệp xây dựng website đặt vé xem phim online

65 1 0

Đ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 đề Đồ Án Tốt Nghiệp Xây Dựng Website Đặt Vé Xem Phim Online
Tác giả Lê Thị Kim Thiên, Nguyễn Đỗ Hiền Anh
Người hướng dẫn ThS. Quách Anh Dũng
Trường học Trường Đại Học Văn Hiến
Chuyên ngành Kỹ Thuật – Công Nghệ
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 65
Dung lượng 2,97 MB

Nội dung

Trang 8 DANH MỤC HÌNH ẢNHHình 2.1: Mơ hình kiến trúc Docker...6Hình 2.2: Ưu và nhược điểm của Docker...8Hình 2.3: Firebase...13Hình 3.1: Biểu đồ phân rã chức năng...29Hình 3.2: Biểu đồ l

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VĂN HIẾN

KHOA KỸ THUẬT – CÔNG NGHỆ

-

 -ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE ĐẶT VÉ XEM

PHIM ONLINE GVHD: ThS QUÁCH ANH DŨNG SVTH: LÊ THỊ KIM THIÊN – 181A010147

NGUYỄN ĐỔ HIỀN ANH – 181A010139 LỚP: 181A01032

TP HỒ CHÍ MINH - 2022

Trang 2

MỤC LỤ

L I C M N Ờ Ả Ơ 1

DANH M C HÌNH NH Ụ Ả 3

KÍ HI U CÁC T VIẾẾT TẮẾT – THU T NG ANH – VI T Ệ Ừ Ậ Ữ Ệ 5

CH ƯƠ NG 1: T NG QUAN VẾỀ H THỐẾNG Ổ Ệ 2

1.1 M t sốố vấốn đềề đ t vé xem phim ộ ặ 2

1.2 M c đích và ý nghĩa c a đềề tài ụ ủ 2

1.2.1 M c đích ụ 2

1.2.2 Ý nghĩa 2

1.3 Gi i pháp ả 3

1.4 Mối tr ườ ng phát tri n ể 4

CH ƯƠ NG 2: CỐNG NGH S D NG Ệ Ử Ụ 5

2.1 T ng quan vềề Docker ổ 5

2.1.1 Khái ni m ệ 5

2.1.2 Kiềốn trúc c a Docker ủ 5

2.1.3 Các đ c tr ng c a Docker ặ ư ủ 7

2.1.4 Các u và nh ư ượ c đi m c a Docker ể ủ 8

2.1.5 Tri n khai PostgreSQL d ể ướ ạ i d ng Docker Container 11

2.2 Khái ni m vềề Firebase ệ 13

2.3 T ng quan vềề ReactJS ổ 15

CH ƯƠ NG 3: PHÂN TÍCH THIẾẾT KẾẾ H THỐẾNG Ệ 17

Trang 3

3.1 Ng ườ ử ụ i s d ng h thốống ệ 17

3.2 Yều cấều c a h thốống và giao di n c a web ủ ệ ệ ủ 17

3.2.1 Yều cấều c a h thốống ủ ệ 17

3.2.2 Yều cấều vềề giao di n web ệ 18

3.3 Đ c t yều cấều ng ặ ả ườ i dùng 18

3.3.1 Đốối v i khách xem ớ 18

3.3.2 Đốối v i khách hàng ớ 20

3.3.3 Đốối v i Admin ớ 22

3.4 Mố hình phấn rã ch c năng ứ 27

3.5 Bi u đốề luốềng d li u ể ữ ệ 29

3.5.1 Bi u đốề phấn m c ch c năng c a h thốống ể ứ ứ ủ ệ 31

3.6 Bi u đốề tuấền t bi u diềễn quá trình đ t vé ể ự ể ặ 35

3.7 Thiềốt kềố c s d li u ơ ở ữ ệ 36

3.7.1 Chi tềốt các b ng ả 36

3.7.2 Mố hình quan h c s d li u ệ ơ ở ữ ệ 40

CH ƯƠ NG 4: KẾẾT QU CÀI Đ T CH Ả Ặ ƯƠ NG TRÌNH 41

4.1 Ch c năng dành cho khách hàng ứ 41

4.2 Ch c năng dành cho qu tr viền ứ ả ị 46

4.3 Ki m th ể ử 50

4.3.1 Ki m th h p đen ể ử ộ 50

4.3.2 Ki m th t ể ử ươ ng thích 52

CH ƯƠ NG 5: CÁC GI I PHÁP VÀ ĐÓNG GÓP N I B T Ả Ổ Ậ 53

Trang 4

5.1 Đ t vấốn đềề ặ 53

5.2 Gi i pháp ả 53

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

6.1 Kềốt lu n ậ 54

6.2 H ướ ng phát tri n ể 54

TÀI LI U THAM KH O Ệ Ả 55

Trang 6

LỜI CẢM ƠN

Để hoàn thành được đề tài đồ án tốt nghiệp này, trước hết em gửi lời cảm ơn chân thành nhất đến các thầy cô giáo trong trường Đại học Văn Hiến nói chung, các thầy cô trong Khoa Công Nghệ Thông Tin nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập để em có được ngày hôm nay

Đặc biệt, em xin gửi lời cảm ơn chân thành về sự chỉ dạy, hướng dẫn tận tình của thầy Quách Anh Dũng, Trưởng bộ môn khoa Công Nghệ Thông Tin trong suốt thời gian thực hiện đồ án

Mặc dù trong quá trình làm đồ án em đã rất cố gắng tuy nhiên cũng không tránh khỏi những thiếu sót Em hy vọng rằng là sẽ nhận được những ý kiến nhận xét, góp ý của các thầy cô giáo về những vấn đề được triển khai trong bài báo cáo đồ án tốt nghiệp của

em được hoàn thiện và giúp em có thêm những kinh nghiệm quý báu

Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Văn Hiến nói chung, các thầy cô Khoa Công nghệ thông tin nói riêng luôn luôn dồi dào sức khỏe và thành công trong sự nghiệp giảng dạy cao quý

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

Tp Hồ Chí Minh, ngày tháng năm

Sinh viên thực hiệnLỜI CAM ĐOAN

Trang 7

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi, do tôi tự thực hiê ̣n, khôngsao chép, vay mượn từ các công trình nghiên cứu khoa học khác Đảm bảo mọi tài liệutham khảo đều được trích dẫn, ghi chú đầy đủ

Tp Hồ Chí Minh, ngày tháng năm

Sinh viên thực hiện

Trang 8

DANH MỤC HÌNH ẢNH

Hình 2.1: Mô hình kiến trúc Docker 6

Hình 2.2: Ưu và nhược điểm của Docker 8

Hình 2.3: Firebase 13

Hình 3.1: Biểu đồ phân rã chức năng 29

Hình 3.2: Biểu đồ luồng dữ liệu mức ngữ cảnh 31

Hình 3.3: Biểu đồ luồng dữ liệu mức ngữ đỉnh 32

Hình 3.4: Biểu đồ luồng dữ liệu mức 2 (chức năng xem thông tin) 32

Hình 3.5: Biểu đồ luồng dữ liệu mức 2 (chức năng xem đặt vé) 33

Hình 3.6: Biểu đồ luồng dữ liệu mức 2 (chức năng quản lý hệ thống) 33

Hình 3.7: Biểu đồ luồng dữ liệu mức 2 (chức năng tìm kiếm) 33

Hình 3.8: Biểu đồ luồng dữ liệu mức 3 (chức năng kiểm tra người dùng) 34

Hình 3.9: Biểu đồ luồng dữ liệu mức 3 (chức năng quản lý thành viên) 34

Hình 3.10: Biểu đồ luồng dữ liệu mức 3 (chức năng quản lý thông tin) 35

Hình 3.11: Biểu đồ tuần tự biểu diễn quá trình đặt vé 36

Hình 3.12-3.13: Mô hình quan hệ cơ sở dữ liệu 40

Hình 4.1: Giao diện trang chủ 41

Hình 4.2: Giao diện đăng ký tài khoản 41

Hình 4.3: Giao diện đăng nhập tài khoản 42

Hình 4.4: Giao diện xem nội dung phim 42

Hình 4.5: Giao diện xem demo phim 43

Hình 4.6: Giao diện lịch chiếu phim 43

Hình 4.7: Giao diện xem chỗ xem phim 44

Hình 4.8: Giao diện thanh toán 44

Hình 4.9: Giao diện đặt vé xem phim thành công 45

Hình 4.10: Giao diện phim đang chiếu 45

Hình 4.11: Giao diện phim sắp chiếu 46

Hình 4.12: Giao diện đăng nhập admin 46

Hình 4.13: Giao diện quản lý các phim đang chiếu 46

Trang 9

Hình 4.14: Giao diện quản lý khách hàng 47

Hình 4.15: Giao diện quản lý các rạp chiếu phim 47

Hình 4.16: Giao diện thêm phim chiếu rạp 47

Hình 4.17: Giao diện quản lý vé đã đặt 48

Hình 4.18: Giao diện lịch chiếu tại rạp phim 48

Hình 4.19: Giao diện doanh thu lợi nhuận 49

Trang 10

KÍ HIỆU CÁC TỪ VIẾT TẮT – THUẬT NGỮ ANH – VIỆT

Thuật ngữ/ Từ viết tắt Cụm từ đầy đủ Ý nghĩa

API Application Programming

Interface

Giao diện lập trình ứng dụng

APK Android Package Kit Gói ứng dụng Android

DOM Document Object Model Giao diện lập trình ứng dụng

CPU Central Processing Unit Bộ xử lý trung tâm

CI Continuous Integration Tích hợp liên tục

DOM Document Object Model Mô hình các đối tượng trong tài

liệu HTML

phát triển và sử dụng bởi các nhà phát triển để xây dựng các ứng dụng

GUI Graphical User Interface Giao diện đồ họa người dùng

Language

Ngôn ngữ đánh dấu siêu văn bản

IDE Integrated Development

Environment

Môi trường phát triển tích hợp

IE Internet Explorer Một trình duyệt web

một phần của chương trình

Trang 11

QA Quality Assurance Những công việc nhằm đảm bảo

chất lượng của quy trình phát triển một hệ thống phần mềm

SMS Short Message Services Giao thức truyền thông cho

SOC Endpoint Detection and

Response

Phát hiện và phản hồi điểm cuối

Test Script Test Script Kịch bản kiểm thử

Trang 12

LỜI NÓI ĐẦU

Trong thời đại ngày nay, cuộc cách mạng công nghiệp 4.0 đang phát triển mạnh

mẽ, công nghệ thông tin đang dần phục vụ nhu cầu của con người trong mọi lĩnh vực củađời sống và xã hội Hiện nay mọi công việc trước đây được làm trên giấy tờ thì nó dầndần được thay thế bởi các phần mềm hay các website nhằm mục đích dễ dàng cho người

sử dụng và thuận tiện hơn cho người quản lý, với sự phát triển của Internet như bây giờ,thì người dùng có thể dễ dàng truy cập vào website để thực hiện các công việc khác nhau

ở mọi lúc, mọi nơi Mà không cần trực tiếp đến tận nơi để đăng ký, giao dịch, muahàng…vì vậy việc tạo ra một website để phục vụ và đáp ứng nhu cầu của con người làmột việc rất cần thiết, giúp nhanh chóng, thuận tiện và dễ dàng hơn nữa còn tiết kiệmđược thời gian cũng như công sức trong thời đại công nghệ số này

Hiện nay, mọi nhu cầu về dịch vụ, thương mại mà trước đây chỉ giao dịch bằng tay,người dùng phải đến tận nơi để giao dịch hay đơn giản như việc mua vé xem phim, ngườidùng phải đến tận nơi để có thể mua vé, phải xếp hàng chờ đợi đến lượt để được mua vé,khách hàng còn phải mất thời gian để đứng ở bảng tin để chọn phim, với nhu cầu đó thìngày nay tất cả đã được đơn giản hóa bằng vài thao tác kích chuột

Vì những lý do trên, nên em đã chọn đề tài: “XÂY DỰNG WEBSITE XEM PHIM

HỖ TRỢ ĐẶT VÉ” nhằm đáp ứng nhu cầu và đem lại sự thuận tiện cho mọi người

Trang 13

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG1.1 Một số vấn đề đặt vé xem phim

Giả sử bạn muốn đi xem một bộ phim nhưng việc chờ đợi mua vé tại rạp lại khiếnbạn mất nhiều thời gian và đôi khi lại không như mong muốn vì có thể không chọn đượcxuất chiếu như ý Việc này khiến bạn chán nản và gây lười biếng khi nghĩ đến việc đi xemphim tại rạp Để khắc phục tình trạng này, em mang đến cho bạn giải pháp nhanh chóng

và tiện lợi, ngay từ bây giờ, bạn có thể ngồi ngay tại nhà, tại công ty, hay tại một nơi nào

đó và chỉ với 1 cú click chuột, bạn hoàn toàn có thể an tâm vì bạn đã có chỗ ngồi tại rạpchiếu phim và được xem bộ phim theo ngày và giờ chiếu bạn mong muốn

Ở Việt Nam, bây giờ có rất nhiều rạp chiếu phim như rạp chiếu phim quốc gia, rạpmegatar và có rấy nhiều chuỗi siêu thị có các rạp chiếu phim nhỏ Hình thức đặt vé onlinecòn khá mới mẻ chính vì vậy đây là thị trường đầy tiềm năng Hơn nữa, ngày nay ở ViệtNam, công nghệ thông tin được áp dụng rộng rãi và hiệu quả tới nhiều lĩnh vực hoạt độngcủa xã hội Với thực tế về phát triển công nghệ và thực tiễn ứng dụng ở Việt Nam, cùngvới sự quyết tâm của Đảng và Chính phủ trong định hướng thúc đẩy phát triển ứng dụngCông nghệ thông tin (CNTT) vào đời sống và nền kinh tế đã làm tăng cao tốc độ ứngdụng và số lượng người làm việc trực tiếp trên Internet Cùng với hạ tầng CNTT đã đượcđầu tư rất nhiều để sẵn sàng cho các ứng dụng tin học hóa Số lượng người thường xuyêntruy cập Internet để làm việc cập nhật và tìm kiếm thông tin ngày càng nhiều với tốc độtăng trưởng 48%/năm

1.2 Mục đích và ý nghĩa của đề tài

1.2.1 Mục đích

Xây dựng được website giúp các rạp phim có thể bán vé cũng như quản lý rạpmột cách tốt, thuận tiện và nhanh chóng hơn Ngoài ra, hệ thống cũng có thể giúp các bạnmuốn xem phim có thể ở nhà an tâm đặt vé, lựa chọn những bộ phim yêu thích với xuấtchiếu thích hợp

1.2.2 Ý nghĩa

Trang 14

Qua việc xây dựng website này, em có thể áp dụng những kiến thức được bồidưỡng trong quá trình học tập tại trường vào công việc thực tế Từ đó, em đã tích lũy chobản thân những kinh nghiệm quý báu mà sau này sẽ là nền tảng giúp cho việc lập nghiệpcủa bản thân.

Ngoài ra nếu website được tiếp tục hoàn thiện, mang vào áp dụng thực tế, em tin rằng sảnphẩm tạo thành sẽ giúp ích rất lớn cho các nhà quản lý rạp phim lẫn người đi xem

1.3 Giải pháp

Từ những thuận lợi trên, Website bán vé xem phim có hỗ trợ đặt vé online của em

ra đời với phương châm mang đến sự tiện lợi và hiện đại cho người tiêu dùng Việt Nam.Khi quyết định kinh doanh trên lĩnh vực này, em xác định việc cạnh tranh với nhữngthương hiệu nổi tiếng, đã tạo dựng được thương hiệu như Megastar, Rapphimquocgia… làrất khó

Để khắc phục được điều này và biến nó thành lợi thế cạnh tranh, Website em tạo ra

sự khác biệt: hướng tới một phân khúc thị trường nhỏ với đối tượng khách hàng là giớitrẻ, những bộ phim bom tấn cũng như các phim yêu thích sẽ được cập nhật thường xuyên,đón đầu xu hướng giới trẻ Đặc biệt em còn đưa ra những chiêu Marketing độc đáo,đường truyền nhanh và ổn định

Hệ thống website bao gồm những hoạt động chính sau:

 Đối với khách hàng:

 Xem và tìm kiếm danh sách các phim và các thông tin liên quan đếnphim

 Xem thông tin lịch chiếu phim

 Xem và tìm kiếm danh sách các sự kiện khuyến mãi đang và sắp cótại rạp phim

 Xem các câu hỏi thường gặp và câu trả lời

 Đăng ký thành viên

Trang 15

 Đặt vé, xem thông tin vé đã đặt

 Đối với người quản trị

 Cập nhập các thông tin cần thiết phim, nội dung phim, tin tức, sựkiện khuyến mãi

 Xuất vé

 Cập nhập thông tin khách hàng để có dịch vụ chăm sóc khách hàngtốt hơn

1.4 Môi trường phát triển

 Môi trường phát triển

 CPU: Intel Core I3 hoặc cao hơn

 RAM: Tối thiểu 1GB

 HDD: Dung lượng trống tối thiếu 20GB

 Môi trường phần mềm

 Hệ điều hành: Windows XP hoặc cao hơn

 Net Framework: Máy phải cài Net Framework 2.0 trở lên

 Công cụ phát triển: Visual Studio Code

Trang 16

CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG2.1 Tổng quan về Docker

2.1.1 Khái niệm

Docker là một nền tảng nguồn mở cung cấp cho người sử dụng những công cụ để

có thể đóng gói, vận chuyển và chạy container một cách đơn giản và dễ dàng trên các nềntảng khác nhau một cách nhanh nhất với tiêu chí - “Build once, run anywhere” Dockerthực hiện ảo hóa ở mức hệ điều hành Mỗi container là cô lập (isolated) với nhau nhưngđều dùng chung một số bin/lib và kernel của Host OS Docker có thể làm việc trên nhiềunền tảng khác nhau như Linux, Microsoft Windows và Apple OS X Ngoài ra, Docker còn

hỗ trợ nhiều dịch vụ điện toán đám mây nổi tiếng như Microsoft Azure hay Amazon WebServices

Docker hoạt động bằng cách chạy mã bằng cung cấp phương thức tiêu chuẩn Nógiống như cách máy ảo – ảo hóa phần cứng của máy chủ nhằm loại bỏ nhu cầu trực tiếpquản lý, lúc này các container sẽ ảo hóa hệ điều hành của máy chủ Khi được cài đặt trêntừng máy chủ, docker cung cấp các lệnh cơ bản để bạn có thể build, khởi tạo hay dừngcontainer

2.1.2 Kiến trúc của Docker

Docker là một ứng dụng client-server, có 2 phiên bản phổ biến:

Docker Community Edition (CE): là phiên bản miễn phí và chủ yếu dựa vào các

sản phẩm nguồn mở khác

Docker Enterprise (EE): phiên bản dành cho các doanh nghiệp, khi sử dụng

phiên bản này sẽ nhận được sự support của nhà phát hành, ngoài ra còn có thêm các tínhnăng quản lý và bảo mật

Trang 17

Hình 2.1: Mô hình kiến trúc Docker

Các thành phần của Docker Engine gồm có:

Docker Deamon: chạy trên host, đóng vai trò là server, nhận các RESTful request

từ Docker Client và thực thi nó Là một lightweight runtime giúp build, run và quản lý cáccontainers và các thành phần liên quan khác Docker Deamon quản lý 4 đối tượng chính:image, container, network, volume

Docker Client (CLI): cung cấp giao diện dòng lệnh (command line) cho người sử

dụng, đồng thời cũng gửi request đến Docker deamon

Sơ đồ minh họa các lệnh phổ biến của Docker client và mối quan hệ của Image,

Container, Network, Volume

Docker Registry: nơi lưu trữ Docker image Docker Hub là một registry công khai

mà bất cứ ai cũng có thể sử dụng và Docker được cấu hình để tìm kiếm image trên

Trang 18

Docker Hub theo mặc định Bạn thậm chí có thể chạy registry riêng Có hai loại registry

là public hoặc private registry

2.1.3 Các đặc trưng của Docker

Tiện lợi: Khi bạn được phân bổ vào dự án mới, bạn đọc file README, thấy dự

án hiện tại cần cài rất nhiều thứ, nào là ruby, rồi rails, redis, mysql, nginx, mỗi thứ lạiphải kèm theo version bao nhiêu, Bạn lên google search cách cài đặt, config những thứnày sẽ mất một khoảng thời gian khá lâu Chưa hết, có thể chưa cài xong đã conflic tùmlum, cái nọ xung đột cái kia chẳng hạn, lại còn ảnh hưởng tới những chương trình cũ đãcài đặt trong máy nữa chứ, thôi cài lại luôn cả hệ điều hành cho máy Thế là mất thời gian,mệt mỏi với nhưng thao tác phụ mà chưa tập trung được vào việc chính Nhưng vớidocker mọi thứ đơn gian hơn nhiều, chỉ vài dòng lệnh thôi, bạn sẽ có thể nhanh chóng tạođược môi trường ảo hóa chứa đầy đủ những cài đặt cần thiết cho project rồi

Dễ dàng sử dụng: Docker rất dễ cho mọi người sử dụng từ developers, systems

admins, architects…v…v nó tận dụng lợi thế của container để build, test nhanh chóng

Có thể đóng gói ứng dụng trên laptop của họ và chạy trên public cloud, privatecloud v.v… “Build once, run anywhere”

Tốc độ: Docker container rất nhẹ và nhanh, bạn có thể tạo và chạy docker

container trong vài giây so sánh với VMs thì mỗi lần chạy VMs cần rất nhiều thời giankhởi động

Khả năng di động: môi trường develop được dựng lên bằng docker có thể chuyển

từ người này sang người khác mà không làm thay đổi cấu hình ở trong

Chia sẻ: DockerHub là một “app store for docker images” Trên DockerHub có

hàng ngàn public images được tạo bởi cộng đồng Dễ dàng tìm thấy những image mà bạncần và chỉ cần pull về và sử dụng với một số sửa đổi nhỏ

Môi trường chạy và khả năng mở rộng: Bạn có thể chia nhỏ những chức năng

của ứng dụng thành các container riêng lẻ Ví dụng Database chạy trên một container và

Trang 19

Redis cache có thể chạy trên một container khác trong khi ứng dụng Node.js lại chạy trênmột cái khác nữa Với Docker, rất dễ để liên kết các container với nhau để tạo thành mộtứng dụng, làm cho nó dễ dàng scale,

2.1.4 Các ưu và nhược điểm của Docker

Hình 2.2: Ưu và nhược điểm của Docker

 Những service bên cạnh tạo nên ưu điểm cho Docker

Service chia sẻ image

Khi phát triển trên nhiều môi trường, bạn cần một service có thể chia sẻ image giúp bảo đảm tính đồng nhất

 Docker Hub: Service host và build image

o Pricing | Docker

 Google Container Registry: Service host image

o Giúp lưu image và tag vào Google Cloud Storage

o Chi phí sẽ bao gồm phí sử dụng Google Cloud Storage và lượng data truyền tải

o Do image sẽ được build bởi CI cho nên nếu các bạn chỉ muốn host mà thôi sẽ rất rẻ

Ngoài ra còn rất nhiều thứ khác nữa: Chọn Docker Register dựa trên việc nhìn thấu quá trình vận hành Production - Qiita

CI service

Trang 20

Vận dụng tính linh động, đây là những service test môi trường giống với môi trường của container được sử dụng khi phát triển.

 CircleCI : Docker support

oDo có hệ thống cache cho nên có thể cache image đã build và chỉ build khi có sự thay đổi

oFollow up version mới nhất

Service vận hành server của nhiều container

Service phát huy tính linh động để deploy image lên server và khởi động giúp ta

 Tutum : Service liên kết với các loại IaaS (Infra as a service), có thể build – deploy quản lý nhiều container

o Kể cả với các Iaas không liên kết đi chăng nữa, nó vẫn setup được cho ta bằng việc cài đặt thông tin login qua SSH

o Về chi phí sẽ phụ thuộc vào các IaaS Dịch vụ này cho tới ngày 14 tháng 1 năm

2016 vẫn đang miễn phí với bản β

o Việc setup rất đơn giản và công học cũng không nhiều

 Google Container Engine : Service setup Kubernetes tại Google Compute Engine

o Clustering (kỹ thuật tổng hợp nhiều server để nâng cao năng lực xử lý như một

hệ thống thống nhất, phòng tránh việc service bị ngừng) nhiều node thành 1 platform

o App tương tác với nhiều container dưới đơn vị pod, thực hiện replication , quản

lý xử lý chết, auto scaling, rolling update

o Do có thể deploy nhiều service trong cluster đã được cấu trúc, trong các trường hợp dựng nhiều service thì tuỳ lúc có thể giảm thiểu được chi phí

o Các thứ khác có lợi từ Google Cloud Platform

o Chi phí phụ thuộc vào giá của Google Compute Engine Nếu clustering quá 6 node sẽ phát sinh giá riêng

o Mất rất nhiều công để học nếu muốn vận hành thực tiễn

 Những hạn chế bởi nhược điẻm

Trang 21

Hiện tại, theo như em thấy nhược điểm duy nhất của docker là không thể chạy trựctiếp trên Windows và MAC OS Chính vì thế, khi các bạn sử dụng Docker trên Windowshay MAC OS thì Docker sẽ phải run một máy ảo linux rồi mới có thể thực thi được.

Bảng 2-1: Ưu và nhược điểm của Docker

– Gi l p môi trả ậ ường trên server dở ưới

máy local

– V i dockerớ ta có th gi l p hoàn toànể ả ậ

môi trường server dưới local m t cáchộ

hoàn h o mà không lo vi c lúc ch y demoả ệ ạ

thì được nh ng lúc xuấất lên server l i báoư ạ

– Docker thu n t n và đ n gi n cho cácậ ệ ơ ả

thành viên trong team trong vi c tm hi uệ ể

vêề môi trường h thôấng khi join vào dệ ự

án và nó giúp gi m đả ược quá n aử

document setup môi trường

– Test song song

– Bằềng cách t o ra nhiêều Container giôấngạ

nhau, ta có thể chia task ra cho chúng

th c hi n cùng 1 lúc seỗự ệ têất ki m đệ ược

th i gian và t n d ng đờ ậ ụ ược tài nguyên

– Nó không cung cấấp m t tùy ch n l uộ ọ ư

tr ữ– Theo dõi tôềi t ệ– Không có l p trình l i t đ ng các nútậ ạ ự ộkhông ho t đ ng.ạ ộ

– Các hành đ ng ph i độ ả ược th c hi nự ệtrong CLI

– Qu n lý th công nhiêều trả ủ ường h p.ợ– B n cấền hôỗ tr các công c khác.ạ ợ ụ– Tri n khai c m th công ph c t p.ể ụ ủ ứ ạ– Không hôỗ tr ki m tra s c kh e.ợ ể ứ ỏ– Docker là m t công ty ho t đ ng vì l iộ ạ ộ ợnhu n và m t sôấ thành phấền quan tr ngậ ộ ọ

c a nó, ch ng h n nh Docker Engine vàủ ẳ ạ ưDocker Desktop, không ph i là mã nguôềnả

m ở– Tôấn th i gian h c t p : ờ ọ ậ+ Đo n đấều (ch y 1 container) seỗ kháạ ạtho i mái và c m thấấy nh làm ch c thêấả ả ư ủ ả

gi i, tuy nhiên các b n seỗ nhanh chóngớ ạ

g p khá nhiêều vấấn đêề khi th c têấ áp d ngặ ự ụ

nó vào môi trường phát tri n, nh ng cấuể ữ

Trang 22

c a server.ủ

– Test app trên m t h điêều hành khácộ ệ

– Khi app c a b n đã ch y đủ ạ ạ ượ trênc

Ubuntu và b n muôấn xem th tnh tr ngạ ử ạ

c a nó trên CentOS hãy th dùngủ ử Docker

– Tính đôềng nhấất : Khi nhiêều người cùng

phát tri n trong cùng m t d án seỗ khôngể ộ ự

b s sai khác vêề m t môi trị ự ặ ường

– Đóng gói : Có th n môi trể ẩ ường bao

gôềm c app vào trong m t gói đả ộ ược g i làọ

container Có th test để ược các container

Vi c b hay t o l i container rấất dêỗ dàng.ệ ỏ ạ ạ

– Linh đ ng (tnh nhấất quán) : Có th testộ ể

container được dùng đ phát tri n bằềngể ể

CI Có th deploy container đã để ược test

bằềng CI lên server Có th scale containerể

đã được deploy

h i nh "đo n này làm thêấ nào nh ?", hayỏ ư ạ ỉ

"không biêất cài đ t bằềng cách nào thì tôấtặ

h n nh ?" seỗ xuấất hi n và đòi h i kiêấnơ ỉ ệ ỏ

th c chuyên sấu.ứ+ Trong m t đ i phát tri n không cấền tấấtộ ộ ể

c ph i có kiêấn th c chuyên sấu vêềả ả ứDocker, tuy nhiên ít nhấất cũng cấền m tộ

người nằấm v ng nh ng kiêấn th c đ cóữ ữ ứ ể

th gi i quyêất để ả ược vấấn đêề nêấu g p ph i.ặ ả– Công cấền thiêất đ biêất viêất code t i m tể ạ ộmôi trường gấền nh không kém h n soư ơ

v i phát tri n trên local.ớ ể

2.1.5 Triển khai PostgreSQL dưới dạng Docker Container

PostgreSQL, còn được gọi là Postgres, là hệ thống cơ sở dữ liệu quan hệ đối tượngchính Nó phổ biến do mức độ tuân thủ cao với tiêu chuẩn SQL và bao gồm các tính năng

bổ sung giúp làm việc dễ dàng hơn với các bộ dữ liệu quy mô lớn phức tạp

PostgreSQL sử dụng kiến trúc máy khách-máy chủ truyền thống, vì vậy bạn nênchạy nó độc lập với mã ứng dụng của bạn Trong hướng dẫn này, bạn sẽ triển khai mộtphiên bản máy chủ PostgreSQL làm vùng chứa Docker Điều này tránh thêm các gói vàomáy chủ của bạn và giúp cô lập cơ sở dữ liệu của bạn với các phần khác trong ngăn xếpcủa bạn Đảm bảo rằng Docker đã được cài đặt trước khi tiếp tục

Việc quyết định xem có chạy cơ sở dữ liệu trong Docker hay không có thể rất khókhăn Bộ chứa của PostgreSQL giúp thiết lập dễ dàng hơn, nhưng đôi khi khó bảo trì hơn

Trang 23

Bạn cần phải cẩn thận khi quản lý vùng chứa để tránh mất dữ liệu trong tương lai Dockercũng bổ sung chi phí hiệu suất khiêm tốn đáng xem xét khi bạn mong đợi cơ sở dữ liệulưu diễn hoạt động với khối lượng dữ liệu rất lớn.

Ưu điểm của Docker là tăng tính di động, dễ mở rộng và hiệu quả của nhà phát triển.Việc chứa cơ sở dữ liệu của bạn cho phép bất kỳ ai khởi chạy phiên bản mới bằng Docker

mà không cần cài đặt và định cấu hình PostgreSQL theo cách thủ công trước Do đó, viếtDockerfile cho cơ sở dữ liệu PostgreSQL của bạn để thêm tệp cấu hình của bạn và các tậplệnh khởi động SQL là một cách tốt để giúp các nhà phát triển bắt đầu môi trường mớimột cách nhanh chóng

PostgreSQL là một công cụ cơ sở dữ liệu dựa trên SQL nâng cao bổ sung các khảnăng quan hệ đối tượng Mặc dù bạn có thể chọn chạy triển khai truyền thống trong sảnxuất, nhưng việc sử dụng phiên bản được chứa trong vùng chứa sẽ đơn giản hóa việc thiếtlập và giúp các nhà phát triển nhanh chóng xây dựng cơ sở hạ tầng của riêng họ

Khía cạnh quan trọng nhất của triển khai Tài liệu hóa là đảm bảo rằng bạn sử dụng mộtlượng lớn để lưu trữ dữ liệu Điều này sẽ cho phép bạn dừng, thay thế và cập nhật vùngchứa lên phiên bản hình ảnh mới hơn mà không làm mất cơ sở dữ liệu của bạn Ngoàidung lượng lưu trữ, bạn nên xem xét cách bạn sẽ kết nối với Postgres và tránh ràng buộccác cổng với máy chủ của bạn trừ khi cần thiết Khi kết nối từ một vùng chứa khác, tốtnhất là sử dụng mạng Docker được chia sẻ để dễ truy cập

– Do không thu c quyêền qu n lý c a bấấtộ ả ủ

kỳ t ch c nào nên gấy khó khằn choổ ứ

người dùng khi muôấn têấp c n v i đấềy đậ ớ ủtnh nằng

– T p trung vào kh nằng tậ ả ương thích nênkhi th c hi n thay đ i đ c i thi n tôấc đự ệ ổ ể ả ệ ộnên seỗ yêu cấều nhiêều công vi c h n so v iệ ơ ớMySQL

Trang 24

tri n khai tùy theo nhu cấềuể

– Có kh nằng đôấi tả ượng hóa d li uữ ệ

Được hôỗ tr b i m t c ng đôềng đông đ oợ ở ộ ộ ả

và nhiêều kinh nghi mệ

– Gi m thi u vi c b o trì h thôấngả ể ệ ả ệ

– M t sôấ ng d ng nguôền m không hôỗộ ứ ụ ở

tr PostgreSQL dù có hôỗ tr MySQLợ ợ

Trang 25

Đồng bộ hóa trong thời gian thực giúp người dùng dễ dàng truy cập dữ liệu của họ

từ bất kỳ thiết bị nào, có thể là web hoặc thiết bị di động Cơ sở dữ liệu thời gian thựccũng giúp người dùng có khả năng cộng tác với nhau

Một lợi ích tuyệt vời khác của Cơ sở dữ liệu thời gian thực là nó chứa mobile vàweb SDKs, cho phép bạn tạo ứng dụng mà không cần máy chủ

Khi người dùng của bạn ngoại tuyến, Realtime Database SDKs sử dụng bộ nhớcache cục bộ trên thiết bị để phân phát và lưu trữ thay đổi Khi thiết bị trực tuyến, dữ liệucục bộ sẽ tự động được đồng bộ hóa

Realtime Database cũng có thể tích hợp với Firebase Authentication để cung cấpquy trình xác thực đơn giản và trực quan

mã, bao gồm cả các hoạt động phức tạp như hợp nhất tài khoản

Bạn có thể xác thực người dùng ứng dụng của bạn thông qua các phương pháp sau:

Trang 26

ReactJS là thư viện JavaScript được sử dụng để xây dựng các thành phần UI có thểtái sử dụng Theo tài liệu chính thức của React, sau đây là định nghĩa:

React là một thư viện để xây dựng giao diện người dùng có thể kết hợp Nó khuyếnkhích việc tạo ra các thành phần giao diện người dùng có thể tái sử dụng, hiển thị dữ liệuthay đổi theo thời gian Rất nhiều người sử dụng React làm V trong MVC React trừutượng hóa DOM khỏi bạn, cung cấp mô hình lập trình đơn giản hơn và hiệu suất tốthơn React cũng có thể hiển thị trên máy chủ bằng Node và nó có thể cung cấp nănglượng cho các ứng dụng gốc bằng React Native React triển khai luồng dữ liệu phản ứngmột chiều, điều này giúp giảm bớt phần soạn sẵn và dễ lý luận hơn so với ràng buộc dữliệu truyền thống

 Tính năng React

JSX – JSX là phần mở rộng cú pháp JavaScript Không nhất thiết

phải sử dụng JSX trong phát triển React, nhưng nó được khuyến khích

Các thành phần – React là tất cả về các thành phần Bạn cần nghĩ

mọi thứ như một thành phần Điều này sẽ giúp bạn duy trì mã khi làm việc trêncác dự án quy mô lớn hơn

Luồng dữ liệu một chiều và Flux – React triển khai luồng dữ liệu

một chiều giúp bạn dễ dàng suy luận về ứng dụng của bạn Flux là một mẫugiúp giữ dữ liệu của bạn không theo hướng

Giấy phép – React được cấp phép theo Facebook Inc Tài liệu được

cấp phép theo CC BY 4.0

 Ưu điểm của React

 Sử dụng DOM ảo là một đối tượng JavaScript Điều này sẽ cải thiệnhiệu suất ứng dụng, vì DOM ảo JavaScript nhanh hơn DOM thông thường

 Có thể được sử dụng trên máy khách và máy chủ cũng như với cáckhuôn khổ khác

 Các mẫu thành phần và dữ liệu cải thiện khả năng đọc, giúp duy trìcác ứng dụng lớn hơn

Trang 27

 Thiết lập môi trường

Trong chương này, em sẽ hướng dẫn bạn cách thiết lập một môi trường để pháttriển React thành công Lưu ý rằng có nhiều bước liên quan nhưng điều này sẽ giúp đẩy

nhanh quá trình phát triển sau này Em sẽ cần NodeJS, vì vậy nếu bạn chưa cài đặt nó,

hãy kiểm tra liên kết từ bảng sau

Sr.No Phần mềm & Mô tả

1 NodeJS và NPMNodeJS là nền tảng cần thiết để phát triển

ReactJS Kiểm tra Thiết lập Môi trường NodeJS

Sau khi cài đặt thành công NodeJS, ta có thể bắt đầu cài đặt React trên đó bằngnpm Bạn có thể cài đặt ReactJS theo hai cách

 Sử dụng webpack và babel.

Sử dụng lệnh create-react-app.

Trang 28

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG3.1 Người sử dụng hệ thống

Có 3 đối tượng sử dụng hệ thống là: nhà quản trị (Admin), thành viên và kháchxem

 Admin: là thành viên quản trị của hệ thống, có các quyền và chức năng như:quản lý tài khoản, quản lý phim, xử lý đặt vé, quản lý tin tức, quản lý sựkiện khuyến mãi

 Khách xem: là thành viên chưa có tài khoản, có chức năng như: đăng ký tàikhoản, xem và tìm kiếm thông tin phim, không có chức đặt vé, nếu kháchxem muốn đặt vé thì phải đăng nhập vào hệ thống

 Thành viên: là khách xem đã có tài khoản, có tất cả các chức năng củakhách xem và có thêm các chức năng khác như: đặt vé

3.2 Yêu cầu của hệ thống và giao diện của web

3.2.1 Yêu cầu của hệ thống

Hệ thống bán vé xem phim xây dựng trên cơ sở thõa mãn các yêu cầu sau:

 Hệ thống hướng tới nhiều đối tượng nên phải thiết kế đơn giãn, đẹp mắt và dễhiểu thuận tiện cho người mua để giảm bớt cảm giác phức tạp rắc rối cho họ.Tuy nhiên Thiết kế giao diện người sử dụng (HCI) vẫn phải đảm bảo các quytắc và tiêu chuẩn thiết kế, tạo sự thuận tiện và dễ dàng nhất cho người sử dụng

 Các chức năng phải được thực hiện một cách dễ dàng, nhanh chóng và chínhxác Đảm bảo các chức năng quan trọng nhất: đặt vé cho đối tượng muốn muavé

 Việc tìm kiếm, tra cứu thông tin về phim, lịch chiếu, thông tin giảm giá theomột đặc điểm nào đó phải được thực hiện một cách nhanh chóng và chính xác Sau khi tìm hiểu và khảo sát thực tế tại các rạp chiếu phim, em đã xác định các tácnhân sử dụng website như sau:

 Admin: Người quản lý hệ thống

 Khách xem: Khách chỉ xem website mà không đăng ký thành viên tại website

Trang 29

 Thành viên: Khách xem online và thực hiện đăng ký thành viên tại website thìtrở thành thành viên.

3.2.2 Yêu cầu về giao diện web

 Giao diện người dùng

 Website có giao diện ưa nhìn, có sự bố trí và phối hợp hài hòa giữa các màusắc và các thành phần trên website (Layout tốt)

 Các chức năng dễ sử dụng, tiện dụng

 Có sử dụng các thư viện JQuery để tạo hiệu ứng làm đẹp cho website

 Giao diện nhà quản lý

 Giao diện đơn giản, dễ quản lý

 Hiển thị được tất cả các danh mục quản lý

 Phải được bảo vệ bằng tài khoản và mật khẩu riêng của nhà quản trị

3.3 Đặc tả yêu cầu người dùng

3.3.1 Đối với khách xem

3.3.1.1 Chức năng đăng ký thành viên

Mô tả Để thực hiện chức năng mua hàng thì khách hàng cần phải đăng

nhập vào hệ thống Nếu chưa có tài khoản thì khách hàng cần phảiđăng ký thành viên

Đầu vào Nhập các thông tin đăng đăng ký với (*) là phần thông tin bắt

buộc

Xử lý Kiểm tra thông tin nhập, nếu thông tin chính xác sẽ lưu thông tin

vào CSDL và thêm thông tin của thành viên đó vào CDSL

Đầu ra Đưa ra thông báo thành công hoặc yêu cầu nhập lại nếu thông tin

không hợp lệ

3.3.1.2 Chức năng tìm kiếm thông tin phim

Mô tả Có 2 cách tìm kiếm thông tin sản phẩm:

Trang 30

-Tìm kiếm theo tên phim: khách hàng chọn phim cần tìm kếm-Tìm kiếm theo ngày chiếu:khách hàng chọn ngày chiếu để xem cácphim chiếu trong ngày đó

Đầu vào Thông tin tìm kiếm của phim

Xử lý Lấy thông tin sản phẩm từ CSDL theo các trường tìm kiếm

Đầu ra Liệt kê tất các phim phù hợp với yêu cầu tìm kiếm

3.3.1.3 Xem danh sách phim theo danh mục

Mô tả Danh mục là tên gọi nhằm phân loại ở mức cao nhất của phim

Đầu vào Click vào vào danh mục

Xử lý Lấy thông tin phim từ cơ sở dữ liệu

Đầu ra Liệt kê tất các phim của chuyên mục

3.3.1.4 Chức năng xem thông tin chi tiết phim

Mô tả phim là tên gọi nhằm phân loại ở mức thấp nhất

Đầu vào Clik vào ảnh phim, tên phim hoặc click vào xem chi tiết

Xử lý Lấy thông tin phim từ CSDL theo đúng ID (phim)

Đầu ra Hiển thị thông tin chi tiết của phim như hình ảnh, tên phim, bai

viết,trailer

3.3.1.5 Chức năng xem tin tức

Mô tả Là thông tin mới nhất về bộ phim sắp và sữ đưa vào khởi chiếu trong

tương lai nhưng chưa có trailerĐầu vào Clik vào tin tức muốn xem

Xử lý Lấy thông tin từ CSDL theo đúng ID (tin tức)

Đầu ra Hiển thị thông tin chi tiết của tin như hình ảnh, tiêu đề, bai viết……

3.3.1.6 Chức năng xem sự kiện

Mô tả Là thông tin khuyến mãi trong thời gian đó

Đầu vào Clik vào sự kiện muốn xem

Xử lý Lấy thông tin sự kiện từ CSDL

Trang 31

Đầu ra Hiển thị thông tin chi tiết của các sự kiện như hình ảnh, tiêu đề,

bai viết……

3.3.1.7 Chức năng xem FAQ (câu hỏi và câu trả lời thường gặp)

Mô tả Là những câu hỏi và câu trả lời thường gặp có liên quan tới rạp

chiếu phim

Đầu ra Trả về các câu hỏi và câu trả lời thường gặp cho khách xem

3.3.2 Đối với khách hàng

* Đối tượng khách hàng có tất cả các chức năng của đối tượng khách xem và còn có một

số chức năng khác như sau:

3.3.2.1 Chức năng đăng nhập thành viên

Mô tả Đăng nhập vào hệ thống để thực hiện chức năng đặt vé

Đầu vào Thành viên nhập tên đăng nhập và mật khẩu để đăng nhập hệ

thống

Xử lý : Kiểm tra tên đăng nhập và mật khẩu của người dùng nhập

vào và so sánh với tên đăng nhập và mật khẩu trong CSDL

Đầu ra Nếu thông tin đăng nhập đúng thì sẽ hiện lời chào tên đăng

nhập trên hệ thống, nếu sai sẽ hiện ra thông báo thông tinđăng nhập không chính xác

3.3.2.2 Chức năng đăng xuất

Mô tả Cho phép người dùng đăng xuất khỏi hệ thống khi không còn

nhu cầu sử dụng hệ thống

Đầu vào Người dùng click vào nút thoát trên hệ thống

Xử lý Tiến hành xóa session lưu thông tin đăng nhập để dừng phiên

làm việc của tài khoản thành viên trong hệ thống

Đầu ra Quay trở lại trang hiện hành, ẩn hết các chức năng của thành

Trang 32

viên

3.3.2.3 Chức năng đặt vé

Mô tả Cho phép người dùng được thực hiện giao dịch đặt vé

Đầu vào Người dùng click vào giờ chiếu để thực hiện đặt vé

Xử lý Hệ thống truy nhập CSDL với id tương ứng của xuất chiếu

đó

Đầu ra Chuyển sang trang đặt vé với tên phim, ngày chiếu va giờ

chiếu tương ứng để khách hàng chọn số vé,

3.3.2.4 Chức năng xem sơ đồ ghế

Mô tả Cho phép người dùng có thể xem sơ đồ ghế và chọn

Đầu vào Người dùng click vào số ghế chưa bán

Xử lý Hệ thống sẽ ghi nhận lại vị trí của số ghế đó vào cơ sở dữ

liệuĐầu ra Trả về thông tin vé cho khách hàng

3.3.3 Đối với Admin

-Admin là người quản lý và vận hành Website.

-Admin có tất cả các chức năng của khách vãng lai và khách hàng và có thêm cácchức năng sau:

3.3.3.1 Chức năng đăng nhập Admin

Mô tả Để sử dụng chức năng của 1 người quản trị (Admin) thì người

dùng phải đăng nhập thành công vào hệ thống website với tàikhoản là Admin

Đầu vào Người dùng nhập tên đăng nhập và mật khẩu theo tài khoản admin

để đăng nhập hệ thống

Xử lý Kiểm tra tên đăng nhập và mật khẩu của người dùng nhập vào và

Ngày đăng: 27/02/2024, 19:46

w