1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án 1 xây dựng website đọc truyện tranh

58 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 58
Dung lượng 2,14 MB

Cấu trúc

  • Chương 1. GIỚI THIỆU CHUNG (10)
    • 1.1. Lý do chọn đề tài (10)
    • 1.2. Mục tiêu (10)
    • 1.3. Phạm vi nghiên cứu (10)
    • 1.4. Đối tượng nghiên cứu (11)
    • 1.5. Phương pháp nghiên cứu (11)
  • Chương 2. CÔNG NGHỆ SỬ DỤNG (12)
    • 2.1. Plant UML (12)
    • 2.2. Figma (13)
    • 2.3. AntDesign (14)
    • 2.4. Supabase (15)
    • 2.5. TypeScript (17)
    • 2.6. ReactJS (18)
    • 2.7. PostgreSQL (20)
    • 2.8. Github (22)
    • 2.9. ChatGPT (23)
  • Chương 3. THIẾT KẾ VÀ TRIỂN KHAI HỆ THỐNG (25)
    • 3.1. Tổng quan sơ đồ Use-case (25)
    • 3.2. Danh sách các actor (26)
    • 3.3. Danh sách Use-case (26)
    • 3.4. Đặt tả Use-case (0)
      • 3.4.1. Đặc tả Use-case đăng ký (28)
      • 3.4.2. Đặc tả Use-case đăng nhập (28)
      • 3.4.3. Đặc tả Use-case quên mật khẩu (29)
      • 3.4.4. Đặc tả Use-case danh sách truyện (0)
      • 3.4.5. Đặc tả Use-case tìm kiếm và lọc (30)
      • 3.4.6. Đặc tả Use-case xem chi tiết truyện (31)
      • 3.4.7. Đặc tả Use-case đọc truyện (31)
      • 3.4.8. Đặc tả Use-case thêm truyện vào danh sách theo dõi (32)
      • 3.4.9. Đặc tả Use-case thích, bình luận, đánh giá truyện (32)
      • 3.4.10. Đặc tả Use-case truyện phổ biến (33)
      • 3.4.11. Đặc tả Use-case quản lý tài khoản (34)
      • 3.4.12. Đặc tả Use-case quản lý truyện đã đăng (34)
      • 3.4.13. Đặc tả Use-case nhận tiền dựa vào lượt xem (35)
      • 3.4.14. Đặc tả Use-case cấm người dùng (36)
  • Chương 4. XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG (37)
    • 4.1. Thiết kế giao cơ sở dữ liệu (0)
    • 4.2. Thiết kế giao diện người dùng (38)
      • 4.2.1. Màn hình yêu cầu đăng nhập (38)
      • 4.2.2. Màn hình đăng nhập (39)
      • 4.2.3. Màn hình đăng ký (40)
      • 4.2.4. Màn hình quên mật khẩu (41)
      • 4.2.5. Màn hình trang chủ (42)
      • 4.2.6. Slidebar menu (43)
      • 4.2.7. Màn hình nội dung truyện (44)
      • 4.2.8. Màn hình tìm kiếm nâng cao (45)
      • 4.2.9. Màn hình kết quả tìm kiếm nâng cao (46)
      • 4.2.10. Màn hình thông tin người dùng (47)
      • 4.2.11. Màn hình truyện đã đăng (48)
      • 4.2.12. Màn hình thêm mới truyện (49)
      • 4.2.13. Màn hình quản lý chương (50)
      • 4.2.14. Màn hình thêm mới chương (51)
      • 4.2.15. Màn hình điểm dịch truyện (52)
      • 4.2.16. Màn hình đổi mật khẩu (53)
      • 4.2.17. Màn hình theo dõi trong trang cá nhân (0)
      • 4.2.18. Màn hình đọc truyện (55)
  • Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (56)
    • 5.1. Thành quả đạt được (56)
    • 5.2. Ưu và nhược điểm (56)
      • 5.2.1. Ưu điểm (56)
      • 5.2.2. Nhược điểm (56)
    • 5.3. Hướng phát triển (57)
  • Tài liệu tham khảo (58)

Nội dung

Sau khi đã nắm được cách sử dụng các công nghệ cần thiết, em bắt tay vào việc tìm hiểu và đặc các yêu cầu, xây dựng diagram, luồng và database cho ứng dụng, sau đó thiết kế giao diện cho

GIỚI THIỆU CHUNG

Lý do chọn đề tài

- Truyện tranh, phim ảnh đã không còn xa lạ gì với chúng ta, những thập niên trước đây, chúng ta phải ra tận nhà sách để mua được quyển truyện mình yêu thích, đọc đi đọc lại nó Tuy nhiên, với sự phát triển của công nghệ, hiện nay, ta có thể đọc truyện trực tuyến tại nhà và cập nhật các chương truyện mới được sáng tác từ tác giả một cách nhanh chóng cũng như giao tiếp giữa những người có cùng sở thích đọc truyện với nhau

- Một trang web đọc truyện tranh sẽ cung cấp một nơi cho mọi người trò truyện, thảo luận về bộ truyện yêu thích cũng như dễ dàng tìm kiếm được truyện mình muốn hơn Là một nơi để mọi người có thể giải trí sau những giờ học tập, làm việc căng thẳng.

Mục tiêu

- Cung cấp cho độc giả một nền tảng để chọn và đọc online bộ truyện mình thích

- Giúp người dịch có thể đăng tải chương truyện mình đã dịch cho mọi người xem và quản lý những chương truyện đó

- Chọn phép người dùng biết được mức độ yêu thích của từng bộ truyện

- Cho phép độc giả tìm truyện theo thể loại yêu thích

- Cung cấp một trải nghiệm trực tuyến tốt hơn cho người dùng.

Phạm vi nghiên cứu

- Các bài toán về tìm kiếm, quản lý

- Giao diện website được xây dựng dựa trên công nghệ React JS cho phần giao diện và Supabase cho phần Backend

- Hệ thống tài khoản và phân quyền

- Hệ thống cơ sở dữ liệu

- Lưu trữ hình ảnh bằng Supabase Storage

Đối tượng nghiên cứu

- Các website đọc truyện tranh hiện có

- Thói quen của người dùng khi đọc truyện tranh và những khó khăn họ gặp phải khi sử dụng những website đọc truyện khác

- Tất cả những gì cần thiết để xây dựng một website đọc truyện tranh đáp ứng yêu cầu người dùng

- Ngôn ngữ lập trình: Typescript

Phương pháp nghiên cứu

- Tìm kiếm các sản phẩm tương tự trên thị trường để rút ra ưu, nhược điểm của các ứng dụng đó (MangaDex, MangaRaw, Mangakakalot,…)

- Tìm hiểu các công nghệ liên quan đến quản lý, tìm kiếm

- Thiết kế giao diện dựa vào các yêu cầu đã chắt lọc, từ đó tìm hiểu các công nghệ, thuật toán cần thiết để xây dựng ứng dụng dựa trên thiết kế đó

