Báo cáo đồ án 2: Xây dựng ứng dụng giải trí xem phim, đọc truyện Skylark

Tải báo cáo đồ án 2 xây dựng ứng dụng giải trí xem phim, đọc truyện. Đồ án sử dụng Flutter, NodeJS, MongoDB, phân tích thiết kế hệ thống chi tiết.

2025

156
0
0

Phí lưu trữ

45 Point

Tóm tắt

I. Giới thiệu về Đồ án App Giải trí Xem Phim và Đọc Truyện

Đồ án app giải trí kết hợp xem phim và đọc truyện là một ứng dụng mobile hiện đại được xây dựng bằng Flutter và Node.js. Dự án này cung cấp trải nghiệm người dùng tuyệt vời với giao diện thân thiện, tính năng tìm kiếm nâng cao và khả năng quản lý danh sách yêu thích. App giải trí này đáp ứng nhu cầu giải trí đa nhu cầu của người dùng hiện đại, cho phép họ tận hưởng nội dung phim và truyện tranh trên một nền tảng duy nhất.

1.1. Mục đích phát triển ứng dụng

Mục đích chính của dự án là tạo nên một nền tảng giải trí toàn diện, giúp người dùng dễ dàng truy cập thư viện phim và truyện lớn. Ứng dụng hỗ trợ đa ngôn ngữ, cho phép người dùng khám phá nội dung từ nhiều quốc gia. Với thiết kế responsive, app hoạt động mượt mà trên các thiết bị Android và iOS, mang lại trải nghiệm giải trí liên tục và tiện lợi cho mọi độ tuổi.

II. Công nghệ sử dụng Flutter và Node

Stack công nghệ được chọn gồm Flutter cho phía frontend và Node.js cho phía backend. Flutter là framework phát triển cross-platform cho phép xây dựng ứng dụng mobile chất lượng cao với hiệu suất tối ưu. Node.js cung cấp server backend mạnh mẽ, có khả năng xử lý lượng lớn request đồng thời. Sự kết hợp này đảm bảo performance tốt, bảo mật cao và khả năng mở rộng vô hạn cho ứng dụng giải trí.

2.1. Lợi ích của Flutter trong phát triển app giải trí

Flutter cung cấp giao diện người dùng đẹp mắt với animationen mượt mà, tạo trải nghiệm xem phim và đọc truyện tuyệt vời. Framework này hỗ trợ hot reload, giúp team phát triển nhanh chóng sửa lỗi và cập nhật tính năng. Khả năng compile native code đảm bảo performance cao, load nội dung phim và truyện nhanh chóng mà không gây lag hay crash.

2.2. Vai trò của Node.js backend

Node.js xử lý tất cả logic backend như quản lý dữ liệu người dùng, danh sách phim, truyện, đánh giá và bình luận. Server Node.js sử dụng Express.js để quản lý routes, MongoDB lưu trữ dữ liệu và REST API để giao tiếp với Flutter frontend. Khả năng async/await của Node.js cho phép xử lý hàng nghìn kết nối đồng thời, đáp ứng nhu cầu streaming phim và tải nội dung truyện tranh hiệu quả.

III. Các tính năng chính của ứng dụng

Ứng dụng cung cấp nhiều tính năng nổi bật như tìm kiếm phim và truyện theo thể loại, nhân vật, diễn viên; hệ thống đánh giá sao năm cấp; phần bình luận tương tác; danh sách yêu thích cá nhân hoá; xem phim online với subtitle; đọc truyện tranh với hình ảnh chất lượng cao; bookmark trang truyện; khuyến nghị nội dung thông minh; chế độ tối/sáng; đồng bộ tiến độ xem giữa các thiết bị.

3.1. Tính năng xem phim và đọc truyện

Người dùng có thể xem phim với chất lượng HD/4K, lựa chọn subtitle theo ngôn ngữ, tua nhanh/chậm. Tính năng đọc truyện hỗ trợ zoom hình ảnh, chế độ đọc liên tục, lưu vị trí đọc hiện tại. App cho phép tải nội dung offline để xem khi không có internet, rất phù hợp cho người dùng di động.

3.2. Hệ thống khuyến nghị và cá nhân hoá

Thuật toán machine learning phân tích lịch sử xem phim, đọc truyện để gợi ý nội dung phù hợp. App học từ hành động người dùng: đánh giá, yêu thích, thời gian xem. Dashboard cá nhân hiển thị tiến độ, đề xuất mới, bạn bè xem cùng, tạo cộng đồng giải trí sôi động.

