Chương 1. TỔNG QUAN VỀ ĐỀ TÀI 1. Phân tích yêu cầu đề tài 1. Tên đề tài - Xây dựng “Website ứng dụng đọc sách AudioBook”.
Chức năng - Đây là ứng dụng đọc sách cho khách hàng và quản lý các loại sách dành cho người quản lý. Có các chức năng sau: Cho phép cập nhật sách vào cơ sở dữ liệu. Quản lý tài khoản. Đánh giá và bình luận sách audio.
Tải xuống và phát lại sách audio. Quản lý danh mục, tên sách, tác giả. Tìm kiếm và duyệt sách audio.3 Yêu cầu đề ra - Hệ thống có 2 phần Thứ nhất: Khách hàng Khách hàng là những người có nhu cầu đọc sách hoặc nghe audiobook , họ sẽ tìm kiếm các loại sách cần thiết từ hệ thống ứng dụng và nghe. Vì thế phải có các chức năng sau : o Đăng ký tài khoản: Khách hàng có thể đăng ký tài khoản mới để truy cập vào hệ thống và sử dụng các chức năng của ứng dụng.
o Tìm kiếm sách: Khách hàng có thể tìm kiếm sách theo tên, tác giả, thể loại, nhà xuất bản hoặc các tiêu chí khác để tìm những cuốn sách phù hợp với nhu cầu của mình. o Nghe audiobook: Khách hàng có thể nghe các audiobook trên ứng dụng. o Tải xuống sách: Khách hàng có thể tải xuống các sách để đọc offline hoặc lưu trữ. o Đánh giá sách: Khách hàng có thể đánh giá các sách đã đọc để chia sẻ ý kiến với cộng đồng người dùng khác.
o Tạo danh sách đọc: Khách hàng có thể tạo danh sách các cuốn sách mà họ muốn đọc sau này để tiện quản lý. Thứ hai: Người quản lý Người quản lý có quyền kiểm soát mọi hoạt động của hệ thống. Người này có đăng ký và đăng nhập vào hệ thống để thực hiện các chức năng này: o Đăng nhập và đăng ký tài khoản: Người quản lý có thể đăng nhập vào hệ thống để truy cập các chức năng quản lý. o Quản lý sách: Người quản lý có thể quản lý thông tin sách, bao gồm tên sách, tác giả, thể loại, nhà xuất bản, mô tả, giá tiền, số lượng sách trong kho, v.v o Quản lý người dùng: Người quản lý có thể quản lý thông tin người dùng, bao gồm thông tin cá nhân và thông tin đăng nhập.
o Quản lý đơn hàng: Người quản lý có thể quản lý các đơn hàng của khách hàng, bao gồm thông tin đơn hàng, thông tin khách hàng, thông tin sản phẩm, v. o Quản lý doanh thu: Người quản lý có thể quản lý doanh thu của hệ thống, bao gồm số lượng sách đã bán, doanh thu, số lượng người dùng, số lượng sách được tải xuống, v. o Thống kê và báo cáo: Hệ thống cung cấp các báo cáo và thống kê về số lượng sách đã bán, doanh thu, số lượng người dùng, số lượng sách được tải xuống, v.v Ngoài các chức năng trên thì ứng dụng phải được thiết kế dễ hiểu, giao diện mang tính dễ dùng đẹp mắt và làm sao cho khách hàng thấy được sách mình cần tìm, nắm rõ được nhu cầu của mỗi khách hàng. Trong đó điều quan trong nhất là phải đảm bảo được bảo mật về thông tin khách hàng, không để bị lộ thông tin cá nhân của khách hàng ra bên ngoài.
Khảo sát hiện trạng và xây dựng hệ thống - Sau khi khảo sát trên thị trường về ứng dụng đọc sách Audiobook thì em đã nắm được các thông tin sau : Quản lí tài khoản : Dành cho người quản lí với các thông tin sau : Họ tên , email, mật khẩu Quản lí danh mục : Mã danh mục, tên danh mục, mô tả Quản lí thể loại : Tên thể loại, mô tả, mã danh mục Quản lí sách : Mã sách, tên sách, tác giả, giá, giảm giá, mô tả, thông tin sách, mã danh mục, mã thể loại Quản lí đơn hàng : tên khách hàng, tên sách, số lượng, giá. Quản lí banner : Tên banner, hình ảnh, mô tả 3. Công nghệ sử dụng 3.1 Ngôn ngữ Kotlin - Kotlin là một ngôn ngữ lập trình đa năng, có thể được sử dụng để phát triển các ứng dụng đa nền tảng, bao gồm các ứng dụng di động, ứng dụng máy tính và ứng dụng web. Kotlin được phát triển bởi JetBrains, công ty phát triển các công cụ lập trình phổ biến như IntelliJ IDEA, PyCharm và ReSharper.
Ngôn ngữ Kotlin 3.2 Ngôn ngữ PHP - PHP là viết tắt của cụm từ Personal Home Page nay đã được chuyển thành Hypertext Preprocessor. Hiểu đơn giản thì PHP là một ngôn ngữ lập trình kịch bản (scripting language) đa mục đích. PHP được dùng phổ biến cho việc phát triển các ứng dụng web chạy trên máy chủ. Dó đó, ngôn ngữ lập trình PHP có thể xử lý các chức năng từ phía server để sinh ra mã HTML trên client như thu thập dữ liệu biểu mẫu, sửa đổi cơ sở dữ liệu, quản lý file trên server hay các hoạt động khác.
Ngôn ngữ PHP 3.3 Cơ sở dữ liệu MySQL - MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server. Với RDBMS là viết tắt của Relational Database Management System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu.
Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s. Cơ sở dữ liệu MySQL 3.4 Framework Android Jetpack - Android Jetpack là một bộ công cụ và thư viện phát triển ứng dụng Android được cung cấp bởi Google.
Jetpack cung cấp các thành phần như LiveData, ViewModel, Room, Paging, Navigation, và WorkManager để giúp giảm thiểu việc viết lại mã, tăng tính khả mở rộng và cải thiện hiệu suất của ứng dụng. - Với Android Jetpack, các nhà phát triển có thể dễ dàng thiết kế kiến trúc cho ứng dụng của mình, quản lý dữ liệu và thông báo cho người dùng khi dữ liệu thay đổi, quản lý các tác vụ trong background của ứng dụng, điều hướng giữa các màn hình và quản lý cơ sở dữ liệu SQLite trên ứng dụng Android. Logo Android Jetpack 3. Kết chương 1 Thông qua tìm hiểu đề tài và tìm hiều được các ngôn ngữ để lập trình ứng dụng, từ đó làm cơ sở đề xuất phân tích và thiết kế hệ thống ứng dụngsẽ được trình bày trong chương tiếp theo.
PHÂN TÍCH THIẾT KẾ VÀ HỆ THỐNG 1. Danh sách các actor STT Tên actor Công dụng Khách hàng có quyền truy cập vào nội dung audiobook, có thể tạo tài 1 Khách hàng khoản, mua và cho thuê các cuốn sách, lưu trữ thông tin cá nhân và có quyền đăng xuất khỏi tài khoản của mình. Người quản lý có quyền truy cập vào tất cả các nội dung và thông tin trong ứng dụng audiobook, có thể tạo và quản lý các tài khoản người dùng, quản lý 2 Người quản lý các cuốn sách, tác giả, giá cả và các giao dịch mua bán. Ngoài ra, người quản lý cần cung cấp các tính năng bảo mật để bảo vệ thông tin khách hàng và tài khoản trong ứng dụng audiobook Bảng 2: Bảng danh sách các actor 2.
Danh sách các use case STT Tên use case Mô tả Actor Cho phép đăng ký để tiếp tục đăng Khách hàng, 1 Đăng ký nhâp để sử dụng hệ Quản lý thống Cho phép đăng Khách hàng, 2 Đăng nhập nhập vào để sử Quản lý dụng hệ thống Cho phép thoát tài Khách hàng, 3 Đăng xuất khoản ra khỏi hệ Quản lý thông 4 Quản lý danh mục Cho phép thêm, Người quản lý sửa, xóa hoặc cập nhật danh mục sách trong hệ thống Cho phép thêm, Quản lý danh sách sửa, xóa hoặc cập 5 Người quản lý audiobook tên sách trong hệ thống Cho phép thêm, Quản lý nội dung sửa, xóa hoặc cập 6 Người quản lý audiobook nhật nội dung sách trong hệ thống Muốn tìm hiểu thêm về các thông Xem thông tin Khách hàng, 7 tin (ngày xuất bản, audiobook Người quản lý tác giả ,.) của audiobook Tìm kiếm sản Tìm kiếm 8 phẩm theo tên hoặc Khách hàng audibook các loại danh mục Có thể lưu 9 Tải audiobook audiobook về để Khách hàng nghe khi offline Bảng 3: Bảng danh sách các use case 3. Đặc tả use case 3. Đăng nhập - Ca sử dụng : Đăng nhập - Tác nhân : Khách hàng và Quản lý - Mục đích : Người sử dụng chọn chức năng đăng nhập , sau đó nhập tài khoản mật khẩu để truy cập vào hệ thống - Điều kiện trước : Người sử dụng phải có tài khoản được quyền truy cập vào hệ thống - Điều kiện sau : Người sử dụng đăng nhập thành công vào hệ thống - Mô tả: Hệ thống yêu cầu actor nhập thông tin(Tên đăng nhập) và mật khẩu để tiến hành đăng nhập Actor nhập thông tin đăng nhập thì click vào đăng nhập Hệ thống sẽ check và tìm kiếm xem có thông tin actor vừa nhập không. Nếu không thành công, thì hệ thống sẽ bắt actor nhập lại đến khi nào đúng.
Nếu thành công, dựa vào dữ liệu của actor thì hệ thống sẽ phân quyền xem actor là ở vị trí nào. - Các tương tác chính : Hoạt động của tác nhân Hoạt động của hệ thống 1) Người sử dụng chọn chức năng đăng 2) Hệ thống hiển thị ra trang đăng nhập nhập yêu cầu nhập tài khoản và mật khẩu 3) Người sử dụng nhập tài khoản và mật 4) Hệ thống kiểm tra tính đúng sai của khẩu tài khoản + Nếu đúng hệ thống sẽ đăng nhập thành công vào hệ thống và kết thúc use case + Nếu sai hệ thống sẽ hiển thị thông báo “ Tài khoản không tồn tại” và kết thúc use case 3. Đăng ký - Ca sử dụng: Đăng ký - Tác nhân: Khách hàng và Quản lý - Mục đích: tạo tài khoản để người dùng đăng nhập vào hệ thống - Điều kiện trước: không có - Điều kiện sau: đăng kí tài khoản thành công - Mô tả: Actor chọn chức năng đăng ký Tại đây actor nhập đầy đủ thông tin(Tên, Email, Mật khẩu) để tiến hành đăng ký.