- Tham khảo ý kiến giảng viên hướng dẫn và chỉnh sửa lại sao cho phù hợp để đạt kết quả tốt nhất cho sản phẩm

CÔNG NGHỆ SỬ DỤNG

Plant UML

PlantUML là một công cụ sử dụng ngôn ngữ XML giúp ta tạo ra các biểu đồ UML (Unified Modeling Language) một cách dễ dàng

Người sử dụng có thể viết các đoạn mã XML để vẽ nhiều sơ đồ UML khác nhau, chẳng hạn như sơ đồ lớp, sơ đồ use case, sequence diagram, activity diagram, và nhiều loại biểu đồ khác PlantUML sau đó chuyển các đoạn mã này thành các sơ đồ UML tương ứng

PlantUML có thể được tích hợp vào nhiều môi trường phát triển và hỗ trợ xuất nhiều định dạng ảnh khác nhau như PNG, SVG, và PDF Việc sử dụng PlantUML giúp tiết kiệm thời gian và giảm thiểu các lỗi khi vẽ các biểu đồ bằng tay

Figma

Figma là một công cụ thiết kế dùng trong lĩnh vực thiết kế giao diện (UI) và trải nghiệm người dùng (UX) Ứng dụng hỗ trợ ta trong việc cùng nhau để phối hợp thiết kế trong một dự án

Dưới đây là một số điểm nổi bật về Figma:

• Trực tuyến và Đa Nền Tảng: Figma là một ứng dụng trực tuyến, không yêu cầu cài đặt và có thể sử dụng trên nhiều nền tảng như Windows, macOS, và Linux Ta có thể truy cập dự án từ bất kỳ máy tính nào chỉ cần có kết nối internet

• Hợp Tác Trực Tuyến: Figma cho phép nhiều người cùng làm việc trên cùng một bản thiết kế cùng một lúc, điều này giúp tăng cường sự hợp tác và giảm thiểu các vấn đề liên quan đến việc đồng bộ thông tin giữa các thành viên trong nhóm

• Chia Sẻ Dễ Dàng: Ta có thể chia sẻ thiết kế của mình bằng cách tạo liên kết chia sẻ có thời hạn hoặc liên kết có quyền truy cập chỉ xem Điều này tao điều kiện cho nhà thiết kế trong việc thu thập phản hồi từ đồng nghiệp hoặc khách hàng

• Tích hợp API: Figma có API mạnh mẽ, cho phép tích hợp với các công cụ và dịch vụ khác trong quy trình làm việc

• Tích Hợp Dễ Dàng: Figma có thể tích hợp với nhiều công cụ khác nhau như Slack, Jira, Confluence, và nhiều ứng dụng khác

• Tính năng thiết kế đa dạng: Figma cung cấp các công cụ mạnh mẽ để thiết kế giao diện người dùng, từ việc tạo các thành phần (components) tái sử dụng đến việc vẽ và các hiệu ứng

• Thư Viện và component: Ta có thể tạo thư viện và components để giữ cho thiết kế của bạn có tính nhất quán và dễ bảo trì

Figma đã trở thành một trong những công cụ quan trọng trong cộng đồng thiết kế và phát triển phần mền bời tính linh hoạt, khả năng hợp tác với nhau, và sự tiện lợi của nó.

AntDesign

Ant Design là một bộ công cụ thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) được phát triển và duy trì bởi đội ngũ tại Ant Financial, một phần của tập đoàn Alibaba Được giới thiệu lần đầu tiên vào năm 2015, Ant Design đã trở thành một trong những bộ công cụ thiết kế UI/UX phổ biến và được ưa chuộng trong cộng đồng phát triển web Dưới đây là một số điểm chính về Ant Design:

• Tính Nguyên Tắc và Hướng Dẫn Thiết Kế: Ant Design tuân theo một số nguyên tắc và hướng dẫn thiết kế cụ thể để tạo ra giao diện người dùng hiệu quả và dễ sử dụng Điều này giúp đảm bảo sự nhất quán trong trải nghiệm người dùng trên nhiều ứng dụng và dự án

• Tính Chất Responsive: Ant Design được hỗ trợ thiết kế responsive và thân thiện với ứng dụng di động, giúp đảm bảo rằng ứng dụng được thiết kế sẽ hoạt động mượt mà trên nhiều loại thiết bị và màn hình có kích thước khác nhau

• Thư Viện Component Phong Phú: Ant Design cung cấp một bộ sưu tập phong phú các components giao diện như nút, ô nhập liệu, bảng, menu, đồng thời còn có các components nâng cao khác như DatePicker, Carousel, v.v Điều này giúp giảm thời gian phát triển và đồng thời đảm bảo sự đồng nhất trong giao diện của ứng dụng

• Hỗ Trợ Theming và Tùy Chỉnh: Ant Design hỗ trợ theming, cho phép dễ dàng thay đổi màu sắc và phong cách của ứng dụng để phản ánh thương hiệu hoặc yêu cầu thiết kế cụ thể

• Tương Tác và Hiệu Ứng Mượt: Các components của Ant Design đi kèm với tương tác và hiệu ứng mượt, giúp tăng cường trải nghiệm người dùng và tạo ra giao diện sáng tạo và thú vị

• Hỗ Trợ Đa Ngôn Ngữ: AntDesign hỗ trợ đa ngôn ngữ, điều này làm cho nó phù hợp với các dự án với sự tham gia của nhiều quốc gia khác nhau

Ant Design không chỉ là một bộ công cụ thiết kế giao diện, mà còn là một cộng đồng lớn với tài liệu phong phú và sự hỗ trợ từ cộng đồng, giúp người phát triển tận dụng được tối đa tiềm năng của nó.

Supabase

Supabase là một nền tảng phát triển ứng dụng dựa trên cơ sở dữ liệu SQL mà không cần quản lý cơ sở dữ liệu của bạn Được xây dựng trên PostgreSQL, Supabase cung cấp

7 một số dịch vụ chủ chốt để giúp xây dựng ứng dụng web và di động một cách nhanh chóng và dễ dàng Dưới đây là một số điểm chính về Supabase:

• Database-as-a-Service (DaaS): Supabase cung cấp một cơ sở dữ liệu PostgreSQL đầy đủ chức năng dưới dạng dịch vụ Ta có thể tận hưởng sức mạnh và linh hoạt của PostgreSQL mà không phải lo lắng về việc quản lý và duy trì cơ sở dữ liệu

• Realtime Database: Supabase hỗ trợ cập nhật realtime cho dữ liệu, cho phép ứng dụng của bạn tự động cập nhật khi có thay đổi trong cơ sở dữ liệu, giúp tạo ra trải nghiệm người dùng động và nhanh nhạy

• Authentication và Authorization: Nền tảng này cung cấp các dịch vụ xác thực và phân quyền, giúp quản lý người dùng, đảm bảo tính bảo mật và quyền riêng tư trong ứng dụng