IV. Tầm quan trọng của đồ án và hướng phát triển tương lai

Đồ án app giải trí này thể hiện kỹ năng phát triển full-stack với công nghệ hiện đại. Nó cung cấp giải pháp hoàn chỉnh cho nhu cầu giải trí của người dùng, từ giao diện đẹp đến backend ổn định. Hướng phát triển tương lai bao gồm: tích hợp thanh toán online, chế độ premium, streaming video trực tiếp, AR features cho truyện tranh, kết nối social media, analytics chi tiết, hỗ trợ smart TV.

4.1. Giá trị học tập và phát triển kỹ năng

Thực hiện đồ án này giúp developer hiểu sâu về architecture ứng dụng mobile, quản lý database lớn, xử lý stream media, bảo mật dữ liệu người dùng. Kinh nghiệm với Flutter và Node.js là nền tảng vững chắc cho career development, mở ra cơ hội làm việc tại các công ty tech lớn, startup giải trí, streaming platforms.

4.2. Tiềm năng thương mại của ứng dụng

App giải trí có tiềm năng kiếm doanh thu cao thông qua mô hình freemium, quảng cáo, đăng ký premium, partnership với hãng phim/truyện. Thị trường giải trí digital đang bùng nổ, nhu cầu ứng dụng xem phim, đọc truyện ngày càng tăng. Nếu tối ưu hóa user experience, marketing tốt, app có thể trở thành platform giải trí hàng đầu.

28/12/2025

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

Chương 1. Lý do chọn đề tài. Anime, hay phim hoạt hình Nhật Bản, đã và đang trở thành một hiện tượng văn hóa thu hút hàng triệu người hâm mộ trên toàn thế giới, không chỉ giới hạn ở trẻ em mà còn lan tỏa đến mọi lứa tuổi. Anime sở hữu kho tàng nội dung vô cùng đa dạng, phong phú, đáp ứng mọi sở thích và nhu cầu của người xem.

Nghệ thuật sáng tạo độc đáo là một điểm nhấn khác biệt, tạo nên sức hút riêng biệt cho loại hình giải trí này. Với những nét vẽ tinh tế, đầy cảm xúc, cùng sự sáng tạo vô bờ bến, Anime mang đến cho người xem những hình ảnh ấn tượng, khó phai. Hơn thế nữa, Anime xây dựng những nhân vật đa chiều, đáng nhớ. Âm nhạc đóng vai trò quan trọng trong việc tạo nên bầu không khí và truyền tải cảm xúc cho Anime.

Những bản nhạc OP (Opening) và ED (Ending) sôi động, hay những giai điệu du dương, da diết trong phim luôn khiến người xem nhớ mãi. Ẩn sau những câu chuyện giải trí, Anime thường mang theo những thông điệp sâu sắc về cuộc sống, con người và xã hội. Qua những tình huống và thử thách mà các nhân vật trải qua, Anime khuyến khích người xem suy ngẫm về các giá trị đạo đức, tình bạn, tình yêu và ý nghĩa của cuộc sống. Bên cạnh sự phát triển của phim Anime, truyện tranh cũng được giới trẻ ngày nay ưu chuộng, giống như Anime, truyện tranh cũng có những nội dung tương tự phong phú và hấp dẫn được phát hành dưới dạng truyện, rút ngắn thời gian chờ phát hành của độc giả giúp các bạn có thể trải nghiệm giải trí sớm nhất có thể.

Với sự phát triển của internet và các nền tảng streaming, Anime và truyện tranh ngày càng dễ dàng tiếp cận với độc giả trên toàn cầu. Chúng ta có thể xem phim đọc truyện Anime mọi lúc mọi nơi, chỉ cần một chiếc smartphone hoặc máy tính có kết nối internet. 2 Nhìn chung, Anime là một loại hình giải trí mang đến nhiều giá trị và lợi ích cho người xem. Với sức hút đa chiều, Anime đã và đang chinh phục trái tim của hàng triệu người hâm mộ trên toàn thế giới.

Tuy nhiên, việc tiếp cận Anime một cách thông minh và có chọn lọc sẽ giúp bạn tận hưởng trọn vẹn những giá trị mà loại hình nghệ thuật này mang lại. Và để hỗ trợ những bạn trẻ có thể dễ dàng tiếp cận với loại hình giải trí này, chúng em quyết định chọn đề tài: “Xây dựng ứng dụng giải trí xem phim, đọc truyện”. Mục tiêu của đề tài.  Mục tiêu chung: Nâng cao kiến thức về xây dựng ứng dụng và tổ chức cơ sở dữ liệu hợp lí, cũng như hiểu rõ hơn về các chiến lược giữ chân khách hàng được sử dụng trong các doanh nghiệp giải trí cùng lĩnh vực.

