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

BÁO cáo môn PROJECT 2 WEB NGHE NHẠC TRỰC TUYẾN

63 3 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

Thông tin cơ bản

Tiêu đề Web Nghe Nhạc Trực Tuyến
Tác giả Tiến Nguyễn Công
Người hướng dẫn Trịnh Văn Chiến
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin & Truyền Thông
Thể loại báo cáo
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 63
Dung lượng 1,16 MB

Cấu trúc

  • Chương 1. Cơ sở lý thuyết và công nghệ sử dụng (9)
    • 1.1. Express JS (11)
    • 1.2. NodeJS (13)
    • 1.3. MongoDB (15)
  • Chương 2. Tổng quan về hệ thống (19)
    • 2.1. Biểu đồ use case (19)
      • 2.1.1. Biểu đồ use case tổng quan (19)
      • 2.1.2. Phân rã use case quản lý sản phẩm (21)
      • 2.1.3. Phân rã use case quản lý khách hàng (21)
      • 2.1.4. Phân rã use case quản lý đơn hàng (23)
    • 2.2. Đặc tả use case (23)
      • 2.2.1. Đặc tả use case đăng nhập (23)
      • 2.2.2. Đặc tả use case đăng ký (23)
      • 2.2.3. Đặc tả use case tìm kiếm sản phẩm (25)
      • 2.2.4. Đặc tả use case xem chi tiết sản phẩm (25)
      • 2.2.5. Đặc tả use case đăng xuất (27)
      • 2.2.6. Đặc tả use case xem giỏ hàng (27)
      • 2.2.7. Đặc tả use case xóa sản phẩm khỏi giỏ hàng (29)
      • 2.2.8. Đặc tả use case đặt hàng (29)
      • 2.2.9. Đặc tả use case xem lịch sử đơn hàng (31)
      • 2.2.10. Đặc tả use case xem chi tiết đơn hàng (31)
      • 2.2.11. Đặc tả use case hủy đơn hàng (31)
      • 2.2.12. Đặc tả use case quản lý sản phẩm (33)
      • 2.2.13. Đặc tả use case quản lý khách hàng (37)
      • 2.2.14. Dặc tả use case quản lý đơn hàng (39)
    • 2.3. Biểu đồ tuần tự (39)
      • 2.3.1. UC đăng nhập (39)
      • 2.3.2. UC đăng ký (41)
      • 2.3.3. UC đăng xuất (43)
      • 2.3.4. UC thêm sản phẩm (43)
      • 2.3.5. UC Tìm kiếm sản phẩm (45)
      • 2.3.6. UC xem danh sách sản phẩm (45)
      • 2.3.7. UC xem chi tiết sản phẩm (47)
      • 2.3.8. UC sủa sản phẩm (47)
      • 2.3.9. UC xóa sản phẩm (47)
      • 2.3.10. UC tìm kiếm khách hàng (47)
      • 2.3.11. UC xem danh sách khách hàng (49)
  • Chương 3. Thiết kế và xây dựng website bán hàng (9)
    • 3.1. Giao diện trang đăng nhập (49)
    • 3.2. Giao diện trang đăng ký (49)
    • 3.3. Giao diện quên mật khẩu (51)
    • 3.4. Giao diện trang chủ (51)
    • 3.5. Giao diện danh sách sản phẩm (53)
    • 3.6. Giao diện xem chi tiết sản phẩm (55)
    • 3.7. Giao diện giỏ hàng (55)
    • 3.8. Giao diện trang thanh toán (55)
    • 3.9. Giao diện trang thông tin tài khoản (57)
  • Chương 4. Triển khai thử nghiệm và đánh giá (9)
    • 4.1. Triển khai hệ thống (57)
    • 4.2. Đánh giá hệ thống (59)
  • KẾT LUẬN (61)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

Cơ sở lý thuyết và công nghệ sử dụng

Express JS

 Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảngcủa Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile.

 Về các package hỗ trợ: Expressjs có vô số các package hỗ trợ.

 Về performance: Express cung cấp thêm về các tính năng (feature) để dev lập trình tốt hơn Chứ không làm giảm tốc độ của NodeJS.

 Và hơn hết, các Framework nổi tiếng của NodeJS hiện nay đều sử dụng ExpressJS như một core function, chẳng hạn: SailsJS, MERN,

1.1.2 Cấu trúc của Express JS

Hình 1.1 Cấu trúc Epress JS

Cấu trúc Express JS vô cùng đơn giản:

 app.js chứa các thông tin về cấu hình, khai báo, các định nghĩa, để ứngdụng của chúng ta chạy ok

File package.json chứa các gói cần thiết cho ứng dụng hoạt động, tương tự như chức năng của file composer.json trong PHP hoặc Gemfile trong Ruby on Rails.

 Folder routes: chứa các route có trong ứng dụng

 Folder view: chứa view/template cho ứng dụng

 Folder public chứa các file css, js, images, cho ứng dụng 1.1.3 Tìm hiểu về Router trong Express

A router is an object that serves as a specific instance of middleware and routes, which are distinct concepts that we will explore later Due to its nature as an instance of both middleware and routes, a router possesses functionalities from both categories Therefore, it can be considered a mini-application in its own right.