• Serverless Functions: Supabase hỗ trợ việc triển khai các hàm serverless, cho phép thực thi code backend mà không cần phải quản lý cơ sở hạ tầng

• RESTful API và GraphQL: Cung cấp RESTful API và GraphQL cho phép ứng dụng của giao tiếp với cơ sở một cách linh hoạt

• Storage: Supabase cung cấp dịch vụ lưu trữ cho các tệp và hình ảnh, hỗ trợ quản lý và lưu trữ các tài nguyên đa phương tiện của ứng dụng

• Developer-Friendly: Supabase được thiết kế để làm cho việc phát triển ứng dụng dễ dàng và linh hoạt Nó có tài liệu rất phong phú, và cộng đồng người dùng tích cực và hỗ trợ

• Open Source: Supabase là một dự án mã nguồn mở, cho phép kiểm soát hoặc tùy chỉnh mã nguồn theo nhu cầu người dùng

Supabase thường được xem là một giải pháp chắc chắc và mạnh mẽ cho việc phát triển ứng dụng web và di động mà không cần phải lo lắng về việc quản lý cơ sở dữ liệu cũng như cơ sở hạ tầng backend

TypeScript

TypeScript là một ngôn ngữ lập trình mã nguồn mở phát triển bởi Microsoft, có thể được ví như là một siêu JavaScript TypeScript khá giống JavaScript nhưng thêm vào đó là các tính năng và khả năng kiểm soát kiểu dữ liệu để giúp phát triển ứng dụng lớn, dễ bảo trì và dễ mở rộng hơn Dưới đây là một số điểm chính về TypeScript:

• Kiểu Dữ Liệu Tĩnh: TypeScript hỗ trợ kiểu dữ liệu tĩnh, giúp xác định kiểu dữ liệu của biến, tham số hàm, và giá trị trả về từ hàm Điều này giúp phát hiện lỗi kiểu tại thời điểm biên dịch thay vì tại thời điểm chạy, tăng tính ổn định và dễ bảo trì của mã nguồn

• OOP (Object-Oriented Programming): TypeScript hỗ trợ các tính năng của lập trình hướng đối tượng như classes, interfaces, inheritance, và encapsulation, giúp tổ chức mã nguồn một cách cấu trúc và dễ quản lý

• ES6 và Các Tính Năng Mới: TypeScript được xây dựng dựa trên chuẩn ECMAScript (ES), đặc biệt là ES6 (ECMAScript 2015) và các phiên bản mới hơn Bạn có thể sử dụng các tính năng mới như arrow functions, destructuring, và template literals mà không cần phải đợi đến khi các trình duyệt hỗ trợ

• Kiểu Union và Intersection: TypeScript hỗ trợ kiểu union và intersection, cho phép bạn kết hợp hoặc tạo ra các kiểu phức tạp từ các kiểu đơn giản, giúp mô hình hóa các loại dữ liệu phức tạp trong ứng dụng

• Generics: Generics là một tính năng mạnh mẽ cho phép bạn viết code linh hoạt hơn bằng cách làm cho các hàm và các lớp có thể hoạt động với nhiều loại dữ liệu khác nhau mà không cần phải lặp code

• Cộng Đồng và Ecosystem Lớn: TypeScript có một cộng đồng lớn và tích cực, và nó được sử dụng rộng rãi trong nhiều dự án lớn Nhiều thư viện và framework nổi tiếng như Angular, React, và Vue cung cấp hỗ trợ chính thức cho TypeScript

• Môi Trường Phát Triển Tốt: TypeScript tích hợp tốt với nhiều môi trường phát triển và các công cụ như Visual Studio Code, Sublime Text, và WebStorm Nó cung cấp trải nghiệm phát triển mạnh mẽ và thông minh

• Mã nguồn mở: TypeScript là một dự án mã nguồn mở, cho phép mọi người có thể đóng góp vào phát triển của nó và sử dụng nó miễn phí

TypeScript đã trở thành một lựa chọn hàng đầu cho các dự án lớn khi đòi hỏi sự kiểm soát mã nguồn thay cho JavaScript.

ReactJS

ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với các thành phần trên website Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau React so sánh sự thay đổi giữa các

10 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 Trước khi đến cài đặt và cấu hình, chúng ta sẽ đi đến một số khái niệm cơ bản:

Công nghệ DOM ảo 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ý React JS 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 React 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

JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong Javascript Đặc điểm: Faster: Nhanh hơn JSX thực hiện tối ưu hóa trong khi biên dịch sang mã Javascript Các mã này cho thời gian thực hiện nhanh hơn nhiều so với một mã tương đương viết trực tiếp bằng Javascript Safer: an toàn hơn Ngược với Javascript, JSX là kiểu statically- typed, nghĩa là nó được biên dịch trước khi chạy, giống như Java, C++ Vì thế các lỗi sẽ được phát hiện ngay trong quá trình biên dịch Ngoài ra, nó cũng cung cấp tính năng gỡ lỗi khi biên dịch rất tốt Easier: Dễ dàng hơn JSX kế thừa dựa trên Javascript, vì vậy rất dễ dàng để cho các lập trình viên Javascript có thể sử dụng (tham khảo tại https://jsx.github.io/)

React được xây dựng xung quanh các component, chứ không dùng template như các framework khác Trong React, chúng ta xây dựng trang web sử dụng những thành phần

(component) nhỏ Chúng ta có thể tái sử dụng một component ở nhiều nơi, với các trạng thái hoặc các thuộc tính khác nhau, trong một component lại có thể chứa thành phần khác Mỗi component trong React có một trạng thái riêng, có thể thay đổi, và React sẽ thực hiện cập nhật component dựa trên những thay đổi của trạng thái Mọi thứ React đều là component Chúng giúp bảo trì mã code khi làm việc với các dự án lớn Một react component đơn giản chỉ cần một method render Có rất nhiều methods khả dụng khác, nhưng render là method chủ đạo

Props: giúp các component tương tác với nhau, component nhận input gọi là props, và trả thuộc tính mô tả những gì component con sẽ render Prop là bất biến State: thể hiện trạng thái của ứng dụng, khi state thay đồi thì component đồng thời render lại để cập nhật UI.

PostgreSQL

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS - Relational Database Management System) với khả năng mở rộng và tính năng mạnh mẽ

Nó được thiết kế để cung cấp hiệu suất, độ tin cậy và tính năng tiên tiến cho các ứng dụng dữ liệu lớn và yêu cầu phức tạp Dưới đây là một số điểm chính về PostgreSQL:

• Mã Nguồn Mở và Miễn Phí: PostgreSQL là một dự án mã nguồn mở và có sẵn miễn phí để sử dụng, phát triển và phân phối Điều này tạo điều kiện thuận lợi cho cộng đồng phát triển và sử dụng

