Đăng ký Đăng nhập

Tài liệu Ứng dụng phân phối beat bản quyền

.PDF
51
1
104

Mô tả:

ĐẠ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 NGUYỄN CAO VIỆT HÒA NGUYỄN VIỆT HOÀNG ĐỒ ÁN 1 ỨNG DỤNG PHÂN PHỐI BEAT BẢN QUYỀN Copyright Beat Distribution App NGÀNH CÔNG NGHỆ PHẦN MỀM TP. HỒ CHÍ MINH, 2022 ĐẠ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 NGUYỄN CAO VIỆT HÒA - 19520552 NGUYỄN VIỆT HOÀNG - 19521540 ĐỒ ÁN 1 ỨNG DỤNG PHÂN PHỐI BEAT BẢN QUYỀN BEATS DISTRIBUTION APP NGÀNH CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN THS. NGUYỄN THỊ THANH TRÚC TP. HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Độc Lập - Tự Do - Hạnh Phúc THÔNG TIN TP. HCM, ngày tháng năm 2021 NHẬN XÉT ĐỒ ÁN 1 (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: Ứng dụng Phân phối beat bản quyền Nhóm sinh viên thực hiện: NGUYỄN CAO VIỆT HÒA - 19520552 NGUYỄN VIỆT HOÀNG - 19521540 Cán bộ hướng dẫn: ThS. NGUYỄN THỊ THANH TRÚC Đánh giá Khóa luận: 1. Về cuốn báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét về hình thức cuốn báo cáo: 2. Về nội dung nghiên cứu: 3. Về chương trình ứng dụng: 4. Về thái độ làm việc của sinh viên: Đánh giá chung: Điểm từng sinh viên: NGUYỄN VIỆT HOÀNG ...................... /10 NGUYỄNCAO VIỆT HÒA ........... /10 Người nhận xét (Ký và ghi rõ họ tên) Nguyễn Thị Thanh Trúc LỜI CẢM ƠN Để hoàn thành dự án cho môn Đồ án 1 này, chúng em xin gửi lời cảm ơn chân thành đến: Ths. Nguyễn Thị Thanh Trúc đã tận tình giúp đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện đồ án môn học này mà còn là hành trang tiếp bước cho chúng em trong quá trình học tập và thực hiện khóa luận tốt nghiệp sau này. Trong quá trình làm đồ án này chúng em không tránh khỏi được những sai sót, chúng em kính mong nhận được sự chỉ dẫn và góp ý của cô để đồ án được hoàn thiện hơn. Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng cô. Tp.Thủ Đức, 16 tháng 06 năm 2022 Sinh viên NGUYỄN CAO VIỆT HÒA NGUYỄN VIỆT HOÀNG ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NAM THÔNG TIN Độc Lập – Tự Do – Hạnh Phúc Tp.Thủ Đức, ngày 16 tháng 6 năm 2021 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Ứng dụng phân phối beat bản quyền. Cán bộ hướng dẫn: ThS. Nguyễn Thị Thanh Trúc Thời gian thực hiện:Từ ngày 21/02/2022 đến ngày 11/06/2022 Sinh viên thực hiện: 1. Nguyễn Cao Việt Hòa - 19520552 2. Nguyễn Việt Hoàng - 19521540 - Nội dung đề tài: (Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện, kết quả mong đợi của đề tài) Mục tiêu Nghiên cứu về các công nghệ lập trình di động bằng framework Flutter và ngôn ngữ Dart, xây dựng backend, hệ quản trị cơ sở dữ liệu bằng Firebase, các nghiệp vụ hay bước xử lý các bài toán đặc trưng của một ứng dụng phân phối online cụ thể trong đồ án này là cung cấp dịch vụ phân phối beat trực tiếp, cũng như hiểu được cách xử lý dữ liệu để có thể gia tăng hiệu suất ứng dụng. Nhiệm vụ Đề tài “Ứng dụng phân phối beat nhạc bản quyền” là một ứng dụng chạy trên điện thoại và có thể chạy trên hệ điều hành Android. Ứng dụng gồm có 2 luồng tương tác: admin với vai trò là người phân phối, quản lý các sản phẩm trên ứng dụng. Và user là người dùng, có thể giao dịch trên app. Đối với admin: − Xem danh sách beat hiện hành − Cập nhật beat mới − Tìm kiếm − Bộ lọc − Cập nhật thông tin − Duyệt mua beat − Quản lý beat − Đăng nhập − Đăng ký − Notification − Xem Chi tiết beat − Xem beat đã bán Đối với người dùng: − Đăng nhập hệ thống − Notification − Giỏ hàng − Tìm kiếm − Bộ lọc − Thông tin chi tiết beat − Thanh toán − Hủy đơn hàng − Quản lý thông tin cá nhân − Beat đã mua Phương pháp thưc ̣hiên: Tìm hiểu các quy trình nghiệp vụ phân phối hàng hóa kỹ thuật số hiện có. Tìm hiểu nghiệp vụ, quy trình hoạt động của studio âm nhạc. Phác họa hệ thống tổng quát (thiết kế dữ liệu, xử lý dữ liệu…). Tham khảo các ứng dụng tương tự: Spotify, The Space Warker, … Tham khảo ý kiến của giảng viên hướng dẫn để được định hướng đúng, đạt kết quả tốt nhất. Thiết kế giao diện, cơ sở dữ liệu đáp ứng được các yêu cầu cho ứng dụng. Kết quả mong đợi − Đối với kết quả mong đợi chung: o Xử lý được bài toán quản lý hàng hóa kỹ thuật số o Xây dựng được cách xử lý các bài toán về tải dữ liệu tăng hiệu suất. o Biết được các kỹ thuật lập trình với Flutter, Firebase. o Hoàn thành ứng dụng với giao diện trực quan, hoạt động tốt trên nền tảng Android. o Hiểu và vận dụng được framework Flutter và ngôn ngữ lập trình Dart. o Giải quyết được bài toán về xử lý thanh toán trực tuyến. − Đối với ứng dụng bên mua: o Với khách hàng là người dùng chưa lựa chọn được type beat mong muốn, có thể xem xét các beat recommended hoặc nghe thử các type beat đang hot. o Với khách hàng là người dùng đã lựa chọn được type beat mong muốn nhưng chưa chọn được cụ thể, hoặc phù hợp với phong cách âm nhạc của một producer cụ thể, có thể sử dụng tính năng tìm kiếm theo bộ lọc. − Các tiêu chí khác o Tính thẩm mỹ: Ứng dụng có giao diện dễ nhìn, dễ dàng thực hiện các thao tác, không gây cảm giác khó chịu hay khó sử dụng cho người dùng. o Tính logic và bảo mật: ▪ Tạo được các luồng nhất quán giữa các màn hình, dễ hiểu cho khách hàng đồng thời đảm bảo có thể có được đầy đủ các thông tin liên quan đến đơn hàng. ▪ Đảm bảo tính bảo mật về các thông tin quan trọng, thiết yếu của khách hàng, tránh để lộ liễu các thông tin để tạo được niềm tin vào ứng dụng. ▪ Đối với bên bán đảm bảo việc có thể tương tác với người mua bằng việc quản lý các sản phẩm, đơn hàng hay chức năng trực tiếp. MỤC LỤC Chương 1: GIỚI THIỆU CHUNG .......................................................................................................... 14 1.1 Lý do chọn đề tài .......................................................................................................................... 14 1.2 Điểm mới và khác biệt về chức năng của đề tài so với một số nền tảng phân phối âm nhạc hiện nay. ..................................................................................................................................................... 16 1.2.1 Điểm khác biệt của đề tài Ứng dụng..................................................................................... 16 1.2.2 Điểm mới nổi bật của đề tài .................................................................................................. 17 1.3 Phạm vi nghiên cứu ..................................................................................................................... 17 1.4 Đối tượng nguyên cứu ................................................................................................................. 18 1.5 Phương pháp nguyên cứu ........................................................................................................... 18 Chương 2: CÔNG NGHỆ SỬ DỤNG .................................................................................................... 19 2.1 Ngôn ngữ lập trình Dart ............................................................................................................... 19 2.1.1 Sơ lược ngôn ngữ ................................................................................................................. 19 2.1.2 Lý do sử dụng Dart ................................................................................................................ 19 2.2 Môi trường phát triển tích hợp (IDE) Android Studio .................................................................. 20 2.2.1 Giới thiệu sơ lượt Android Studio ......................................................................................... 20 2.2.2 Một số điểm mạnh của android studio so với các IDE khác ................................................ 20 2.3 Cơ sở dữ liệu thời gian thực Firebase ........................................................................................ 21 2.3.1 Một số thông tin về firebase .................................................................................................. 21 2.3.2 Ứng dụng firebase vào đồ án................................................................................................ 21 2.4 Công cụ quản lý đồ án Notion...................................................................................................... 22 2.5 Framework Flutter ........................................................................................................................ 22 2.5.2 Giới thiệu về Flutter ............................................................................................................... 22 Chương 3: XÂY DỰNG HỆ THỐNG ..................................................................................................... 23 3.1. Xây dựng kiến trúc hệ thống ....................................................................................................... 23 3.1.1. Kiến trúc tổng thể hệ thống: ................................................................................................. 23 3.1.2. Chi tiết kiến trúc: ................................................................................................................... 24 3.2. Phân tích thiết kế hệ thống ......................................................................................................... 24 3.3.1. Sơ đồ use case..................................................................................................................... 24 3.3.1.1. Sơ đồ use case .............................................................................................................. 24 3.2.1.2. Danh sách actor ............................................................................................................. 26 3.2.1.3. Danh sách use case ...................................................................................................... 26 3.2.1.4. Đặc tả use case ............................................................................................................. 28 3.3. Thiết kế giao diện ........................................................................................................................ 36 3.3.1. Danh sách giao diện ............................................................................................................. 36 3.3.2. Giao diện một số màn hình của ứng dụng .......................................................................... 37 Chương 4: Ưu nhược điểm và hướng phát triển .................................................................................. 50 4.1 Ưu điểm và nhược điểm: ............................................................................................................. 50 4.1.1 Ưu điểm ................................................................................................................................. 50 4.1.2 Nhược điểm ........................................................................................................................... 51 4.2 Hướng phát triển .......................................................................................................................... 51 4.2.1 Các tính năng đang hoàn thiện ............................................................................................. 51 4.2.2 Các tính năng sẽ phát triển ................................................................................................... 51 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ TMĐT Thương mại điện tử CSDL Cơ sở dữ liệu Giải thích Hình thức mua sắm online. Cơ sở dữ liệu cho ứng dụng. (DB) (Database) Application Programming Giao diện lập trình ứng Interface dụng. User Interface/ User Giao diện người dùng/ Trải nghiệm Experience người dùng. HTTP HyperText Transfer Protocol Giao thức truyền siêu văn bản. JSON JavaScript Object Notation Định dạng trao đổi dữ liệu. XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng. MVI Model - View - Intent JWT Java Web Token API UI/ UX Mẫu kiến trúc phần mềm xây dựng ứng dụng di động. TÓM TẮT KHÓA LUẬN Khóa luận “ỨNG DỤNG PHÂN PHỐI BEATS BẢN QUYỀN” gồm 05 chương: Chương 1: Giới thiệu về đề tài, đưa ra các điểm nổi bật so với các ứng dụng trước. Tiếp đến là đề xuất các giải pháp để giải quyết các vấn đề đã đặt ra. Ngoài ra, chương 1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương pháp nghiên cứu. Chương 2: Trình bày các kiến thức nền tảng, các công nghệ và thuật toán gợi ý sản phẩm được sử dụng để xây dựng ứng dụng. Chương 3: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích yêu cầu bài toán cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho ứng dụng. Chương 4: Kết luận, rút ra được các ưu nhược điểm của ứng dụng và hướng phát triển trong tương lai. Chương 1: GIỚI THIỆU CHUNG 1.1 Lý do chọn đề tài Ngày nay với sự phát triển mạnh mẽ của lĩnh vực thương mại điện tử, cũng như sự phát triển của đất nước, người dân ngày càng gia tăng nhu cầu mua bán hàng hóa, đặc biệt là mua bán hàng hóa trực tuyến, nơi mà mọi giao dịch đều được thực hiện nhanh chóng và tiện lợi. Tuy nhiên, đối với các mặt hàng sản phẩm kỹ thuật số, ở dạng số hóa, dữ liệu,... thường khó giao dịch hơn. Beat nhạc là một ví dụ cụ thể. Năm bắt được tình hình và nhu cầu sử dụng nhạc nền bản quyền ngày một tăng và nhu cầu phân phối ở lĩnh vực này vẫn chưa có quá nhiều sự cạnh tranh, nhóm đã phát triển ứng dụng phân phối beat bản quyền dựa trên framework Flutter. Để phù hợp với quy mô của môn đồ án 1, cũng như dễ dàng hơn trong việc tạo lập, giải quyết và áp dụng các bài toán, dự án sẽ được xây dựng trên nền tảng ứng dụng Android, lập trình bằng ngôn ngữ Dart của framework Flutter , đồng thời các csdl sẽ được truyền theo thời gian thực với Firebase. Ứng dụng X Studio Distrokid Tính năng Trực quan về Tập trung vào 1 loại hình sản Chủ yếu quản trị về phân phối ở đa nền phân phối phẩm. Các sản phẩm trên ứng tảng là chính. Không quá trực quan về dụng được thể hiện trực quan sản phẩm. hơn. Đa dạng sản Đồ án mang lại khả năng linh Các ứng dụng buôn bán nhỏ lẻ thường phẩm hoạt về sản phẩm, mọi ngành chỉ chuyên về một loại sản phẩm và hàng loại hàng đều có thể biểu cung câp các thuộc tính cố định, dẫn diễn trên ứng dụng với các đặc đến việc khó chuyển đổi ngành hàng trưng riêng của mỗi sản phẩm. loại hàng. 1.2 Điểm mới và khác biệt về chức năng của đề tài so với một số nền X Studio Distrokid 1.2.1 Điểm khác biệt của đề tài Ứng dụng Tính năng Trực quan về phân Tập trung vào 1 loại Chủ yếu quản trị về phân phối ở phối hình sản phẩm. Các đa nền tảng là chính. Không quá sản phẩm trên ứng trực quan về sản phẩm. dụng được thể hiện trực quan hơn. Trực quan về sản Đồ án mang lại khả Trực quan về các loại hình phân phẩm năng linh hoạt về phối, các nền tảng phân phối hơn sản phẩm, trực quan là về sản phẩm. về thông tin sản phẩm. tảng phân phối âm nhạc hiện nay. 1.2.2 Điểm mới nổi bật của đề tài − Việc trực quan về hàng hóa là điểm nổi bật của đề tài, mang lại khả năng chuyển đổi mở rộng lĩnh vực kinh doanh mà không cần phải thay đổi mã nguồn. điều này mang lại lợi thế cho doanh nghiệp trong việc nhanh chóng nắm bắt được thị trường. Tính khác biệt, cải thiện về chức năng so với các app hiện nay − Khảo sát qua các ứng dụng hiện nay nhóm nhận thấy có một số hạn chế trong việc quản lý giỏ hàng và thanh toán. Giỏ hàng chỉ có thể chọn mua tất cả chứ không thể tùy chọn những sản phẩm muốn thanh toán và lưu lại các sản phẩm chưa thanh toán. Điều này đã làm dẫn đến sự hạn chế đối với lựa chọn của người dùng đồng thời cũng làm gia tăng thêm thao tác người dùng, khiên UX trở nên rắc rối hơn. Do đó X Studio có hỗ trợ thêm tính năng chọn lựa sản phẩm sẽ chọn để đi đến thanh toán và lưu lại các sản chưa chọn. − Một số ứng dụng ngày nay vẫn còn sử dụng phương pháp load tất cả tển một màn hình, điều này làm giảm đi hiệu suất sản phẩm, cũng như trải nghiệm người dùng. Việc áp dụng Paging và lazy load của X Studio sẽ làm thời gian tải của dữ liệu đồng đều, không làm mất nhiều thời gian cho người dùng. 1.3 Phạm vi nghiên cứu − Tìm hiểu và áp dụng các bài toán về xử lý đặt hàng, hay bài toán về sự đa dạng hàng hóa. − Xây dựng ứng dụng cung cấp dịch vụ mua bán trực tuyến đến mọi hình thức hay thể loại beat khác nhau. − X Studio gồm 2 phần, phần ứng dụng cho người mua và ứng dụng cho người phân phối. Cả 2 được xậy dựng bằng Flutter và Firebase − Triển khai, đánh giá độ chính xác của từng phương pháp dựa trên dữ liệu thử nghiệm. Áp dụng hệ thống gợi ý sản phẩm vào ứng dụng để gợi ý sản phẩm cho người dùng. 1.4 Đối tượng nguyên cứu − Các công nghệ: o Flutter, Dart. o Firebase. − Các bài toán về xử lý đặt hàng, tăng hiệu suất, đa dạng hàng hóa sản phẩm. − Đối tượng trong phạm vi đề tài hướng đến: o Tất cả doanh nghiệp, công ty,... có nhu cầu sử dụng hoặc kinh doanh các sản phẩm âm nhạc. o Khách hàng (Người tiêu dùng). 1.5 Phương pháp nguyên cứu − Tìm hiểu các phương pháp hiện có. − Tìm hiểu nghiệp vụ, quy trình hoạt động của các ứng dụng thương mại điện tử và các ứng dụng phân phối sản phẩm bản quyền và độc quyền. − Phác họa hệ thống tổng quát (thiết kế cơ sở dữ liệu, xử lý dữ liệu, …). - Tham khảo các ứng dụng, nền tảng tương tự: Distrokid, Spotify , … − Tham khảo ý kiến của giảng viên hướng dẫn để được định hướng đúng, đạt kết quả tốt nhất. − Thiết kế giao diện, cơ sở dữ liệu. − Vận dụng đưa ra giải pháp phù hợp cho các bài toán. Chương 2: CÔNG NGHỆ SỬ DỤNG 2.1 Ngôn ngữ lập trình Dart 2.1.1 Sơ lược ngôn ngữ Dart là ngôn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google và sau đó được Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn. Nó được sử dụng để xây dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động. Dart là một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript. Nó hỗ trợ interface, mixin, abstract, generic, static typing và sound type (2 cái cuối có thể hiểu là type-safe). Dart là ngôn ngữ mã nguồn mở và miễn phí, được phát triển trên GitHub. Hiện nay Dart đã release phiên bản 2.2 2.1.2 Lý do sử dụng Dart Các nhà phát triển tại Google và các nơi khác sử dụng Dart để tạo các ứng dụng chất lượng cao, quan trọng cho iOS, Android và web. Với các tính năng nhắm đến sự phát triển phía khách hàng, Dart rất phù hợp cho cả ứng dụng di động và web. Dart giúp bạn tạo ra những trải nghiệm đẹp, chất lượng cao trên tất cả các màn hình, với: - Một ngôn ngữ được tối ưu hóa cho client - Framework mạnh mẽ - Công cụ linh hoạt 2.2 Môi trường phát triển tích hợp (IDE) Android Studio 2.2.1 Giới thiệu sơ lượt Android Studio Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp. Android Studio hỗ trợ các hệ điều hành Windows, Mac OS X và Linux, và là IDE chính thức của Google để phát triển ứng dụng Android gốc để thay thế cho Android Development Tools (ADT) dựa trên Eclipse. 2.2.2 Một số điểm mạnh của android studio so với các IDE khác − Một hệ thống xây dựng Gradle linh hoạt − Trình mô phỏng nhanh và tính năng phong phú − Một môi trường hợp nhất nơi bạn có thể phát triển cho tất cả các thiết bị Android − Instant Run để đẩy các thay đổi vào ứng dụng đang chạy của bạn mà không cần xây dựng một APK mới − Tích hợp GitHub để giúp bạn xây dựng các tính năng ứng dụng phổ biến và nhập mã mẫu.
- Xem thêm -

Tài liệu liên quan