Áp dụng kiến thức đã được học để tạo ra sản phẩm có tính thực tiễn phục vụ đời sống con người.  Mục tiêu cụ thể: Xây dựng ứng dụng cung cấp cho người dùng kho truyện phim đa dạng cũng như danh sách các Album và bảng xếp hạng giúp người dùng dễ dàng lựa chọn nội dung phù hợp với bản thân. Ngoài ra, ứng dụng có áp lược một số chiến lược như nhiệm vụ thử thách để thu hút người dùng sử dụng ứng dụng thường xuyên. Để hỗ trợ hoạt động của ứng dụng, chúng em còn xây dựng thêm các Website hỗ trợ quản lý nội dung phim truyện, người dùng… và hỗ trợ thanh toán.

Nội dung nghiên cứu.  Cơ sở lý thuyết về Flutter, Dart, NodeJS, Typescript, MongoDB.  Cơ sở lý thuyết về NextJS, Firebase Cloud Messaging.  Phân tích nghiệp vụ quản lý và thiết kế hệ thống.

 Nghiên cứu công thức tính điểm xếp hạng truyện và phim.  Nghiên cứu hệ thống thanh toán ZaloPay, VNPay.  Tìm hiểu video file và image file hosting tương thích với Typescript ở server side và các công nghệ, framwork hỗ trợ xây dưng user interface. Phương pháp nghiên cứu.

 Tìm hiểu công nghệ: Flutter, Dart, NodeJS, Typescript, MongoDB, NextJS, Firebase Cloud Messaging.  Phân tích các giải pháp của các ứng dụng tương tự trên thị trường.  Thực hiện khảo sát nhu cầu, tình trạng thực tế của người dùng.  Phân tích và xác định yêu cầu.

 Lên kế hoạch.  Thiết kế: o Thiết kế cơ sở dữ liệu. o Thiết kế đối tượng.  Hoàn thiện sản phẩm.

Công cụ sử dụng. Trong quá trình thực hiện đề tài, chúng em đã sử dụng một số công cụ để phục vụ cho việc triển khai đề tài, bao gồm:  Hệ điều hành: Windows 11.  Công cụ quản lý CSDL: MongoDB Atlas.  Công cụ gửi thông báo thời gian thực: Firebase notifications.

 Công cụ lưu trữ hình ảnh và video phim: Uploadthing.  Công cụ xây dựng ứng dụng: Visual Studio Code.  Công cụ vẽ sơ đồ phân tích thiết kế hệ thống: StarUML. Tổng quan về Flutter 2.

Flutter là gì? Hình CƠ SỞ LÝ THUYẾT.1: Hình ảnh logo Flutter Flutter là một framework phát triển ứng dụng di động mã nguồn mở được phát triển bởi Google. Framework này cho phép bạn xây dựng các ứng dụng đa nền tảng với giao diện người dùng tương tự trên cả iOS và Android từ một mã nguồn duy nhất. Flutter sử dụng ngôn ngữ lập trình Dart để phát triển ứng dụng. Ưu điểm và nhược điểm của Flutter  Ưu điểm: - Đa nền tảng: Flutter cho phép phát triển ứng dụng di động cho cả iOS và Android từ một mã nguồn duy nhất, giúp tiết kiệm thời gian và công sức.

- Hiệu suất cao: Flutter sử dụng kỹ thuật rendering riêng biệt và cấu trúc widget để cải thiện hiệu suất ứng dụng. Điều này đảm bảo cho trải nghiệm người dùng mượt mà và đáng tin cậy. 5 - Giao diện người dùng tương tự: Flutter cung cấp một bộ các widget thích ứng phong phú, cho phép bạn tạo ra giao diện người dùng đẹp và tương tự trên cả hai nền tảng. - Cộng đồng phát triển mạnh mẽ: Flutter hiện có một cộng đồng lớn và nhiều tài nguyên hữu ích, giúp dễ dàng tìm kiếm hỗ trợ và giải quyết vấn đề.

 Nhược điểm: - Kích thước ứng dụng lớn: do tích hợp một bộ thư viện đồ sộ, kích thước của ứng dụng Flutter có thể lớn hơn so với ứng dụng native truyền thống. - - Hạn chế của các plugin: một số plugin của Flutter có thể hạn chế chức năng so với các phiên bản native tương ứng. Tổng quan về ngôn ngữ Dart 2. Dart là gì? Hình CƠ SỞ LÝ THUYẾT.2: Hình ảnh logo Dart Dart là một ngôn ngữ lập trình được phát triển bởi Google, được sử dụng chủ yếu 6 trong việc phát triển ứng dụng di động và web.