• Quản Lý Đối Tượng: PostgreSQL hỗ trợ quản lý đối tượng, giúp tổ chức dữ liệu trong các bảng, quan hệ, và đối tượng, theo mô hình quan hệ

• Khả Năng Mở Rộng: PostgreSQL có khả năng mở rộng tốt, cho phép nó mở rộng từ các ứng dụng nhỏ đến các hệ thống dữ liệu lớn, với khả năng xử lý hàng nghìn kết nối đồng thời

• Tiêu Chuẩn SQL: PostgreSQL tuân theo nhiều tiêu chuẩn SQL, bao gồm SQL-

92, SQL-99, và SQL-2003 Điều này đảm bảo tính tương thích với các ứng dụng sử dụng ngôn ngữ truy vấn chuẩn

• Phong Cách ACID: PostgreSQL hỗ trợ các tính chất ACID (Atomicity, Consistency, Isolation, Durability), đảm bảo tính nhất quán và an toàn cho dữ liệu trong mọi trường hợp

• Triggers và Rules: PostgreSQL hỗ trợ các trigger và rules, cho phép người phát triển định nghĩa các hành động tự động khi có sự thay đổi trong dữ liệu

• Index và Optimizer Mạnh Mẽ: Cơ sở dữ liệu này cung cấp một bộ chỉ mục và trình tối ưu mạnh mẽ, giúp tối ưu hóa câu truy vấn và tăng cường hiệu suất truy xuất dữ liệu

• Hỗ Trợ Đa Ngôn Ngữ và Đa Ký Tự: PostgreSQL hỗ trợ nhiều ngôn ngữ lập trình như PL/pgSQL, PL/Tcl, PL/Perl, PL/Python, và nhiều ngôn ngữ khác Nó cũng hỗ trợ nhiều bảng mã và tập ký tự

• Community và Hỗ Trợ: Cộng đồng PostgreSQL là một cộng đồng lớn và tích cực

Có sẵn nhiều tài liệu, diễn đàn, và nguồn thông tin hỗ trợ từ cộng đồng

PostgreSQL là một lựa chọn mạnh mẽ cho các dự án yêu cầu tính linh hoạt, khả năng mở rộng, và độ bền cao trong việc quản lý cơ sở dữ liệu

Github

GitHub là một dịch vụ lưu trữ mã nguồn và hợp tác trực tuyến, cho phép các nhà phát triển làm việc cùng nhau trên các dự án phần mềm Nó đã trở thành một trong những nền tảng quản lý mã nguồn phổ biến nhất trên thế giới và được sử dụng rộng rãi trong cộng đồng phần mềm mã nguồn mở và doanh nghiệp Dưới đây là một số điểm chính về GitHub:

• Lưu Trữ Mã Nguồn: GitHub cung cấp nơi lưu trữ an toàn cho mã nguồn của bạn Bạn có thể tạo ra các kho mã nguồn (repositories) để theo dõi và quản lý các phiên bản của mã nguồn của dự án

• Hợp Tác Trực Tuyến: GitHub cho phép nhiều nhà phát triển làm việc cùng nhau trên cùng một dự án một cách hiệu quả Bạn có thể tạo nhánh (branch), thực hiện thay đổi, và sau đó hợp nhất (merge) chúng trở lại nhánh chính một cách dễ dàng

• Quản Lý Phiên Bản: GitHub giúp theo dõi và quản lý các phiên bản của mã nguồn thông qua hệ thống kiểm soát phiên bản (version control system) Git Bạn có thể xem lịch sử thay đổi, so sánh giữa các phiên bản, và quay lại các phiên bản trước đó

• Issue Tracking và Pull Requests: GitHub cung cấp tính năng theo dõi vấn đề (issue tracking) để theo dõi công việc, vấn đề, và tính năng trong dự án Pull requests

14 giúp tạo ra quá trình đánh giá và thảo luận về các thay đổi trước khi hợp nhất vào mã nguồn chính

• Trang Web Tương Tác và Wiki: Mỗi kho mã nguồn trên GitHub đều có một trang web tương tác (GitHub Pages) để giới thiệu dự án, và bạn có thể sử dụng wiki để tạo tài liệu cho dự án của mình

• Hỗ Trợ Cộng Đồng và Xã Hội: GitHub là một cộng đồng lớn, nơi bạn có thể tìm thấy và đóng góp vào các dự án mã nguồn mở Bạn cũng có thể theo dõi, đánh giá, và đánh dấu (star) các dự án mà bạn quan tâm

• Tích Hợp Công Cụ Phát Triển: GitHub tích hợp nhiều công cụ phát triển phổ biến như CI/CD (Continuous Integration/Continuous Deployment) và các dịch vụ tích hợp để tối ưu hóa quy trình phát triển

• Dịch Vụ Trả Phí và Cá Nhân: GitHub cung cấp dịch vụ trả phí cho các tổ chức và dự án lớn, cũng như gói dịch vụ cá nhân cho các nhà phát triển cá nhân

GitHub đã trở thành một phần quan trọng trong nền văn hóa phát triển phần mềm hiện đại và đóng vai trò quan trọng trong việc kích thích sự hợp tác và chia sẻ trong cộng đồng lập trình toàn cầu.

ChatGPT

ChatGPT là một mô hình ngôn ngữ tự nhiên dựa trên kiến trúc GPT (Generative Pre-trained Transformer) của OpenAI Mô hình này được huấn luyện để hiểu và tạo ra

15 văn bản tiếng Anh một cách tự nhiên, có khả năng thực hiện nhiều nhiệm vụ liên quan đến xử lý ngôn ngữ tự nhiên Dưới đây là một số đặc điểm và điểm mạnh của ChatGPT:

• Kiến Trúc GPT: ChatGPT là một biến thể của mô hình GPT (Generative Pre- trained Transformer) GPT là một mô hình học sâu dựa trên kiến trúc Transformer, có khả năng xử lý và tạo ra văn bản dựa trên bối cảnh lớn của dữ liệu huấn luyện

• Tính Tự Nhiên và Linh Hoạt: Mô hình được thiết kế để tạo ra văn bản có chất lượng cao và tự nhiên, giúp nó linh hoạt trong nhiều tình huống sử dụng như trả lời câu hỏi, viết văn bản, hoặc thậm chí là tương tác như một trò chơi đối thoại

• Đa Dạng và Phong Phú: ChatGPT có khả năng đáp ứng với một loạt các loại câu hỏi và yêu cầu Nó có thể thảo luận về nhiều chủ đề, cung cấp thông tin, giải quyết vấn đề, và thậm chí là sáng tạo văn bản

• Khả Năng Tương Tác: Mô hình này được tối ưu hóa để tương tác với người sử dụng thông qua các câu hỏi và yêu cầu Điều này làm cho nó hữu ích trong nhiều tình huống như trò chơi với máy, tìm kiếm thông tin, hoặc đơn giản là để thực hiện cuộc trò chuyện