The project focuses on developing a web-based music streaming platform, emphasizing user-friendly features and seamless access to a diverse range of music genres It aims to enhance the online music experience by incorporating advanced technologies and ensuring high-quality audio streaming Additionally, the platform will prioritize user engagement through personalized playlists and recommendations, fostering a vibrant community of music lovers Overall, this project seeks to revolutionize how users discover and enjoy music online.

 Các Application dùng ExpressJS làm core đều có phần Router được tích hợp sẵn trong đó.

 Router hoạt động như một middleware nên chúng ta có thể dùng nó nhưmột arguments Hoặc dùng nó như một arguments cho route khác

 Chúng ta cũng có thể sử dụng Router để chia route.

1.1.3.2 Tìm hiểu về các method all của router

 router.all() Method này phù hợp với việc định nghĩa mang tính chất toàn cục cho các prefix

Khi đặt route này ở vị trí trên cùng, tất cả các route phía dưới sẽ yêu cầu phải có xác thực Điều này có nghĩa là người dùng cần phải xác thực trước khi thực hiện bất kỳ hành động hoặc nhiệm vụ nào tiếp theo.

1.1.4 Tìm hiều về router.METHOD()

Router.METHOD() trong ExpressJS cung cấp chức năng Routing, cho phép xử lý các yêu cầu HTTP như GET, POST và PUT một cách hiệu quả.

 Tên METHOD phải được viết thường

NodeJS

NodeJS là một nền tảng mã nguồn mở được phát triển dựa trên Javascript V8 Engine, cho phép xây dựng các ứng dụng web như trang video, diễn đàn và mạng xã hội Nó được sử dụng rộng rãi bởi hàng ngàn lập trình viên trên toàn cầu.

NodeJS hỗ trợ nhiều hệ điều hành như Windows, Linux và OS X, mang lại sự linh hoạt cho lập trình viên Ngoài ra, NodeJS còn cung cấp một loạt các thư viện phong phú dưới dạng Javascript Module, giúp đơn giản hóa quá trình lập trình và tối ưu hóa thời gian phát triển.

 Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime Realtime ở đây chính làxử lý giao tiếp từ client tới máy chủ theo thời gian thực

1.2.2 Các đặc tính của NodeJS

NodeJS sử dụng API không đồng bộ (none-blocking), cho phép máy chủ chờ dữ liệu trả về mà không bị gián đoạn Cơ chế di chuyển giữa các API sau khi thực hiện gọi và thông báo sự kiện giúp máy chủ nhận phản hồi từ các cuộc gọi API trước đó theo thời gian thực.

 Chạy rất nhanh: NodeJ được xây dựng dựa vào nền tảng V8 JavascriptEngine nên việc thực thi chương trình rất nhanh.

Node.js nổi bật với mô hình đơn luồng nhưng khả năng mở rộng cao, sử dụng cơ chế tổ chức sự kiện để xử lý các yêu cầu một cách không ngăn chặn Điều này giúp máy chủ đáp ứng nhanh chóng và hiệu quả hơn so với các máy chủ truyền thống, vốn có giới hạn trong khả năng xử lý yêu cầu Với chương trình đơn luồng, Node.js có thể phục vụ một số lượng lớn kết nối đồng thời, vượt trội hơn hẳn so với Apache HTTP Server.

 Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủ yếu là đầu ra dữ liệu.

The project focuses on developing a web-based platform for streaming music online It aims to enhance user experience by providing a seamless interface for accessing a diverse range of music genres The platform will feature personalized playlists, artist recommendations, and social sharing options, ensuring users can enjoy their favorite tracks effortlessly Additionally, the project emphasizes the importance of mobile compatibility, allowing users to stream music on-the-go Overall, this initiative seeks to revolutionize the way music is consumed in the digital age.

 Có giấy phép: NodeJS đã được cấp giấy phép bởiMIT License.

1.2.3 Hai NodeJS framework sử dụng 1.2.3.1 Express

ExpressJS là một trong những framework phổ biến nhất để xây dựng API và website trên nền tảng NodeJS Được sử dụng rộng rãi, hầu hết các dự án web đều bắt đầu bằng việc tích hợp Express Có nhiều lý do thuyết phục để lựa chọn ExpressJS cho phát triển ứng dụng.

 Có nhiều tính năng hỗ trợ tất cả những gì bạn cần trong việc xây dựng Web vàAPI

 Quản lý các router dễ dàng

 Cung cấp một nền tảng phát triển cho các API

 Hỗ trợ nhiều thư viện và plugin

 Bảo mật và an toàn hơn so với việc code thuần

 Hỗ trợ cồng đồng tuyệt vời 1.2.3.2 SocketIO

 SocketIO là một web-socket framework có sẵn cho nhiều ngôn ngữ lập trình

SocketIO trong NodeJS cho phép phát triển các ứng dụng thời gian thực như chatbot, tickers, và dashboard APIs So với NodeJS thông thường, SocketIO mang lại nhiều lợi ích vượt trội cho việc xây dựng các ứng dụng này.

 Hỗ trợ route URL tùy chỉnh cho web socket

 Tích hợp dễ dàng hơn với Express JS

MongoDB

