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

Đồ án xây dựng ứng dụng ebook

27 4 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

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN XÂY DỰNG ỨNG DỤNG EBOOK GIẢNG VIÊN HƯỚNG DẪN ThS Thái Thụy Hàn Uyển Sinh viên thực hiện: Lữ Đình Long - 20521565 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN XÂY DỰNG ỨNG DỤNG EBOOK GIẢNG VIÊN HƯỚNG DẪN ThS Thái Thụy Hàn Uyển Sinh viên thực hiện: Lữ Đình Long - 20521565 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành tri ân sâu sắc đến cô hướng dẫn, tạo điều kiện cho em hồn thành đồ án mơn Đồ án Trong vòng 11 tuần, qua buổi học, nhờ dẫn nhiệt tình cơ, em tiếp thu kiến thức quan trọng, bổ ích góp ý chân thành để làm đồ án hoàn chỉnh Trong khoảng thời gian thực đồ án, em học hỏi thêm nhiều kiến thức, kinh nghiệm, biết quy trình để tạo sản phẩm phần mềm Bên cạnh đó, em xin cảm ơn bạn bè lớp động viên, thảo luận góp ý cho em đồng thời khơi thêm nguồn động lực cho nhóm suốt trình đầy khó khăn Mặc dù cố gắng hồn thành báo cáo với tất nỗ lực song báo cáo em chắn không tránh khỏi thiếu sót, em mong nhận thơng cảm góp ý chân thành từ Em xin chân thành cảm ơn Thành phố Hồ Chí Minh, tháng năm 2023 Lữ Đình Long NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Tp.HCM, ngày tháng năm 2023 GVHD ThS Thái Thụy Hàn Uyển MỤC LỤC Chương - Thông tin chung 1.1 Tên đề tài 1.2 Thông tin sinh viên 1.3 Môi trường phát triển 1.4 Môi trường triển khai Chương - Ngơn ngữ lập trình cơng nghệ 1.1 Dart 1.1.1 Dart gì? 1.1.2 Lợi ích sử dụng Dart 1.2 Flutter 1.2.1 Flutter gì? 1.2.2 Tại dùng Flutter? 10 1.2.3 Đặc điểm bật 10 Chương – Tổng quan 11 3.1 Khảo sát trạng 11 3.2 Phát biểu toán 11 3.3 Yêu cầu 11 3.3.1 Yêu cầu chức 11 3.3.2 Yêu cầu phi chức 12 Chương - Thiết kế sở liệu 13 4.1 Sơ đồ ERD 13 4.2 Mô tả chi tiết 13 4.2.1 Ebook 13 4.2.2 AudioBook 14 4.2.3 Genre 15 4.2.4 Genre_ebook 15 4.2.5 Genre_audio_book 15 4.2.6 ChapterMp3 16 4.2.7 Library_ebook 16 4.2.8 Library_audio_book 16 Chương - USE CASE 17 5.1 Sơ đồ Use Case 17 Chương - Thiết kế giao diện 18 6.1 Sơ đồ liên kết hình 18 6.2 Danh sách hình 18 6.3 Mơ tả hình 19 6.3.1 Splash Screen 19 6.3.2 Onboarding Screen 20 6.3.3 Home Screen 20 6.3.4 Library Screen 20 6.3.5 Ebook Screen 21 6.3.6 AudioBook Screen 22 6.3.7 Genre Screen 23 6.3.8 Detail Ebook Screen 23 6.3.9 Detail AudioBook Screen 24 6.3.10 Reading Ebook Screen 24 6.3.11 Listening AudioBook Screen 25 6.3.12 Search Screen 25 Chương - Kết luận 26 7.1 Ưu điểm 26 7.2 Nhược điểm 26 7.3 Hướng phát triển 26 TÀI LIỆU THAM KHẢO 27 Chương - Thông tin chung 1.1 Tên đề tài  Xây dựng ứng dụng Ebook 1.2 Thông tin sinh viên  MSSV: 20521565  Họ tên: Lữ Đình Long  Email: 20521565@gm.uit.edu.vn 1.3 Môi trường phát triển  Visual Studio Code: Viết mã  Android Studio: Giả lập Android  Material Design: Style phong cách Google cho ứng dụng Flutter 1.4 Môi trường triển khai  Android iOS Chương - Ngơn ngữ lập trình cơng nghệ 1.1 Dart 1.1.1 Dart gì? Tổng quan  Dart ngôn ngữ tối ưu cho client để phát triển ứng dụng cách nhanh chóng tảng Mục tiêu Dart trở thành ngôn ngữ suất cao cho việc phát triển đa tảng với tảng runtime linh hoạt cho framework  Dart tảng Flutter Dart cung cấp ngôn ngữ môi trường chạy cho Flutter, Dart hỗ trợ khía cạnh khác formatting, analyzing, testing Ngôn ngữ  Dart ngơn ngữ type-safe, sử dụng chế kiểm tra static type để đảm bảo giá trị biến ln trùng với static type biến Đơi đề cập sound typing Mặc dù kiểu liệu bắt buộc, type annotation khơng bắt buộc chế type inference  Dart cho phép kiểu liệu dynamic kết hợp với runtime check, hữu dụng trường hợp cụ thể Thư viện  Dart có tập hợp core libraries phong phú, cung cấp cho tác vụ ngày nhà phát triển: o Built-in types, collections, and core functionality khác cho chương trình Dart (dart::core) o Collection types queues, linked lists, hashmaps, and binary trees (dart:collection) o Encoders decoders cho việc chuyển đổi dạng liệu với nhau, bao gồm JSON UTF-8 (dart:convert) o Hàm số toán học, lấy số ngẫu nhiên (dart:math) o File, socket, HTTP, and hỗ trợ I/O khác cho ứng dụng non-web (dart:io) o Hỗ trợ asynchronous programming, với class Future Stream (dart:async) o Và nhiều thư viện khác  Ngoài core libraries, cịn có nhiều API publish lên pub.dev đội ngũ phát triển Google Nền tảng  Native platform: Nhắm vào thiết bị di động desktop, bao gồm Dart VM với biên dịch just-in-time (JIT) ahead-of-time (AOT)  Web platform: Nhắm vào ứng dụng web, bao gồm biên dịch Dart sang Javascript 1.1.2 Lợi ích sử dụng Dart  Năng suất: Cú pháp Dart rõ ràng súc tích, cơng cụ đơn giản mạnh mẽ Type-safe giúp bạn xác định sớm lỗi tinh tế  Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có dự đốn hiệu suất cao khởi động nhanh thiết bị di động web  Dart biên dịch thành mã ARM x86, để ứng dụng di động Dart chạy tự nhiên iOS, Android Đối với ứng dụng web, chuyển mã từ Dart sang JavaScript  Dễ gần: Dart quen thuộc với nhiều nhà phát triển có, nhờ vào cú pháp định hướng đối tượng  Reactive: Dart phù hợp với lập trình Reactive, với hỗ trợ để quản lý đối tượng tồn thời gian ngắn 1.2 Flutter 1.2.1 Flutter gì?  Flutter mobile UI framework Google để tạo giao diện chất lượng cao iOS Android khoảng thời gian ngắn Flutter hoạt động với code sẵn có sử dụng lập trình viên, tổ chức  Flutter hồn tồn miễn phí mã nguồn mở 1.2.2 Tại dùng Flutter?  Nếu bạn tìm kiếm phương pháp thay để phát triển ứng dụng Android, bạn nên cân nhắc thử Flutter Google, framework dựa ngôn ngữ lập trình Dart  Các ứng dụng xây dựng với Flutter phân biệt với ứng dụng xây dựng cách sử dụng Android SDK, giao diện hiệu suất Hơn nữa, với tinh chỉnh nhỏ, chúng chạy thiết bị iOS  Flutter sử dụng Dart, ngôn ngữ nhanh, hướng đối tượng với nhiều tính hữu ích mixin, generic, isolate, static type  Flutter có thành phần UI riêng nó, với chế để kết xuất chúng tảng Android iOS Hầu hết thành phần giao diện người dùng, sẵn dùng, phù hợp với nguyên tắc Material Design  Các ứng dụng Flutter phát triển cách sử dụng IntelliJ IDEA, IDE giống với Android Studio 1.2.3 Đặc điểm bật  Fast Development: Tính Hot Reload hoạt động milliseconds để thị giao diện tới bạn Sử dụng tập hợp widget customizable để xây dựng giao diện vài phút Ngoài Hot Reload cịn giúp bạn thêm tính năng, fix bug tiết kiệm thời gian mà không cần phải thông qua máy ảo, máy android iOS  Expressive and Flexible UI: Có nhiều thành phần để xây dựng giao diện Flutter vô đẹp mắt theo phong cách Material Design Cupertino, hỗ trợ nhiều APIs chuyển động, smooth scrolling…  Native Performance: Các widget Flutter kết hợp khác biệt tảng ví dụ scrolling, navigation, icons, font để cung cấp hiệu tốt tới iOS Android Chương - Thiết kế sở liệu 4.1 Sơ đồ ERD Hình 1.1 Sơ đồ ERD 4.2 Mô tả chi tiết 4.2.1 Ebook STT Tên thuộc tính Kiểu Ràng buộc PK Ý nghĩa/ghi Mã sách điện tử ebook_id UUID title text Tiêu đề sách image text Ảnh sách author text Tên tác giả year text Năm xuất view text Lượt xem publisher text Tên nhà xuất pages int Số trang sách description text Thông tin mô tả sách 10 epub text Lưu file epub sách 11 createAt int Thời gian sách tạo 12 isFavorite bool Sách có u thích khơng? Bảng Mô tả chi tiết bảng Ebook 4.2.2 AudioBook STT Tên thuộc tính Kiểu Ràng buộc audio_book_id UUID PK Ý nghĩa/ghi Mã sách nói title text Tiêu đề sách image text Ảnh sách author text Tên tác giả year text Năm xuất listen text Lượt nghe publisher text Tên nhà xuất description text Thông tin mô tả sách epub text Lưu file epub sách 10 createAt int Thời gian sách tạo 11 isFavorite bool Sách có u thích khơng? Bảng Mơ tả chi tiết bảng AudioBook 4.2.3 Genre STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi genre _id UUID name text Mã thể loại PK Tên thể loại Bảng Mô tả chi tiết bảng Genre 4.2.4 Genre_ebook STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi genre _id UUID FD Mã thể loại ebook _id UUID FD Mã sách điện tử Bảng Mô tả chi tiết bảng Genre_ebook 4.2.5 Genre_audio_book STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi UUID FD Mã thể loại audio_book _id UUID FD Mã sách nói genre _id Bảng Mơ tả chi tiết bảng Genre_audio_book 4.2.6 ChapterMp3 STT Tên thuộc tính Kiểu Ràng buộc chapter_mp3 _id UUID Ý nghĩa/ghi Mã chương sách nghe FK title Text Tên chương url Text File nghe chương Bảng Mô tả chi tiết bảng ChapterMp3 4.2.7 Library_ebook STT Tên thuộc tính Kiểu Ràng buộc lib_ebook _id UUID Ý nghĩa/ghi Mã thư viện sách điện tử FK Bảng Mô tả chi tiết bảng Library_ebook 4.2.8 Library_audio_book STT Tên thuộc tính Kiểu Ràng buộc lib_audio_book _id UUID FK Ý nghĩa/ghi Mã thư viện sách nói Bảng Mô tả chi tiết bảng Library_audio_book Chương - USE CASE 5.1 Sơ đồ Use Case Hình Sơ đồ Use Case Chương - Thiết kế giao diện 6.1 Sơ đồ liên kết hình Hình 2 Sơ đồ liên kết hình 6.2 Danh sách hình STT Tên hình Màn hình Splash Màn hình Onboarding Màn hình Main Màn hình Home Màn hình Library Màn hình Ebook Màn hình Chức Hiển thị mở ứng dụng Hiển thị thông tin ứng dụng Chứa thơng tin hình khác Hiển thị thông tin sách, lịch sử đọc sách… Quản lý thư viên sách người dùng Hiển thị thông tin sách điện tử Hiển thị thông tin sách nói 10 11 12 13 AudioBook Màn hình Search Màn hình Ebook Detail Màn hình AuioBook Detail Màn hình Genre Màn hình Reading Ebook Cho phép người dùng tìm kiếm sách theo nhu cầu Hiển thị chi tiết thông tin sách điện tử Hiển thị chi tiết thơng tin sách nói Hiển thị sách theo thể loại Cho phép người dùng đọc sách thực nhiều chức khác : ghi , đánh dấu… Cho phép người dùng nghe sách thực nhiều Màn hình Listening chức khác : thay đổi tốc độ đọc, chuyển AudioBook chương nghe Bảng Danh sách hình 6.3 Mơ tả hình 6.3.1 Splash Screen Hình Splash Screen 6.3.2 Onboarding Screen Hình Onboarding Screen 6.3.3 Home Screen Hình Home Screen 6.3.4 Library Screen Hình Library Screen Hình Library Screen 6.3.5 Ebook Screen Hình Ebook Screen 6.3.6 AudioBook Screen Hình AudioBook Screen 6.3.7 Genre Screen Hình Genre Screen 6.3.8 Detail Ebook Screen Hình 3 Detail Ebook Screen 6.3.9 Detail AudioBook Screen Hình Detail AudioBook Screen 6.3.10 Reading Ebook Screen Hình Reading Ebook Screen 6.3.11 Listening AudioBook Screen Hình Listening AudioBook Screen 6.3.12 Search Screen Hình Search Screen Chương - Kết luận 7.1 Ưu điểm    Tiện lợi di động: Người dùng đọc sách nhiều thiết bị khác máy tính (giả lập) , điện thoại thơng minh máy tính bảng, giúp tiết kiệm thời gian mang sách điện tử lúc, nơi Trải nghiệm đa phương tiện: Ứng dụng cho phép người dùng không đọc sách mà cịn nghe sách điện tử, với tính chọn chương thay đổi tốc độ nghe Điều tạo trải nghiệm đa phương tiện đa dạng thuận tiện Giao diện đẹp, tiện lợi cho việc đọc sách với nhiều tính hay , hấp dẫn 7.2 Nhược điểm  Phụ thuộc vào thiết bị di động: Ứng dụng sách điện tử phụ thuộc vào thiết bị di động để đọc sách, điều hạn chế trải nghiệm đọc số thiết bị khơng tương thích  Sự phụ thuộc vào kết nối internet: Đối với việc tải sách điện tử tính trực tuyến, người dùng cần có kết nối internet ổn định Nếu khơng có kết nối, trải nghiệm đọc sách bị gián đoạn  Sách điện tử có định dạng file epub, chưa hỗ trợ định dạng khác  Một số tính chưa hồn thiện 7.3 Hướng phát triển  Tích hợp đồng hóa liệu người dùng đăng nhập , đăng ký  Tích hợp thêm tảng thiết bị: Mở rộng khả hỗ trợ đọc sách tảng thiết bị mới, loại đồng hồ thông minh thiết bị IoT  Nâng cao tính tương tác: Cải thiện tính tương tác trải nghiệm người dùng cách thêm tính nhận diện giọng nói, chế độ đọc tự động, gợi ý sách phân loại sách theo thể loại  Mở rộng tảng sách: Mở rộng hệ thống sách điện tử cách hợp tác với nhà xuất tác giả để đưa thêm nhiều sách đa dạng vào thư viện  Kết nối xã hội: Tích hợp tính kết nối xã hội để người dùng chia sẻ sách u thích, gợi ý sách cho tham gia cộng đồng đọc sách trực tuyến  Cải thiện tính bảo mật: Tăng cường biện pháp bảo mật để bảo vệ thông tin cá nhân người dùng đảm bảo an toàn việc tải truy cập sách điện tử  Mở rộng tính đọc sách nâng cao: Xây dựng thêm tính tạo chế độ ban đêm, điều chỉnh độ sáng, chế độ chia sẻ hình chế độ đọc nhanh   Cải thiện hiệu suất tối ưu hóa: Tối ưu hóa hiệu suất tốc độ ứng dụng để đảm bảo trải nghiệm mượt mà nhanh chóng cho người dùng Mở rộng quốc gia ngôn ngữ: Hỗ trợ nhiều quốc gia ngôn ngữ để mở rộng thị trường đáp ứng nhu cầu đọc sách toàn cầu TÀI LIỆU THAM KHẢO [1] Flutter Documentation: https://docs.flutter.dev/ [2] Dart Documentation: https://dart.dev/guides [3] Flutter Youtube Official Channel: https://www.youtube.com/@flutterdev [4] Material Design: https://m3.material.io/ [5] GSkinner Blog: https://blog.gskinner.com/

Ngày đăng: 04/09/2023, 20:29

w