• Khả Năng Học Từ Dữ Liệu Mới: ChatGPT có khả năng học từ dữ liệu mới và được cập nhật định kỳ Điều này giúp cập nhật thông tin và sự hiểu biết của mô hình về các xu hướng và sự thay đổi trong ngôn ngữ và kiến thức mới

• Quy Mô Lớn và Tiến Bộ Tính Toán: Mô hình ChatGPT được huấn luyện trên một lượng lớn dữ liệu và sử dụng quy trình tính toán tiên tiến Điều này giúp cải thiện khả năng hiểu và tạo ra văn bản chất lượng

THIẾT KẾ VÀ TRIỂN KHAI HỆ THỐNG

Tổng quan sơ đồ Use-case

Hình 3.1: Sơ đồ Use-case

Danh sách các actor

1 Reader Người đọc truyện của app

2 Translator/Editor Người dịch/Người chỉnh sửa truyện từ ngôn ngữ khác sang tiếng Việt

3 Admin Quản trị viên quản lý tài khoản người dùng

Danh sách Use-case

Bảng 3.2: Danh sách Use-case

STT Tên chức năng Actor Mô tả

1 Đăng ký User Người dùng có thể đăng ký tài khoản

2 Đăng nhập User Người dùng có thể đăng nhập vào hệ thống bằng tài khoản đã được đăng ký hoặc Facebook/Gmail

3 Quên mật khẩu User Người dùng có thể đổi mật khẩu khi quên bằng email đã đăng ký

Reader Người đọc có thể xem danh sách truyện đã được đăng lên hệ thống

5 Tìm kiếm và lọc Reader Người đọc có thể tìm kiếm và lọc truyện theo các tiêu

18 chí như tên, thể loại, đánh giá, v.v

6 Xem chi tiết truyện Reader Người đọc có thể xem thông tin chi tiết của một bộ truyện cụ thể (số chương, nội dung, thể loại, đánh giá, v.v)

7 Đọc truyện Reader Người đọc có thể chọn chương truyện mình muốn và đọc

8 Thêm vào danh sách theo dõi

Reader Người đọc có thể thêm bộ truyện ưa thích của mình vào danh sách theo dõi

9 Thích, bình luận, đánh giá truyện

Reader Người đọc có thể thích, bình luận truyện theo chương hoặc theo toàn bộ truyện, đánh giá truyện

10 Truyện phổ biến Reader Người đọc có thể xem danh sách truyện được xem nhiều nhất

11 Quản lý tài khoản User Người dùng có thể quản lý thông tin cá nhân, mật khẩu và cập nhật tài khoản

12 Quản lý truyện đã đăng

Translator/Editor Dịch giả có thể thêm mới, cập nhật, xóa chương truyện/bộ truyện mình đã đăng

13 Nhận tiền dựa vào lượt xem

Translator/Editor Dịch giả có thể nhận tiền dựa và số lượt xem của chương truyện mình đã đăng

14 Cấm người dùng Admin Quản trị viên có thể cấm tài khoản người dùng vi phạm

Đặt tả Use-case

3.4.1 Đặc tả usecase đăng ký

Bảng 3.3: Đặc tả Use-case đăng ký

Goal Đăng ký tài khoản mới

Main flow 1 Hiển thị màn hình đăng ký

2 Nhập đầy đủ thông tin, sau đó bấm “Đăng ký”

3 Hệ thống thông báo đăng nhập thành công

4 Chuyển sang màn hình chính

Post-condition Tài khoản mới được tạo trong hệ thống

Exception 2a Hệ thống xác nhận thông tin không hợp lệ và hiển thị thông báo

2b Người dùng bấm “Quay về đăng nhập”

3.4.2 Đặc tả usecase đăng nhập

Bảng 3.4: Đặc tả Use-case đăng nhập

Goal Đăng nhập vào hệ thống

Pre-Condition Tài khoản người dùng đã được tạo

Main flow 1 Hiển thị màn hình đăng nhập

2 Người dùng chọn phương thức đăng nhập bằng tài khoản web

3 Nhập username, password sau đó bấm “Đăng nhập”

4 Hệ thống xác nhận đăng nhập thành công và chuyển sang màn hình chính

Alternative flow 2a Người dùng chọn phương thức đăng nhập bằng tài khoản

2a1 Hệ thống chuyển sang màn hình đăng nhập Google 3a Người dùng đăng nhập bằng Google

4a Google xác nhận đăng nhập thành công và chuyển sang màn hình chính

Exception 4c Hệ thống xác nhận đăng nhập không thành công và hiển thị thông báo

4c1 Người dùng bấm nút “Đăng ký”

4c1 Người dùng bấm nút “Quên mật khẩu”

3.4.3 Đặc tả usecase quên mật khẩu

Bảng 3.5: Đặc tả Use-case quên mật khẩu

Goal Đổi mật khẩu mới khi không nhớ mật khẩu

Main flow 1 Hiển thị màn hình quên mật khẩu

2 Nhập email đã liên kết với tài khoản hoặc username

3 Hệ thống gửi mã xác nhận vào email

4 Hiển thị màn hình nhập mã

5 Người dùng nhập mã xác nhận thành công

6 Hệ thống cho phép người dùng đổi mật khẩu mới

Exception 2a Người dùng bấm nút “Trở lại đăng nhập”

3b Hệ thống xác nhận email hoặc username không tồn tại và hiển thị thông báo

5c Hệ thống xác nhận người dùng nhập sai mã xác nhận và thông báo

3.4.4 Đặc tả usecase xem danh sách truyện

Bảng 3.6: Đặc tả Use-case danh sách truyện

Name Xem danh sách truyện

Goal Xem danh sách truyện

Main flow 1 Người đọc truy cập vào trang chủ web

2 Hệ thống hiển thị danh sách tất cả các truyện vừa được đăng tải

3.4.5 Đặc tả usecase tìm kiếm và lọc

Bảng 3.7: Đặc tả Use-case tìm kiếm và lọc

Name Tìm kiếm và lọc

Goal Tìm truyện theo tên hoặc tiêu chí nào đó

Main flow 1 Tìm kiếm truyện theo tên bằng thanh tìm kiếm có sẵn

2 Hiển thị danh sách truyện phù hợp

Alternative flow 1a1 Bấm “Tìm kiếm nâng cao”

1a2 Nhập tên bộ truyện cần tìm

1a4 Điền tên tác giả, tên họa sĩ, chọn thể loại muốn tìm, chọn thứ tự sắp xếp

3.4.6 Đặc tả usecase xem chi tiết truyện

Bảng 3.8: Đặc tả Use-case xem chi tiết truyện

Name Xem chi tiết truyện

Goal Xem chi tiết truyện

Main flow 1 Người đọc chọn hình ảnh hoặc tên truyện

2 Hệ thống hiển thị thông tin chi tiết truyện

3 Người đọc xem chi tiết truyện như thể loại, nội dung, tác giả, lượt xem, bình luận v.v

