CHƯƠNG 1 TỔNG QUAN 1. Tính cấp thiết của đề tài Trong thời đại công nghệ số đang phát triển mạnh mẽ, việc áp dụng các hệ thống trực tuyến trong nhiều lĩnh vực đã trở thành xu hướng không thể phủ nhận. Trong bối cảnh này, hệ thống bán vé xem phim trực tuyến không chỉ là một sự tiện lợi cho người dùng mà còn là một giải pháp hiệu quả cho ngành công nghiệp điện ảnh. Hệ thống bán vé xem phim trực tuyến không chỉ là một công cụ thuận tiện cho người dùng mà còn là một yếu tố quan trọng trong việc tối ưu hóa trải nghiệm xem phim.
Khả năng cung cấp thông tin chi tiết về lịch chiếu, chỗ ngồi, và các suất chiếu có sẵn giúp người xem dễ dàng chọn lựa và đặt vé từ bất kỳ đâu, bất kỳ khi nào. Điều này giúp rút ngắn thời gian chờ đợi và tạo ra một trải nghiệm xem phim thoải mái, không bị gián đoạn. Ngoài ra, hệ thống này cũng đem lại lợi ích cho các rạp chiếu phim và nhà sản xuất phim. Việc quản lý thông tin về doanh số bán vé, thông tin khách hàng và thu nhập từ các suất chiếu giúp họ đưa ra các chiến lược kinh doanh linh hoạt và hiệu quả.
Bằng cách tiếp cận được đối tượng khán giả trực tuyến, họ có thể mở rộng tầm vóc kinh doanh và tăng doanh thu. Trong bối cảnh nhu cầu giải trí ngày càng tăng và sự tiện lợi của công nghệ số ngày càng được ưa chuộng, việc triển khai hệ thống bán vé xem phim trực tuyến không chỉ là một bước tiến quan trọng trong việc đáp ứng nhu cầu của người dùng mà còn đóng vai trò quan trọng trong sự phát triển của ngành công nghiệp điện ảnh. Sự kết hợp giữa tiện lợi, trải nghiệm tốt hơn cho người dùng và cơ hội kinh doanh cho các nhà sản xuất phim là những lợi ích rõ ràng mà hệ thống này mang lại. Đối tượng nghiên cứu Đối với đề tài này, đối tượng nghiên cứu dựa trên nhu cầu sử dụng, giải trí, tạo ra một môi trường cho mọi người có thể thuận tiện đặt vé trực tuyến, lựa chọn phim theo sở thích, đồng thời hỗ trợ người dùng tìm hiểu thêm thông tin về bộ phim, trailler, review phim trước khi đặt mua.
Bên cạnh đó là các công nghệ áp dụng để hiện thực hoá sản phẩm. Cụ thể như sau: Tập trung nghiêm cứu Restful API, NestJS để xây dựng nên hệ thống các APIs hỗ trợ truy xuất và thao tác với dữ liệu một cách chính xác và nhanh chóng nhất. Sử dụng cơ sở dữ liệu NoSQL là MongoDB để lưu trữ dữ liệu trong hệ thống. 1 Về phần hiển thị cho người sử dụng cuối nhóm chúng em tiến hành nghiên cứu Framework ReactJS và một số thư viện được hỗ trợ cho ReactJS để xây dựng và xử lý giao diện và cho người dùng sử dụng trên website.
Về phần bảo mật hệ thống, tiến hành nghiên cứu công nghệ Json Web Token làm bảo mật cho hệ thống, tất cả các luồng dữ liệu vào ra đều được kiểm soát thông qua Token. Phạm vi nghiên cứu 1. Trải nghiệm người dùng • Giao diện người dùng: Phân tích và cải thiện giao diện để làm cho việc đặt vé trở nên dễ dàng và thuận tiện hơn cho người dùng. • Tính tương thích: Đảm bảo hệ thống hoạt động trên nhiều nền tảng và thiết bị khác nhau một cách hiệu quả.
• Tối ưu hóa trải nghiệm: Tăng cường trải nghiệm người dùng trong việc tìm kiếm thông tin, chọn suất chiếu, đặt vé và thanh toán. Quản lý hệ thống và dữ liệu • Quản lý dữ liệu: Xây dựng hệ thống quản lý dữ liệu hiệu quả để lưu trữ thông tin về lịch chiếu, thông tin khách hàng, và các thông tin quan trọng khác. • Bảo mật thông tin: Đảm bảo an toàn và bảo mật thông tin cá nhân của người dùng và thông tin liên quan đến giao dịch thanh toán. Quản lý kinh doanh và marketing • Chiến lược quảng cáo và khuyến mãi: Nghiên cứu về cách hệ thống có thể được tích hợp để thực hiện chiến lược quảng cáo và khuyến mãi hiệu quả.
• Thu nhập và doanh số bán vé: Phân tích dữ liệu để đánh giá doanh số bán vé và thu nhập từ các suất chiếu, từ đó cải thiện chiến lược kinh doanh. Quản lý hệ thống và kỹ thuật • Hiệu suất hệ thống: Đảm bảo hiệu suất cao và ổn định của hệ thống trong quá trình đặt vé và giao dịch. • Nâng cấp và cải thiện: Tìm kiếm cách để cải thiện hệ thống, tính năng mới, và phản hồi từ người dùng để cải thiện trải nghiệm. Mục tiêu của đề tài Phát triển Hệ thống Web Bán Vé Xem Phim Trực Tuyến: Tạo ra một hệ thống web toàn diện cho việc đặt vé xem phim trực tuyến với giao diện thân thiện, cho phép người dùng xem thông tin về các bộ phim, lịch chiếu, đặt vé và thanh toán một cách thuận tiện.
Tối ưu hóa Trải Nghiệm Người Dùng: Tập trung vào việc cải thiện trải nghiệm người dùng để tạo ra một giao diện thân thiện, dễ sử dụng và linh hoạt. Xây dựng chức năng tìm kiếm, lựa chọn chỗ ngồi và quản lý thông tin cá nhân giúp người dùng dễ dàng đặt vé. Áp dụng Kiến Thức Chuyên Ngành: Sử dụng kiến thức từ chuyên ngành để xây dựng hệ thống với cơ sở dữ liệu mạnh mẽ, đảm bảo an toàn và bảo mật thông tin người dùng. Tối ưu hoá hiệu suất hệ thống, đảm bảo ổn định và linh hoạt trong quản lý dữ liệu và giao dịch.
Tích Hợp Các Kỹ Năng Lập Trình và Thiết Kế: Sử dụng các ngôn ngữ lập trình (như CSS, TypeScript, NodeJS, etc.) và framework phù hợp để xây dựng giao diện và chức năng. Thiết kế giao diện đẹp và thân thiện với người dùng bằng cách áp dụng kiến thức về UX/UI. Cải Thiện Hệ Thống Liên Tục: Tiếp tục phát triển và nâng cấp hệ thống dựa trên phản hồi từ người dùng và các xu hướng mới trong công nghệ để đảm bảo tính thích ứng và linh hoạt của sản phẩm. Ý nghĩa khoa học và thực tiễn • Ý nghĩa khoa học: Trong quá trình nghiên cứu và phát triển hệ thống bán vé xem phim trực tuyến, nhóm em đặt mục tiêu chủ yếu là áp dụng các kiến thức chuyên ngành và phân tích từ góc độ nghiên cứu để xây dựng một sản phẩm có tính khoa học cao.
Áp dụng kiến thức chuyên ngành: Sử dụng kiến thức và các phương pháp công nghệ mới để xây dựng hệ thống với tính chính xác và hiệu suất cao. Tiếp cận đề tài từ góc độ nghiên cứu để hiểu rõ hơn về nhu cầu thực tế, xu hướng công nghệ mới, và yếu tố ảnh hưởng đến trải nghiệm người dùng. Áp dụng các công nghệ mới để tối ưu hóa hiệu suất hệ thống cũng như đảm bảo tính an toàn và bảo mật cho thông tin cá nhân của người dùng. • Ý nghĩa thực tiễn: 3 Xây dựng hệ thống thực tế và triển khai nó để có thể phục vụ người dùng và thị trường một cách hiệu quả.
Tạo ra một sản phẩm có thể giải quyết thực tế vấn đề của người dùng, cung cấp cho họ trải nghiệm tốt nhất khi mua vé xem phim. Đảm bảo rằng sản phẩm có thể thích nghi và mở rộng để đáp ứng các yêu cầu thực tế trong quá trình sử dụng và phát triển trong tương lai. 4 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Các công nghệ sử dụng ở Front-End 2.
ReactJS Framework ReactJS là một thư viện JavaScript có tính hiệu quả và linh hoạt để xây dựng các thành phần giao diện người dùng (UI) có thể sử dụng lại. ReactJS giúp phân chia các UI phức tạp thành các thành phần nhỏ (được gọi là component). Nó được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook. ReactJS ban đầu được phát triển và duy trì bởi Facebook và sau đó được sử dụng trong các sản phẩm của mình như WhatsApp & Instagram.
ReactJS được dùng để xây dựng các ứng dụng - single page application (SPA). Một trong những điểm thú vị của ReacJS là nó không chỉ được xây dựng bên phía clients mà còn được sử dụng trên server và có thể kết nối với nhau. ReactJS so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM.1 Công nghệ Virtual DOM giúp tăng hiệu năng cho ứng dụng. Việc chỉ node gốc mới có trạng thái và khi nó thay đổi sẽ tái cấu trúc lại toàn bộ, đồng nghĩa với việc DOM tree cũng sẽ phải thay đổi một phần, điều này sẽ ảnh hưởng đến tốc độ xử lý.
ReactJS sử dụng Virtual DOM (DOM ảo) để cải thiện vấn đề này. Virtual DOM là một object Javascript, mỗi object chứa đầy đủ thông tin cần thiết để tạo ra một DOM, khi dữ liệu thay đổi nó sẽ tính toán sự thay đổi giữa object và tree thật, điều này sẽ giúp tối ưu hoá việc re-render DOM tree thật.1 Virtual DOM trong ReactJS 1 Tổng quan về ReactJS.asia/p/gioi-thieu-ve-reactjs-phan-i-cac-khai-niem-co-ban-V3m5WzjblO7 5 ReactJS sử dụng cơ chế one-way data binding – luồng dữ liệu 1 chiều. Dữ liệu được truyền từ parent đến child thông qua props. Luồng dữ liệu đơn giản giúp chúng ta dễ dàng kiểm soát cũng như sửa lỗi.
Với các đặc điểm ở trên, ReactJS dùng để xây dựng các ứng dụng lớn mà dữ liệu của chúng thay đổi liên tục theo thời gian. Dữ liệu thay đổi thì hầu hết kèm theo sự thay đổi về giao diện. Ví dụ như Facebook: trên Newsfeed của bạn cùng lúc sẽ có các status khác nhau và mỗi status lại có số like, share, comment liên tục thay đổi. Khi đó ReactJS sẽ rất hữu ích để sử dụng.2 One-way binding trong ReactJS Các ưu điểm nổi bật khi sử dụng ReactJS thay cho các framework khác: • ReactJS cho phép Developer viết ứng dụng trực tiếp trên JavaScript.
Thêm vào đó là JSX – một trong những tính năng không chỉ làm cho ReactJS dễ dàng mà còn thú vị hơn. Developer giờ đây có thể tạo nên một tính năng mới và có thể xem nó xuất hiện ngay trong thời gian thực, giúp Developer có thể được đưa trực tiếp các đoạn HTML vào JavaScript. • Một ý tưởng khác làm cho ReactJS trở nên độc đáo là nó cho phép Developer phá vỡ những cấu tạo UI phức tạp thành những component độc lập. Dev sẽ không phải lo lắng về tổng thể ứng dụng web, giờ đây Developer dễ dàng chia nhỏ các cấu trúc UI/UX phức tạp thành từng component đơn giản hơn.
6 • Không chỉ vậy, thông qua Props, các component có thể kết nối với nhau bằng cách sử dụng data tùy biến. Điều này giúp chuyển các dữ liệu đã được tùy biến đến một UI component cụ thể.