1.3.1 Khái niệm MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL hỗ trợ đa nền tảngđược thiết kế theo hướng đối tượng Các bảng (trong MongoDB gọi là collection) có cấu trúc linh hoạt cho phép dữ liệu không cần tuân theo dạng cấu trúc nào.Vì thế, nó có thể dùng để lưu trữ dữ liệu có cấu trúc phức tạp và đa dạng Dữ liệuđược gọi là Big Data Đặc biệt, chương trình này lưu trữ dữ liệu vào collection theohướng tài liệu kiểu JSON thay vì bảng nên có hiệu suất cao và tính khả dụng 1.3.2 NoSQL cao.

NoSQL (Non-Relational SQL) là một loại cơ sở dữ liệu mã nguồn mở, nổi bật với tốc độ và tính năng vượt trội so với hệ quản trị cơ sở dữ liệu quan hệ RDBMS Với định dạng dữ liệu JSON, NoSQL sử dụng kiểu dữ liệu key-value, mang lại hiệu suất cao và khả năng mở rộng linh hoạt mà không bị ràng buộc bởi các quy tắc như khóa ngoại hay khóa chính, do đó, nó ngày càng được ưa chuộng và sử dụng rộng rãi.

1.3.3 Tính năng của MongoDB 1.3.3.1 Truy vấn ad học

Truy vấn ad hoc là một trong những tính năng nổi bật của chương trình, hỗ trợ người dùng trong việc truy xuất các trường, thực hiện truy vấn phạm vi và tìm kiếm biểu thức để lấy về các trường tài liệu cụ thể Người dùng có thể định nghĩa các hàm JavaScript hoặc cấu hình truy vấn để nhận kết quả ngẫu nhiên với kích thước nhất định Ngoài ra, các trường trong MongoDB cũng có thể được sử dụng để lập chỉ mục chính và chỉ mục phụ, nâng cao hiệu quả truy xuất dữ liệu.

The project focuses on creating an online music platform that enhances user experience through seamless streaming and diverse content offerings It aims to provide a comprehensive library of music genres, allowing users to discover new artists and tracks easily Additionally, the platform is designed to be user-friendly, ensuring accessibility across various devices By integrating social features, the project encourages community engagement among music lovers Overall, the initiative seeks to revolutionize the way users interact with music online, making it more enjoyable and accessible.

1.3.3.2 Nhân rộng Đây là tính năng mà chương trình cung cấp Replica set Nó bao gồm hai hoặcnhiều bản sao của dữ liệu Trong đó mỗi bản sao có thể đóng vai trò chính và phụ.

 Trong quá trình nhân rộng, tất cả các dữ liệu ghi và đọc thực hiện trên bản sao chính

 Bản sao thứ cấp sử dụng bản sao tích hợp để duy trì bản sao dữ liệu của bản chính

Khi bản sao chính gặp sự cố, Replica set sẽ lựa chọn một bản sao thứ cấp để thay thế Bản sao thứ cấp có khả năng phục hồi các hoạt động, nhưng dữ liệu cuối cùng chỉ được đảm bảo nhất quán theo mặc định.

Bằng cách sử dụng Sharding, MongoDB thực hiện phân chia dữ liệu theo chiều ngang, cho phép người dùng chọn một Shard key để xác định cách phân phối dữ liệu trong collection Dữ liệu được chia thành các phạm vi và phân phối đồng đều dựa trên các Shard key, giúp tối ưu hóa hiệu suất Hệ thống chạy trên nhiều máy chủ, đảm bảo cân bằng tải và sao chép dữ liệu, từ đó duy trì hoạt động liên tục ngay cả khi gặp sự cố phần cứng.

MongoDB sử dụng tính năng lưu trữ tệp GridFS để cân bằng tải và sao chép dữ liệu trên nhiều máy tính GridFS chia tệp thành các phần nhỏ và lưu trữ chúng dưới dạng tài liệu riêng biệt Người dùng có thể truy cập GridFS thông qua tiện ích Mongofiles hoặc plugin cho Nginx và Lighttpd.

1.3.3.5 Tập hợp Ở tính năng tập hợp, chương trình này cung cấp ba cách chính để thực hiện tậphợp là Aggregation Pipeline, chức năng Mapreduce và Single-purpose Aggregation.Trong đó, theo tài liệu của MongoDB thì Aggregation Pipeline được công nhận làcung cấp hiệu suất tốt hơn hầu hết các hoạt động tổng hợp

1.3.3.6 Thực thi Javascript phía máy chủ

JavaScript thường được thực thi trong các truy vấn, các hàm tổng hợp và đượcgửi trực tiếp đến cơ sở dữ liệu.

1.3.3.7 Giới hạn kích thước collection

MongoDB hỗ trợ collection có kích thước cố định được gọi là collection giớihạn.

Kích cỡ cố định theo thứ tự chèn giúp cải thiện hiệu suất cho các hoạt động liên quan đến dữ liệu Khi dữ liệu vượt quá giới hạn cho phép, các tài liệu cũ sẽ tự động bị xóa mà không cần sử dụng lệnh nào.

MongoDB còn có tính năng hỗ trợ cho các giao dịch ACID đa tài liệu, bắt đầu cóhiệu dụng từ phiên bản 4.0 vào tháng 6 năm 2018.

The project focuses on developing an online music streaming platform, aiming to enhance user experience by providing a diverse range of music genres Key features include personalized playlists, user-friendly navigation, and high-quality audio streaming The platform also emphasizes community engagement through social sharing and collaborative playlists, making it a go-to destination for music lovers Additionally, the project prioritizes mobile accessibility to reach a broader audience, ensuring that users can enjoy their favorite music anytime, anywhere.