4 Người đọc có thể thao tác tại trang chi tiết truyện hoặc quay lại trang trước đó

3.4.7 Đặc tả usecase đọc truyện

Bảng 3.9: Đặc tả Use-case đọc truyện

Goal Đọc truyện theo chương

Pre-Condition Phải tồn tại chương truyện muốn đọc

Main flow 1 Người đọc bấm vào chương truyện muốn đọc

2 Hệ thống hiển thị hình ảnh của chương truyện đó

3 Người đọc bắt đầu đọc truyện

4 Sau khi đã đọc hết chương truyện, nếu chương sau, người đọc có thể ấn nút mũi tên đển tiếp tục đọc chương tiếp theo Alternative flow 4a Người đọc quay lại trang chủ

3.4.8 Đặc tả usecase thêm truyện vào danh sách theo dõi

Bảng 3.10: Đặc tả Use-case thêm vào danh sách theo dõi

Name Thêm vào danh sách theo dõi

Goal Thêm truyện vào danh sách theo dõi

Pre-Condition Reader đã đăng nhập vào hệ thống

Main flow 1 Người đọc truy cập vào trang chi tiết truyện hoặc danh sách truyện

2 Người đọc chọn nút theo dõi truyện

3 Hệ thống thêm truyện vào danh sách theo dõi

Post-condition Truyện được thêm vào danh sách theo dõi

Exception 2b Nếu truyện đã được theo dõi, người đọc chọn nút bỏ theo dõi

3b Truyện được xóa khỏi danh sách theo dõi

3.4.9 Đặc tả usecase thích, bình luận, đánh giá truyện

Bảng 3.11: Đặc tả Use-case thích truyện

Pre-Condition Reader đã đăng nhập vào hệ thống

Main flow 1 Người đọc truy cập vào trang chi tiết truyện

2 Người đọc chọn yêu thích truyện

3 Hệ thống tăng số lượng người yêu thích truyện lên 1 Alternative flow 2b Nếu truyện đã được người đọc đó thích, bấm bỏ thích

3b Hệ thống giảm số lượng người thích truyện đi 1

Bảng 3.12: Đặc tả Use-case bình luận truyện

Pre-Condition Reader đã đăng nhập vào hệ thống

Main flow 1 Người đọc truy cập vào trang chi tiết truyện

2 Người đọc bình luận truyện

3 Hệ thống lưu bình luận truyện và hiển thị tại danh sách bình luận

Post-condition Hệ thống hiển thị bình luận mới trên trang chi tiết truyện Exception 2a Hệ thống xác nhật bình luận là khoảng trống thì sẽ không ghi lại bình luận

Bảng 3.13: Đặc tả Use-case đánh giá truyện

Pre-Condition Reader đã đăng nhập vào hệ thống

Main flow 1 Người đọc truy cập vào trang chi tiết truyện

2 Người đọc đánh giá truyện bằng cách chọn biểu tượng hình ngôi sao

3 Người đọc đánh giá truyện theo sao

Post-condition Hệ thống ghi lại kết quả đánh giá và hiển thị đánh giá trung bình lên trang chi tiết truyện

3.4.10 Đặc tả usecase truyện phổ biến

Bảng 3.14: Đặc tả Use-case truyện phổ biến

Goal Hiển thị top 10 truyện xem nhiều nhất

Main flow 1 Người đọc truy cập vào trang chủ web

2 Hệ thống hiển thị 10 truyện được xem nhiều nhất lên đầu trang

3 Người đọc có thể nhấn mũi tên để chuyển sang các truyện được xem nhiều nhất khác

3.4.11 Đặc tả usecase quản lý tài khoản

Bảng 3.15: Đặc tả Use-case quản lý tài khoản

Name Quản lý tài khoản

Goal Quản lý thông tin cá nhân của tài khoản

Pre-Condition User đã đăng nhập vào hệ thống

Main flow 1 Người dùng truy cập vào trang cá nhân

2 Hệ thống hiển thị các thông tin cá nhân của người dùng

3 Người dùng sửa đổi thông tin cá nhân của mình

4 Người dùng bấm nút “Cập nhật” để cập nhật thông tin cá nhân

Alternative flow 4a Người dùng hủy bỏ cập nhật thông tin cá nhân

Post-condition Thông tin mới của tài khoản được cập nhật

Exception Hệ thống xác nhận thông tin cá nhân không hợp lệ và thông báo đến người dùng

3.4.12 Đặc tả usecase quản lý truyện đã đăng

Bảng 3.16: Đặc tả Use-case quản lý truyện đã đăng

Name Quản lý truyện đã đăng

Goal Quản lý truyện đã đăng

Pre-Condition Translator/Editor đã đăng nhập vào hệ thống

Main flow 1 Dịch giả truy cập vào trang quản lý truyện

2 Hệ thống hiển thị các truyện do người đó tạo ra

3 Dịch giả chọn truyện đã đăng

4 Hệ thống hiển thị danh sách các chương truyện đã đăng

5 Dịch giả chọn thêm mới chương truyện

6 Hệ thống chuyển sang màn hình thêm mới chương truyện

7 Dịch giả cung cấp thông tin đầy đủ và hình ảnh của chương truyện và chọn “đăng truyện”

8 Hệ thống thông báo đăng truyện thành công

Alternative flow 3a Dịch giả chọn thêm mới truyện

4a Hệ thống chuyển sang trang thêm mới truyện

5a Dịch giả cung cấp các thông tin của truyện theo yêu cầu và nhấn “Tạo truyện”

5b1 Dịch giả chọn chọn chương truyện cần xóa

5b2 Dịch giả chọn xóa truyện

5c1 Dịch giả chọn chương truyện cần sửa

5c2 Dịch giả sửa thông tin truyện

5c3 Dịch giả xác nhận chỉnh sửa thông tin truyện

Post-condition Các thay đổi trong quản lý truyện được cập nhật vào hệ thống Exception 5d Hệ thống xác nhận thiếu thông tin truyện cần thiết và thông báo

3.4.13 Đặc tả usecase nhận tiền dựa vào lượt xem

Bảng 3.17: Đặc tả Use-case nhận tiền dựa theo lượt xem

Name Nhận tiền dựa vào lượt xem

Goal Dùng số lượt xem để rút tiền

Pre-Condition Translator/Editor đã đăng nhập vào hệ thống

Tài khoản đã được cung cấp thông tin tài khoản ngân hàng Main flow 1 Dịch giả truy cập vào trang “điểm thưởng của tôi”

2 Hệ thống hiển thị số điểm dịch giả nhận được (dựa vào lượt xem)

3 Dịch giả chọn “Rút tiền”

4 Số điểm được quy đổi ra tiền và chuyển vào tài khoản dịch giả

Post-condition Điềm lượt xem trừ theo số tiền đã rút, tiền chuyển vào tài khoản