Dart kết hợp tính năng của ngôn ngữ tĩnh và động, và tập trung vào hiệu suất và tốc độ trong việc xây dựng ứng dụng. Nó cung cấp một cú pháp gọn nhẹ và hỗ trợ việc phát triển ứng dụng di động với Flutter. Ưu điểm và nhược điểm của ngôn ngữ Dart  Ưu điểm: - Hiệu suất cao: Dart được thiết kế để cung cấp hiệu suất tốt và thời gian chạy nhanh. Nó có thể xử lý tốt trong việc xây dựng ứng dụng di động và web.

- -Tính nhất quán: Dart cung cấp một cú pháp gọn nhẹ và có cấu trúc rõ ràng, giúp làm cho mã nguồn dễ đọc, hiểu và bảo trì. - Hỗ trợ đa nền tảng: Dart không chỉ được sử dụng trong Flutter, mà còn có thể sử dụng để phát triển ứng dụng web thông qua framework AngularDart.  Nhược điểm: - Hạn chế trong môi trường phát triển: so với một số ngôn ngữ lập trình khác, Dart có một cộng đồng phát triển nhỏ hơn và ít tài liệu hơn, điều này có thể làm cho việc tìm kiếm hỗ trợ và thông tin khó khăn hơn. - Cú pháp riêng: Dart có cú pháp riêng và khá khác biệt so với các ngôn ngữ lập trình phổ biến khác.

Tổng quan về MongoDB 2. MongoDB là gì? Hình CƠ SỞ LÝ THUYẾT.3: Hình ảnh logo MongoDB MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là CSDL thuộc NoSql và được hàng triệu người sử dụng. MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu trữ trong document kiểu JSON thay vì dạng bảng như CSDL quan hệ nên truy vấn sẽ rất nhanh. Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ không cần tuân theo một cấu trúc nhất định.

Thông tin liên quan được lưu trữ cùng nhau để truy cập truy vấn nhanh thông qua ngôn ngữ truy vấn MongoDB [3]. Ưu điểm và nhược điểm của MongoDB  Ưu điểm: - Do mongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ có các kích cỡ và các document khác nhau, linh hoạt trong việc lưu trữ dữ liệu. - MongoDB rất dễ mở rộng (Horizontal Scalability). Trong MongoDB có một khái niệm cluster là cụm các node chứa dữ liệu giao tiếp với nhau, khi muốn mở rộng hệ thống ta chỉ cần thêm một node với vào cluster 8 - Hiệu năng cao: Tốc độ truy vấn (find, update, insert, delete) của MongoDB nhanh hơn hẳn so với các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).

Với một lượng dữ liệu đủ lớn thì thử nghiệm cho thấy tốc độ insert của MongoDB có thể nhanh tới gấp 100 lần so với MySQL.  Nhược điểm: - MongoDB không có các tính chất ràng buộc như trong RDBMS nên khi thao tác với mongoDB thì phải hết sức cẩn thận. - Tốn bộ nhớ do dữ liệu lưu dưới dạng key-value, các collection chỉ khác về value do đó key sẽ bị lặp lại. Không hỗ trợ join nên dễ bị dữ thừa dữ liệu.

- Khi insert/update/remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống ổ cứng, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống ổ cứng điêù này sẽ là nhược điểm vì sẽ có nguy cơ bị mất dữ liệu khi xảy ra các tình huống như mất điện. Tổng quan về NextJS 2. NextJS là gì? Hình CƠ SỞ LÝ THUYẾT.4: Hình ảnh logo NextJS 9 NextJS là framework mã nguồn mở được xây dựng trên nền tảng của React, cho phép chúng ta xây dựng các trang web tĩnh có tốc độ siêu nhanh và thân thiện với người dùng, cũng như xây dựng các ứng dụng web React. NextJS được ra đời vào năm 2016, thuộc sở hữu của Vercel.

NextJS bắt đầu trở nên phổ biến vào năm 2018 và tiếp tục tăng trưởng mạnh mẽ trong cộng đồng phát triển web vào những năm sau đó. Sự kết hợp của các tính năng như Server-side Rendering (SSR) với Static Site Generation (SSG) đã giúp NextJS trở thành sự lựa chọn hấp dẫn cho nhiều dự án phát triển ứng dụng web.

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