Tính linh hoạt trong lưu trữ dữ liệu là một ưu điểm nổi bật, cho phép người dùng lưu trữ thông tin với nhiều kích cỡ khác nhau Dữ liệu được định dạng dưới dạng tài liệu JSON, giúp bạn dễ dàng chèn và điều chỉnh thông tin theo ý muốn.

Khác với hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), dữ liệu trong hệ thống này không bị ràng buộc và không yêu cầu tuân theo một cấu trúc nhất định Điều này giúp tiết kiệm thời gian cho việc kiểm tra tính hợp lệ của cấu trúc khi thực hiện các thao tác như chèn, xóa, cập nhật hoặc thay đổi dữ liệu trong bảng.

 MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau

Tốc độ truy vấn nhanh hơn là một trong những ưu điểm nổi bật, nhờ vào việc dữ liệu được lưu trữ trong bộ nhớ RAM Điều này giúp tăng tốc độ truy vấn cho các lượt truy vấn tiếp theo mà không cần phải truy cập vào ổ cứng, mang lại hiệu suất vượt trội so với hệ quản trị cơ sở dữ liệu quan hệ RDBMS.

 Cũng là một ưu điểm về hiệu suất truy vấn của MongoDB, trường dữ liệu“_id” luôn được tự động đánh chỉ mục để đạt hiệu suất cao nhất

Dữ liệu trong MongoDB không bị ràng buộc như trong RDBMS, tuy nhiên người dùng cần thực hiện các thao tác một cách cẩn thận để tránh những kết quả không mong muốn có thể ảnh hưởng đến dữ liệu.

Tổng quan về hệ thống

Biểu đồ use case

The project focuses on developing an online music platform, aiming to enhance user experience through innovative features It will provide a diverse range of music genres, allowing users to easily discover and stream their favorite songs The platform is designed to be user-friendly, ensuring seamless navigation and accessibility for all users Additionally, it will incorporate social sharing options to foster community engagement and interaction among music lovers Overall, this project seeks to revolutionize the way people access and enjoy music online.

Hình 2.1 Biểu đồ Use case tổng quan

2.1.2 Phân rã use case quản lý sản phẩm

Hình 2.2 Biểu đồ phân rã use case quản lý sản phẩm

2.1.3 Phân rã use case quản lý khách hàng

The project focuses on developing a web platform for online music streaming, aiming to enhance user experience and accessibility It emphasizes a user-friendly interface, diverse music genres, and high-quality audio streaming The initiative also includes features such as personalized playlists, social sharing options, and artist promotion, catering to both music lovers and creators Ultimately, this project seeks to revolutionize the way users engage with music online, fostering a vibrant digital music community.

Hình 2.3 Biểu đồ phân rã use case quản lý khách hàng

2.1.4 Phân rã use case quản lý đơn hàng

Hình 2.4 Biểu đồ phân rã use case quản lý đơn hàng

Đặc tả use case

Mã Use case UC01 Tên Use case Đăng nhập

STT Thực hiện bởi Hành động

1 Khách Chọn chức năng đăng nhập

2 Hệ thống Hiển thị giao diện đăng nhập

3 Khách Nhập email và mật khẩu

4 Khách Yêu cầu đăng nhập

5 Hệ thống Kiểm tra xem khách đã nhập các trường bắt buộc hay chưa

6 Hệ thống Kiểm tra email và mật khẩu có hợp lệ hay không

7 Hệ thống Hiển thi giao diện trang chủ Luồng sự kiện thay thế STT Thực hiện bởi Hành động

6a Hệ thống Thông báo lỗi: cần nhập các trường bắt buộc nhập nếu khách nhập thiếu 7a Hệ thống Thông báo lỗi: Email hoặc mật khẩu không đúng

Bảng 2.1 Đặc tả use case đăng nhập

2.2.2 Đặc tả use case đăng ký

Mã Use case UC02 Tên Use case Đăng Ký

The project focuses on developing a web-based platform for online music streaming This initiative aims to enhance user experience by providing a diverse range of music genres and seamless access to tracks The platform will prioritize user engagement through personalized playlists and recommendations, ensuring that listeners can easily discover new music Additionally, the project will incorporate features such as social sharing and community interaction to foster a vibrant music-loving community Overall, the goal is to create a user-friendly and innovative online music streaming service that meets the evolving needs of music enthusiasts.

Tác nhân Khách Tiền điều kiện Không

STT Thực hiện bởi Hành động

1 Khách Chọn chức năng đăg ký

2 Hệ thống Hiển thị giao diện đăng ký

3 Khách Nhập các thông tin cá nhân

4 Khách Yêu cầu đăng ký

5 Hệ thống Kiểm tra xem khách đã nhập các trường bắt buộc hay chưa

6 Hệ thống Kiểm tra email và mật khẩu có hợp lệ hay không

7 Hệ thống Lưu thông tin tài khoản

Luồng sự kiện thay thế STT Thực hiện bởi Hành động

6a Hệ thống Thông báo lỗi: cần nhập các trường bắt buộc nhập nếu khách nhập thiếu 7a Hệ thống Thông báo lỗi: Email hoặc mật khẩu không đúng

Bảng 2.2 Đặc tả use case đăng ký