Exception 4a Hệ thống xác nhận số điểm thưởng không đủ quy đổi ra tiền mặt và thông báo

4b Hệ thống xác nhận số tài khoản ngân hàng chưa được cung cấp và thông báo

3.4.14 Đặc tả usecase cấm người dùng

Bảng 3.18: Đặc tả Use-case cấm người dùng

Goal Cấm người dùng vi phạm

Pre-Condition Admin đã đăng nhập vào hệ thống

Main flow 1 Quản trị viên truy cập vào trang quản lý tài khoản

2 Hệ thống hiển thị trang quản lý người dùng

3 Quản trị viên nhập ID tài khoản người dùng vi phạm

4 Hệ thống xác nhận người muốn cấm người dùng

5 Quản trị viên chọn nút “Xác nhận”

6 Hệ thống thông báo người dùng đã bị cấm

Alternative flow 3a1 Quản trị viên chọn “Danh sách người dùng bị cấm”

3a2 Hệ thống hiển thị danh sách người dùng bị cấm

3a3 Quản trị viên chọn người dùng bị cấm và chọn “Hủy cấm” 4a Hệ thống thông báo xác nhận muốn hủy cấm người dùng 5a Quản trị viên chọn nút xác nhận

6a Hệ thống thông báo người dùng đã được hủy cấm

Post-condition Cập nhật trạng thái tài khoản người dùng

Exception 5b Quản trị viên nhấn nút “Hủy bỏ”

XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG

Thiết kế giao diện người dùng

4.2.1 Màn hình yêu cầu đăng nhập

- Khi người dùng truy cập các tính năng cần phải có quyền đăng nhập, hệ thống sẽ hiển thị màn hình yêu cầu người dùng đăng nhập

Hình 4.2: Màn hình yêu cầu đăng nhập

- Người dùng có thể thông qua màn hình này và chọn nút “Đăng nhập” nếu đã có tài khoản hoặc “Đăng ký” nếu chưa có tài khoản

- Khi người dùng sửa dụng button “Đăng nhập”, hệ thống sẽ hiển thị màn hình đăng nhập như hình dưới đây

Hình 4.3: Màn hình đăng nhập

- Người dùng sẽ sử dụng tên đăng nhập và mật khẩu đã được đăng ký trước đó để đăng nhập

- Ngoài ra người dùng có thể đăng nhập thông qua tài khoản Google

- Màn hình đăng nhập còn hiển thị các nút “Đăng ký” để người dùng có thể đăng ký nếu chưa có tài khoản, “Quên mật khẩu?” giúp người dùng khôi phục tài khoản thông qua mail đã được đăng ký

- Sau khi người dùng chọn chức năng đăng ký, hệ thống sẽ hiển thị màn hình đăng ký như hình sau

Hình 4.4: Màn hình đăng ký

- Màn hình đăng ký sẽ có 4 trường dữ liệu cho người dùng nhập vào “Tên đăng nhập” và “Mật khẩu” sau khi đăng ký thì công sẽ lưu vào hệ thống, và sẽ được sử dụng cho các lần đăng nhập tiếp theo “Xác nhận mật khẩu” giúp giảm thiểu rủi ro người dùng tạo mật khẩu nhưng gõ phím sai dẫn đến mật khẩu không như ý Email sẽ được liên kết trực tiếp với tài khoản, người dùng có thể sử dụng mail này khi quên mật khẩu

- Ngoài ra còn có các nút “Sign up” để xác nhận muốn tạo tài khoản, quay lại đăng nhập nếu người dùng không muốn tạo tài khoản nữa mà muốn đăng ký với tài khoản hiện có

4.2.4 Màn hình quên mật khẩu

- Sau khi người dùng sử dụng chức năng quên mật khẩu, Hệ thống sẽ hiển thị màn hình quên mật khẩu dưới đây

Hình 4.5: Màn hình quên mật khẩu

- Người dùng có thể thông qua gmail đã đăng ký để lấy lại mật khẩu của mình Sau khi người dùng đã nhập email, hệ thống sẽ gửi link đến mail người dùng, người dùng thông qua link này sẽ được di chuyển tới trang đổi mật khẩu và tạo mật khẩu mới

- Màn hình này sẽ hiển thị đầu tiên khi người dùng truy cập vào trang web

Hình 4.6: Màn hình trang chủ

- Sau khi người dùng chọn nút có biểu tượng ba gạch, hệ thống sẽ hiện một slide bar menu như hình dưới đây

- Người dùng có thể chọn các thành phần trên Slidebar menu để truy cập các chức năng mình muốn Ngoài ra, khi hiển thị Slidebar menu, hệ thống sẽ tự làm mờ các thành phần khác, làm nổi bật Slidebar hơn

4.2.7 Màn hình nội dung truyện

- Khi người dùng chọn truyện muốn đọc, hệ thống sẽ hiển thị màn hình nội dung truyện với các thông tin truyện như hình dưới đây

Hình 4.8: Màn hình nội dung truyện

- Người dùng có thể thông qua đây xem chi tiết truyện mình muốn, cũng như bắt đầu đọc truyện bằng cách chọn chương truyện mình muốn đọc

4.2.8 Màn hình tìm kiếm nâng cao

- Khi người dùng mới tìm truyện thông qua nhiều tiêu chí khác nhau, người dùng có thể truy cập chức năng tìm kiếm nâng cao Màn hình tìm kiếm nâng cao sẽ có giao diện như hình dưới đây

Hình 4.9: Màn hình tìm kiếm nâng cao

- Người dùng có thể tìm truyện thông qua thể loại, tên tác giả, tên truyện, họa sĩ mình thích cũng như sắp xếp truyện mình vừa tìm

4.2.9 Màn hình kết quả tìm kiếm nâng cao

- Sau khi người dùng xác nhận tìm truyện, hệ thống sẽ trả về danh sách truyện phù hợp như hình dưới đây

Hình 4.10: Màn hình kết quả tìm kiếm nâng cao

- Người dùng có thể xem được thông tin các truyện mình vừa tìm, và chọn truyện yêu thích để đọc

4.2.10 Màn hình thông tin người dùng

- Người dùng có thể xem chi tiết thông tin tài khoản của mình, cũng như thay đổi những thông tin đó

Hình 4.11: Màn hình thông tin người dùng

4.2.11 Màn hình truyện đã đăng

- Màn hình truyện đã đăng được hiển thị như ảnh dưới đây

Hình 4.12: Màn hình danh sách truyện đã đăng

- Người dịch có thể thông qua màn hình này để quản lý thông tin truyện của mình, quản lý danh sách các truyện đã đăng cũng như truy cập chức năng quản lý chương của truyện đã đăng

4.2.12 Màn hình thêm mới truyện

- Sau khi sử dụng chức năng thêm truyện ở màn hình quản lý truyện, hệ thống sẽ hiển thị màn hình đăng ký truyện như ảnh dưới đây

Hình 4.13: Màn hình thêm mới truyện

