Tải bản đầy đủ (.pdf) (51 trang)

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN 1: ỨNG DỤNG PHÂN PHỐI BEAT BẢN QUYỀN Copyright Beat Distribution

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 51 trang )

ĐẠ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 HỒ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 HỒ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 HỒ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 HỒ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

Để hồ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 q 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 q 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 hồ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 Hồ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 tố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 tố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 Hồ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 tố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 hồ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 q 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 q

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 tố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 tố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.


− Các công cụ và khuôn khổ thử nghiệm mở rộng

2.3 Cơ sở dữ liệu thời gian thực Firebase

2.3.1 Một số thông tin về firebase
Firebase là một dịch vụ cơ sở dữ liệu thời gian thực được cung cấp bởi Google và hoạt động
trên nền tảng đám mây. Nó giúp các lập trình phát triển nhanh các ứng dụng di động bằng cách
đơn giản hóa các thao tác với cơ sở dữ liệu.
Dự án được ứng dụng ba trong số rất nhiều dịch vụ hỗ trợ của firebase bao gồm : Firebase
Authentication : Dùng để đăng nhập, đăng kí thơng tin khách hàng. giúp xây dựng các hệ thống
xác thực an toàn và dễ dàng hơn, đồng thời cải thiện trải nghiệm đăng nhập cho người dùng.

Firebase storage : Cung cấp dịch vụ lưu trữ file dưới dạng tệp âm thanh, hình ảnh,… Dùng để
lưu trữ thơng tin ứng dụng.

2.3.2 Ứng dụng firebase vào đồ án
Việc xây dựng một server để lưu trữ hình ảnh các sản phẩm là một vấn đề cần thiết và quan
trọng, firebase cung cấp một dịch vụ miễn phí là firebase storage cho phép lưu trữ và truy suất
hình ảnh nhanh chóng dễ dàng. Việc lưu trữ và truy suất hình ảnh hồn tồn tự động thơng qua
cơng nghệ điện tốn đám mây của google giảm bớt việc xử lý cho vấn đề lưu trữ hình ảnh.


2.4 Công cụ quản lý đồ án Notion

Notion là phần mềm ghi chú all in one. Có thể hiểu nó giống như google doc + google sheet+
google keep + google calendar + google mail + google drive. Mà bạn không cần phải chuyển
qua lại các ứng dụng.
Notion hoạt động trên cả 3 nền tảng Android, Windows, iOS và đồng bộ (sync) thông tin ngay
lập tức, giúp cập nhật thông tin đến các thành viên trong nhóm tốt hơn.

2.5 Framework Flutter

2.5.2 Giới thiệu về Flutter
Flutter là nền tảng phát triển ứng dụng đa nền tảng cho iOS và Android do Google phát triển


được sử dụng để tạo ra các ứng dụng gốc (native app) cho Google.
Flutter gồm 2 thành phần quan trọng:
Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các
ứng dụng của mình. Điều này bao gồm các công cụ để biên dịch mã của bạn thành mã máy gốc
(mã cho iOS và Android).
Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao diện người

dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.v.) giúp bạn có thể cá nhân hóa tùy
theo nhu cầu của riêng mình.

Chương 3: XÂY DỰNG HỆ THỐNG
3.1. Xây dựng kiến trúc hệ thống
3.1.1. Kiến trúc tổng thể hệ thống:
- Mơ hình kiến trúc được sử dụng: Client - Server

Client-server model là một cấu trúc ứng dụng phân tán phân vùng nhiệm vụ hoặc khối
lượng công việc giữa các nhà cung cấp tài nguyên hoặc dịch vụ, được gọi là máy chủ và người
yêu cầu dịch vụ, được gọi là máy khách.
Thông thường máy khách và máy chủ giao tiếp qua mạng máy tính trên phần cứng
riêng biệt, nhưng cả máy khách và máy chủ có thể nằm trong cùng một hệ thống.


Máy chủ lưu trữ máy chủ chạy một hoặc nhiều chương trình máy chủ, chương trình này
chia sẻ tài nguyên của chúng với máy khách. Một máy khách thường không chia sẻ bất kỳ tài
nguyên nào của nó, nhưng nó yêu cầu nội dung hoặc dịch vụ từ máy chủ. Do đó, khách hàng
bắt đầu các phiên giao tiếp với máy chủ, các phiên này đang chờ các yêu cầu đến.
Ví dụ về các ứng dụng máy tính sử dụng mơ hình máy khách-máy chủ là email, in qua
mạng và World Wide Web ..

3.1.2. Chi tiết kiến trúc:
Client-server gồm 2 thành phần chính:
- Client: Cung cấp giao diện cho phép người dùng yêu cầu dịch vụ từ máy chủ và hiển thị kết
quả máy chủ trả về.
- Server: Chờ các yêu cầu đến từ máy khách và sau đó phản hồi chúng. Lý tưởng nhất là máy
chủ cung cấp giao diện minh bạch được tiêu chuẩn hóa cho máy khách để máy khách không
cần biết về các chi tiết cụ thể của hệ thống (tức là phần cứng và phần mềm) đang cung cấp
dịch vụ.


3.2. Phân tích thiết kế hệ thống
3.3.1. Sơ đồ use case
3.3.1.1. Sơ đồ use case

Sơ đồ use-case người dùng:



×