2.2.3 Đặc tả use case tìm kiếm sản phẩm

Mã Use case UC03 Tên Use case Tìm kiếm sản phẩm

STT Thực hiện bởi Hành động

1 Khách Chọn chức năng tìm kiếm sản phẩm

2 Hệ thống Lấy danh sách sản phẩm và hiển thị giao diện tìm kiếm sản phầm

3 Khách Nhập tên sản phẩm muốn tìm kiếm

4 Khách Yêu cầu tìm kiếm

5 Hệ thống Kiểm tra xem khách đã nhập ít nhất 1 thông tin tìm kiếm chưa

6 Hệ thống Tìm và lấy về thông tin sản phẩm phù hợp

7 Hệ thống Hiển thị danh sách sản phẩm Luồng sự kiện thay thế STT Thực hiện bởi Hành động

6a Hệ thống Thông báo lỗi: cần nhập ít nhất 1 tiêu chí tìm kiếm 7a Hệ thống Thông báo lỗi: Không tìm thấy sản phẩm phù hợp

Bảng 2.3 Đặc tả use case tìm kiếm sản phẩm

2.2.4 Đặc tả use case xem chi tiết sản phẩm

The project focuses on developing an online music platform, enhancing user experience through a modern web interface It aims to provide seamless access to a diverse range of music genres, catering to various listener preferences The platform will integrate features such as personalized playlists, music recommendations, and social sharing options Additionally, it will prioritize high-quality audio streaming and user-friendly navigation to attract and retain a broad audience Overall, the project aspires to revolutionize the way users engage with music online.

Mã Use case UC04 Tên Use case Xem chi tiết sản phẩm

STT Thực hiện bởi Hành động

1 Khách Ấn chọn 1 sản phẩm

2 Hệ thống Lấy thông tin về sản phẩm

3 Hệ thống Hiện thị giao diện chi tiết sản phẩm

4 Khách Thêm sản phẩm vào giỏ hàng

5 Hệ thống Thêm sản phẩm vào giỏ hàng Luồng sự kiện thay thế STT Thực hiện bởi Hành động

3a Hệ thống Thông báo lỗi: sản phẩm không tồn tại trong hệ thống 5a Hệ thống Thông báo lỗi: phải đăng nhập để thêm sản phẩm

Bảng 2.4 Đặc tả use case xem chi tiết sản phẩm

2.2.5 Đặc tả use case đăng xuất

Mã Use case UC05 Tên Use case Đăng xuất

Tiền điều kiện Khách đã đăng nhập thành công với vai trò khách hàng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chức năng đăng xuất

2 Hệ thống Đăng xuất cho khách hàng

3 Khách Hiện thị giao diện trang chủ Luồng sự kiện thay thế

Hậu điều kiện Khách hàng đăng xuất khỏi tài khoản

Bảng 2.5 Đặc tả use đăng xuất

2.2.6 Đặc tả use case xem giỏ hàng

Mã Use case UC06 Tên Use case Xem giỏ hàng

Tiền điều kiện Khách đăng nhập thành công với vai trò khách hàng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chức năng xem giỏ hàng

2 Hệ thống Hiển thị danh sách các thông tin sản phẩm đang có trong giỏ hàng và nút Mua hàng, hoặc thông báo Giỏ hàng rỗng kèm link trở về trang chủ

The project focuses on developing an online music streaming platform It aims to provide users with easy access to a wide variety of music genres The platform is designed to enhance user experience through intuitive navigation and personalized playlists Additionally, it incorporates features like social sharing and artist recommendations to engage users The ultimate goal is to create a vibrant community of music lovers who can discover and enjoy music seamlessly.

Luồng sự kiện thay thế Không có

Bảng 2.6 Đặc tả use case xem giỏ hàng

2.2.7 Đặc tả use case xóa sản phẩm khỏi giỏ hàng

Mã Use case UC07 Tên Use case Xóa sản phẩm khỏi giỏ hàng

Tiền điều kiện Khách hàng đang ở trang Giỏ hàng, Giỏ hàng không rỗng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chức năng xóa sản phẩm khỏi giot hàng

2 Hệ thống Hiển thị giao diện xác nhận xóa

3 Khách hàng Chọn xóa hoặc không

4 Hệ thống Xóa sản phẩm khỏi giỏ hàng Luồng sự kiện thay thế Không có

Hậu điều kiện Khách hàng đăng xuất khỏi tài khoản

Bảng 2.7 Đặc tả use case xóa sản phẩm khỏi giỏ hàng

2.2.8 Đặc tả use case đặt hàng

Mã Use case UC08 Tên Use case Đặt hàng

Tiền điều kiện Khách hàng đang ở trang Giỏ hàng, Giỏ hàng không rỗng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chắc năng đặt hàng

2 Hệ thống Hiển thị tên các sản phẩm, giá tiền, giảm giá và trường nhập địa chỉ giao hàng

3 Khách hàng Nhập địa chỉ mà đơn hàng cần giao đến và chọn Thanh toán

4 Hệ thống Kiểm tra khách hàng đã nhập địa chỉ hay chưa

5 Hệ thống Thông báo: “Đơn hàng của bạn đang chờ được xử lý" Luồng sự kiện thay thế STT Thực hiện bởi Hành động

5a Hệ thống Thông báo lỗi: khách hàng chưa nhập địa chỉ giao hàng