- Người dịch có thể nhập thông tin cho truyện và thêm mới

4.2.13 Màn hình quản lý chương

- Sau khi người dùng truy cập chức năng quản lý chương, hệ thống sẽ hiển thị màn hình quản lý chương như hình dưới đây

Hình 4.14: Màn hình quản lý chương

- Qua màn hình này, người dùng có thể quản lý danh sách các chương truyện đã đăng của mình, cũng như nội dung các chương chưa đó

4.2.14 Màn hình thêm mới chương

- Khi người dùng chọn thêm mới chương, hệ thống sẽ tải màn hình thêm mới chương như hình dưới đây

Hình 4.15: Màn hình thêm mới chương

- Người dùng có thể nhập tên chương mình muốn thêm, cũng như nội dung là hình ảnh của các trang truyện được chọn

4.2.15 Màn hình điểm dịch truyện

- Màn hình điểm dịch truyện sẽ hiển thị như hình dưới đây

Hình 4.16: Màn hình điểm dịch truyện

- Người dùng có thể quy đổi điểm ra tiền bằng cách chọn rút tiền cũng như cung cấp số tài khoản để tiền được chuyển vào

4.2.16 Màn hình đổi mật khẩu

- Khi người dùng truy cập chức năng đổi mật khẩu, hệ thống sẽ hiển màn hình đổi mật khẩu như hình dưới đây

Hình 4.17: Màn hình đổi mật khẩu

- Người dùng sẽ nhập mật khẩu cũ và mật khẩu mới mình muốn đổi

4.2.17 Màn hình truyện theo dõi trong trang cá nhân

- Màn hình truyện theo dõi trong trang cá nhân được hiển thị như hình dưới đây

Hình 4.18: Truyện theo dõi trong trang cá nhân

- Màn hình này tương tự truyện theo dõi, tuy nhiên sẽ khiến người dùng dễ truy xuất hơn khi ở trang cá nhân cũng như không có bất cứ thông tin nào khác không cần thiết mà chỉ có truyện theo dõi

- Sau khi người dùng chọn chương truyện muốn đọc, hệ thống sẽ hiển thị màn hình đọc truyện như hình dưới đây

Hình 4.19: Màn hình đọc truyện

- Màn hình đoc truyện sẽ có hình ảnh của các trang truyện muốn đọc, chapter bar cho phép người dùng di chuyển từ trang đọc truyện về trang chủ, cũng như

2 button backward, forward cho phép người dùng xem chương trước hoặc sau của truyện, select cho phép người dùng chọn chương truyện muốn đọc và nút theo dõi để người dùng thêm vào danh sách theo dõi truyện nếu đang đọc mà cảm thấy truyện hay

Ngày đăng: 15/05/2024, 09:30

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Logo PlantUML - đồ án 1 xây dựng website đọc truyện tranh
Hình 2.1 Logo PlantUML (Trang 12)
Hình 3.1: Sơ đồ Use-case - đồ án 1 xây dựng website đọc truyện tranh
Hình 3.1 Sơ đồ Use-case (Trang 25)
Bảng 3.3: Đặc tả Use-case đăng ký - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.3 Đặc tả Use-case đăng ký (Trang 28)
Bảng 3.4: Đặc tả Use-case đăng nhập - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.4 Đặc tả Use-case đăng nhập (Trang 28)
Bảng 3.6: Đặc tả Use-case danh sách truyện - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.6 Đặc tả Use-case danh sách truyện (Trang 30)
Bảng 3.11: Đặc tả Use-case thích truyện - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.11 Đặc tả Use-case thích truyện (Trang 32)
Bảng 3.10: Đặc tả Use-case thờm vào danh sỏch theo dừi - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.10 Đặc tả Use-case thờm vào danh sỏch theo dừi (Trang 32)
Bảng 3.12: Đặc tả Use-case bình luận truyện - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.12 Đặc tả Use-case bình luận truyện (Trang 33)
Bảng 3.13: Đặc tả Use-case đánh giá truyện - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.13 Đặc tả Use-case đánh giá truyện (Trang 33)
Bảng 3.15: Đặc tả Use-case quản lý tài khoản - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.15 Đặc tả Use-case quản lý tài khoản (Trang 34)
Bảng 3.16: Đặc tả Use-case quản lý truyện đã đăng - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.16 Đặc tả Use-case quản lý truyện đã đăng (Trang 34)
Bảng 3.17: Đặc tả Use-case nhận tiền dựa theo lượt xem - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.17 Đặc tả Use-case nhận tiền dựa theo lượt xem (Trang 35)
Bảng 3.18: Đặc tả Use-case cấm người dùng - đồ án 1 xây dựng website đọc truyện tranh
Bảng 3.18 Đặc tả Use-case cấm người dùng (Trang 36)
Hình 4.1: DB diagram - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.1 DB diagram (Trang 37)
Hình 4.3: Màn hình đăng nhập - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.3 Màn hình đăng nhập (Trang 39)
Hình 4.5: Màn hình quên mật khẩu - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.5 Màn hình quên mật khẩu (Trang 41)
Hình 4.6: Màn hình trang chủ - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.6 Màn hình trang chủ (Trang 42)
Hình 4.7: Slidebar menu - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.7 Slidebar menu (Trang 43)
Hình 4.8: Màn hình nội dung truyện - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.8 Màn hình nội dung truyện (Trang 44)
Hình 4.9: Màn hình tìm kiếm nâng cao - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.9 Màn hình tìm kiếm nâng cao (Trang 45)
Hình 4.10: Màn hình kết quả tìm kiếm nâng cao - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.10 Màn hình kết quả tìm kiếm nâng cao (Trang 46)
Hình 4.11: Màn hình thông tin người dùng - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.11 Màn hình thông tin người dùng (Trang 47)
Hình 4.12: Màn hình danh sách truyện đã đăng - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.12 Màn hình danh sách truyện đã đăng (Trang 48)
Hình 4.13: Màn hình thêm mới truyện - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.13 Màn hình thêm mới truyện (Trang 49)
Hình 4.14: Màn hình quản lý chương - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.14 Màn hình quản lý chương (Trang 50)
Hình 4.15: Màn hình thêm mới chương - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.15 Màn hình thêm mới chương (Trang 51)
Hình 4.16: Màn hình điểm dịch truyện - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.16 Màn hình điểm dịch truyện (Trang 52)
Hình 4.17: Màn hình đổi mật khẩu - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.17 Màn hình đổi mật khẩu (Trang 53)
Hỡnh 4.18: Truyện theo dừi trong trang cỏ nhõn - đồ án 1 xây dựng website đọc truyện tranh
nh 4.18: Truyện theo dừi trong trang cỏ nhõn (Trang 54)
Hình 4.19: Màn hình đọc truyện - đồ án 1 xây dựng website đọc truyện tranh
Hình 4.19 Màn hình đọc truyện (Trang 55)
w