Bảng 2.8 Đặc tả use case đặt hàng

The project focuses on developing a web-based platform for online music streaming This platform aims to provide users with a seamless listening experience, offering a wide variety of music genres and personalized playlists The design emphasizes user-friendly navigation and accessibility, ensuring that music lovers can easily discover and enjoy their favorite tracks Additionally, the project incorporates features such as social sharing, allowing users to connect with friends and share their musical tastes Overall, this initiative seeks to enhance the digital music experience and cater to the growing demand for online streaming services.

2.2.9 Đặc tả use case xem lịch sử đơn hàng

Mã Use case UC09 Tên Use case Xem lịch sử đơn hàng

Tiền điều kiện Khách đăng nhập thành công với vai trò Khách hàng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chắc năng xem lịch sử đơn hàng

2 Hệ thống Hiển thị lịch sử các đơn hàng (nếu có) hoặc thông báo lịch sử trống kèm link về trang chủ

Luồng sự kiện thay thế

Bảng 2.9 Đặc tả use case xem lịch sử đơn hàng

2.2.10 Đặc tả use case xem chi tiết đơn hàng

Mã Use case UC10 Tên Use case Xem chi tiết đơn hàng

Tiền điều kiện Khách đăng nhập thành công với vai trò Khách hàng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn đơn hàng muốn xem chi tiết

2 Hệ thống Hiển thị thông tin chi tiết đơn hàng Luồng sự kiện thay thế Không có

Bảng 2.10 Đăc tả use case xem chi tiết đơn hàng

2.2.11 Đặc tả use case hủy đơn hàng

Mã Use case UC11 Tên Use case Hủy đơn hàng

Tiền điều kiện Khách hàng đang ở trang Giỏ hàng, Giỏ hàng không rỗng

STT Thực hiện bởi Hành động

1 Khách hàng Chọn chắc năng hủy đơn hàng

2 Hệ thống Kiểm tra trạng thái đơn hàng có hợp lệ để hủy hay không

3 Hệ thống Chuyển trạng thái của đơn hàng thành Đã Hủy, thông báo cho khách hàng

The project focuses on developing a web-based platform for online music streaming, aiming to enhance user experience and accessibility This initiative will provide a diverse range of music genres, allowing users to discover new artists and tracks effortlessly The platform will incorporate features such as personalized playlists, social sharing options, and high-quality audio streaming By leveraging modern technology, the project seeks to create a seamless interface that caters to the needs of music enthusiasts worldwide.

Luồng sự kiện thay thế STT Thực hiện bởi Hành động

3a Hệ thống Thông báo lỗi: Khách hàng không thể hủy đơn hàng này

Bảng 2.11 Đặc tả use case hủy đơn hàng

2.2.12 Đặc tả use case quản lý sản phẩm

Mã Use case UC12 Tên Use case Quản lý Sản phẩm

Thực hiện các tác vụ quan trọng trong quản lý sản phẩm bao gồm: Tìm kiếm sản phẩm (S), Xem danh sách sản phẩm (V), Xem chi tiết sản phẩm (R), Sửa sản phẩm (U), Xóa sản phẩm (D) và Thêm sản phẩm (C).

Admin nhấn vào nút "Tìm kiếm sản phẩm" (S), "Xem danh sách sản phẩm" (V), "Xem chi tiết sản phẩm" (R), "Sửa thông tin sản phẩm" (U), "Xóa sản phẩm" (D) hoặc

"Thêm sản phẩm" (C) tương ứng

Tiền điều kiện Khách đăng nhập thành công với vai trò Admin

STT Thực hiện bởi Hành động

1 Admin chọn chức năng Tìm kiếm sản phẩm.

2 Hệ thống hiển thị giao diện Tìm kiếm sản phẩm.

3 Admin nhập mã sản phẩm, tên sản phẩm và/hoặc hạng mục sản phẩm

4 Admin yêu cầu tìm kiếm.

5 Hệ thống kiểm tra xem Admin đã nhập ít nhất một thông tin tìm kiếm chưa.

6 Hệ thống tìm và lấy về thông tin những sản phẩm thoả mãn các tiêu chí tìm kiếm.

7 Hệ thống hiển thị danh sách những sản phẩm thoả mãn điều kiện tìm kiếm nếu có ít nhất một sản phẩm được tìm thấy.

Luồng sự kiện thay thế

Hệ thống thông báo yêu cầu người dùng nhập ít nhất một tiêu chí tìm kiếm nếu không có thông tin nào được cung cấp bởi Admin Nếu không tìm thấy sản phẩm nào phù hợp với tiêu chí tìm kiếm, hệ thống sẽ thông báo rằng không có thông tin sản phẩm nào thỏa mãn yêu cầu.

STT Thực hiện bởi Hành động

1 Admin yêu cầu Xem danh sách sản phẩm.

2 Hệ thống lấy danh sách hạng mục sản phẩm.

3 Hệ thống lấy danh sách tất cả sản phẩm.

The project focuses on developing a web-based platform for online music streaming This platform aims to enhance user experience by providing a diverse range of music genres and easy accessibility Key features include a user-friendly interface, personalized playlists, and high-quality audio streaming The goal is to create a seamless and enjoyable listening experience for music enthusiasts Additionally, the project will incorporate social sharing options to connect users and foster a community around music discovery and appreciation.

Luồng sự kiện chính 4 Hệ thống hiển thị giao diện Xem danh sách sản phẩm gồm:

- Phía trên: Danh sách hạng mục sản phẩm để người dùng có thể lọc sản phẩm theo nhóm

- Trung tâm: Thông tin các sản phẩm

Luồng sự kiện thay thế

4a1 Admin lựa chọn một hạng mục sản phẩm 4a2 Hệ thống lấy các sản phẩm thuộc hạng mục sản phẩm đã chọn, hiển thị lên giao diện.

STT Thực hiện bởi Hành động

1 Admin chọn một Sản phẩm và xem chi tiết

2 Hệ thống hiển thị thông tin chi tiết về sản phẩm

Luồng sự kiện thay thế

STT Thực hiện bởi Hành động

1 Admin chọn một Sản phẩm và yêu cầu sửa

2 Hệ thống lấy thông tin chi tiết của sản phẩm và hiển thị thông tin cũ của sản phẩm trên giao diện Sửa sản phẩm

3 Admin chỉnh sửa các thông tin sản phẩm và yêu cầu sửa.

4 Hệ thống kiểm tra các trường bắt buộc nhập.

5 Hệ thống kiểm tra các trường cần đảm bảo duy nhất.

6 Hệ thống cập nhật các thông tin cần chỉnh sửa và thông báo chỉnh sửa thành công.

Luồng sự kiện thay thế

5a Hệ thống thông báo lỗi: chưa nhập đủ các trường cần thiết nếu Admin nhập thiếu trường.

6a Hệ thống thông báo lỗi: thông báo cụ thể trường nào không duy nhất nếu Admin nhập trùng.

STT Thực hiện bởi Hành động

1 Admin chọn một Sản phẩm và yêu cầu xoá

2 Hệ thống hiển thị thông báo yêu cầu người dùng xác nhận việc xoá

3 Admin xác nhận xoá sản phẩm

The article discusses the development and features of an online music streaming project, highlighting its innovative approach to delivering music content It emphasizes user-friendly design, extensive music library, and the integration of advanced technology for seamless streaming The project aims to enhance user experience by offering personalized playlists and recommendations, catering to diverse musical tastes Additionally, it focuses on accessibility and convenience, allowing users to enjoy music anytime and anywhere The article underscores the significance of this project in the evolving landscape of digital music consumption.

4 Hệ thống xoá sản phẩm và thông báo xoá thành công.

Luồng sự kiện thay thế

4a Hệ thống kết thúc use case nếu người dùng xác nhận không xoá.

STT Thực hiện bởi Hành động

1 Admin yêu cầu thêm Sản phẩm mới

2 Hệ thống hiển thị giao diện thêm sản phẩm

3 Admin nhập các thông tin sản phẩm

4 Hệ thống kiểm tra các trường bắt buộc nhập

5 Hệ thống kiểm tra các trường cần đảm bảo duy nhất.

6 Hệ thống cập nhật các thông tin và thông báo thành công.

Luồng sự kiện thay thế

5a Hệ thống thông báo lỗi: chưa nhập đủ các trường cần thiết nếu Admin nhập thiếu trường.

6a Hệ thống thông báo lỗi: thông báo cụ thể trường nào không duy nhất nếu Admin nhập trùng.

Hậu điều kiện - R, S: Hệ thống hiển thị danh sách sản phẩm thỏa mãn.

Hệ thống C, U, D cung cấp thông báo xác nhận cho phép người dùng thực hiện các thao tác thêm, sửa hoặc xóa sản phẩm Nếu các thao tác này được chấp nhận, hệ thống sẽ tự động cập nhật dữ liệu trong cơ sở dữ liệu.

Bảng 2.12 Đặc tả use case quản lý sản phẩm

2.2.13 Đặc tả use case quản lý khách hàng

Mã Use case UC13 Tên Use case Quản lý Khách hàng

Mô tả Thực hiện các tác vụ như Tìm kiếm khách hàng (S), Xem danh sách khách hàng (R) và

Xóa tài khoản khách hàng (D)

Admin nhấn vào nút "Tìm kiếm khách hàng" (S), "Xem danh sách khách hàng" (R) hoặc "Xóa tài khoản khách hàng" (D) tương ứng.

Tiền điều kiện Khách đăng nhập thành công với vai trò Admin

The project focuses on developing an online music streaming platform, enhancing user experience through a user-friendly interface and diverse music selection Key features include personalized playlists, social sharing options, and high-quality audio streaming The aim is to cater to the growing demand for accessible music services while ensuring compliance with copyright regulations The platform will also incorporate advanced algorithms for music recommendations, fostering a deeper connection between users and their favorite artists Overall, this project seeks to revolutionize the way users engage with music online.

Tương tự UC Tìm kiếm sản phẩm Xem danh sách (R):

Tương tự UC Xem danh sách sản phẩm Xem thông tin (R):

Tương tự UC Xem chi tiết sản phẩm Xoá (D):

Tương tự UC Xóa sản phẩm

2.2.14 Dặc tả use case quản lý đơn hàng

Mã Use case UC14 Tên Use case Quản lý đơn hàng

Mô tả Admin thực hiện các tác vụ như Tìm kiếm đơn hàng (S), Xem danh sách đơn hàng

(R), Sửa đơn hàng (U) và Xóa đơn hàng (D).

Khi Admin nhấn vào các nút "Tìm kiếm đơn hàng" (S), "Xem danh sách đơn hàng" (R), "Sửa đơn hàng" (U) hoặc "Xóa đơn hàng" (D), sự kiện sẽ được kích hoạt Điều kiện tiên quyết là khách hàng phải đăng nhập thành công với vai trò Admin.

Tương tự UC Tìm kiếm sản phẩm Xem danh sách (R):

Tương tự UC Xem danh sách sản phẩm Xem thông tin (R):

Tương tự UC Xem chi tiết sản phẩm Xoá (D):

Tương tự UC Xóa sản phẩm

Hậu điều kiện - S, R: Hệ thống hiển thị danh sách đơn hàng thỏa mãn.

Hệ thống hiển thị thông báo xác nhận cho phép người dùng cập nhật đơn hàng, bao gồm thêm, sửa, hoặc xóa Nếu việc cập nhật được phép, dữ liệu trong cơ sở dữ liệu sẽ được điều chỉnh tương ứng.

Thiết kế và xây dựng website bán hàng

Giao diện trang đăng nhập

Hình 3.1 Giao diện trang đăng nhập

Giao diện trang đăng ký

The project focuses on developing an online music platform, aiming to enhance user experience and accessibility to a wide range of music genres It emphasizes the importance of a user-friendly interface and efficient streaming capabilities The initiative also seeks to incorporate features that allow for personalized playlists and recommendations, catering to diverse musical tastes Additionally, the project aims to ensure high-quality audio streaming and robust security measures to protect user data Overall, this online music platform is designed to meet the evolving needs of music enthusiasts in a digital age.

Hình 3.2 Giao diện trang đăng ký tài khoản

Giao diện quên mật khẩu

Hình 3.3 Giao diện trang quên mật khẩu

Giao diện trang chủ

The project focuses on developing a web-based platform for streaming music online It aims to enhance user experience by providing a seamless interface for accessing a diverse range of music genres The platform will incorporate advanced features such as personalized playlists, social sharing options, and high-quality audio streaming Additionally, it seeks to optimize search engine visibility to attract a wider audience and improve user engagement through interactive elements Overall, the project is designed to revolutionize the way users consume music online.

Hình 3.4 Giao diện trang chủ

Giao diện danh sách sản phẩm

Hình 3.5 Giao diện trang danh sách sản phẩm

The project focuses on developing an online music streaming platform, emphasizing user-friendly features and a diverse music library It aims to enhance the listening experience through high-quality audio and personalized playlists Additionally, the platform will incorporate social sharing capabilities, allowing users to connect and share their favorite tracks The project also prioritizes SEO optimization to ensure high visibility in search engine results, attracting a broader audience Overall, this initiative seeks to revolutionize how users access and enjoy music online.

Giao diện xem chi tiết sản phẩm

Hình 3.6 Giao diện trang xem chi tiết sản phẩm

Giao diện giỏ hàng

Hình 3.7 Giao diện trang giỏ hàng

Giao diện trang thanh toán

The project focuses on developing a web-based platform for streaming music online This innovative initiative aims to enhance user experience by providing easy access to a diverse range of music genres By leveraging advanced technology, the platform will offer seamless streaming, personalized playlists, and recommendations based on user preferences The goal is to create a vibrant online community where music lovers can connect and share their passion for music Additionally, the project emphasizes the importance of a user-friendly interface to ensure accessibility for all users.

Hình 3.8 Giao diện trang thanh toán

Triển khai thử nghiệm và đánh giá

Triển khai hệ thống

Do đây là một hệ thống được phát triển trên môi trường NodeJS nên để có thể chạy được thì cần một số bước sau:

B1 Máy tính cần được cài NodeJs Nếu máy tính chưa cài đặt thì có thể tải xuống theo đường link: https://nodejs.org/dist/v16.16.0/node-v16.16.0-x64.msi

B3 Mở cmd đến file mã nguồn và chạy câu lệnh ‘npm init’ để cài các thư viện cần thiết

B4 Tiếp tục chạy câu lệnh ‘npm run dev’ để khởi chạy chương trình

The project focuses on developing an online music streaming platform, aiming to enhance user experience through a wide variety of music genres and seamless accessibility Key features include personalized playlists, high-quality audio streaming, and an intuitive user interface The platform will also integrate social sharing capabilities, allowing users to connect and share their favorite tracks with friends Additionally, the project emphasizes the importance of mobile optimization to cater to the growing number of users accessing music on their smartphones Overall, this initiative seeks to revolutionize the way users discover and enjoy music online.

Đánh giá hệ thống

Hệ thống hoạt động bình thường Tuy nhiên UI/UX chưa được tối ưu nên mang lại trải nghiệm chưa tốt cho người dùng.

Hệ thống chưa được hoàn chỉnh.

The project focuses on developing a web-based platform for online music streaming It aims to provide users with a seamless experience for accessing and enjoying a wide variety of music genres The platform will incorporate user-friendly features, ensuring easy navigation and personalized playlists Additionally, it will prioritize high-quality audio streaming to enhance the listening experience The project also emphasizes the importance of a responsive design, making it accessible on various devices, including smartphones and tablets Overall, the initiative seeks to revolutionize how users engage with music online.

Ngày đăng: 23/12/2023, 22:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w