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

KHÓA LUẬN tốt NGHIỆP xây DỰNG hệ THỐNG bán và tư vấn mỹ PHẨM

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 (2.39 MB, 104 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

ĐẶNG VĨNH SIÊU
LƯU SỸ HỒNG

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG BÁN VÀ TƯ VẤN
MỸ PHẨM
Building cosmetic sales and consulting system

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


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

ĐẶNG VĨNH SIÊU – 17520982
LƯU SỸ HỒNG – 17520511

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG BÁN VÀ TƯ VẤN
MỸ PHẨM
Building cosmetic sales and consulting system


KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
THS.HUỲNH HỒ THỊ MỘNG TRINH

TP. HỒ CHÍ MINH, 2021


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………………
ngày ............................... của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1... - Chủ tịch.
2... - Thư ký.
3... - Ủy viên.
4... - Ủy viên.


LỜI CẢM ƠN
Sau hơn 4 năm học tập và rèn luyện tại Trường Đại học Công nghệ Thông tin, được
sự tận tình giảng dạy, giúp đỡ, hỗ trợ của các thầy cô, đặc biệt là quý thầy cô của
khoa Công nghệ Phần mềm, chúng em đã gặt hái được rất nhiều kiến thức nền tảng
bổ ích, có thể áp dụng vào luận văn cũng như áp dụng trong những chặng đường
tiếp theo sau này.
Chúng em xin chân thành cảm ơn quý thầy cô của trường Đại học Công nghệ Thông
tin nói chung, q thầy cơ của khoa Cơng nghệ Phần mềm nói riêng, và đặc biệt là
cơ Huỳnh Hồ Thị Mộng Trinh đã tận tình hướng dẫn và đóng góp ý kiến để chúng
em có thể hồn thành khóa luận này một cách tốt nhất có thể.
Bên cạnh đó, nhóm em xin gửi lời cảm ơn chân thành đến gia đình và bạn bè vì
những lời góp ý, động viên để nhóm có thêm động lực thực hiện khóa luận trong

khoảng thời gian khó khăn này.
Trong suốt q trình chúng em tìm hiểu và thực hiện khóa luận, do đề tài sử dụng
cơng nghệ cịn khá mới, thời gian và khả năng có giới hạn nên chúng em vẫn cịn
nhiều thiếu sót. Do đó, nhóm chúng em rất mong nhận được sự thơng cảm và những
ý kiến đóng góp chân thành từ quý thầy cô và các bạn. Một lần nữa, nhóm chúng em
xin chân thành cảm ơn mọi người rất nhiều.
Thành phố Hồ Chí Minh, tháng 07 năm 2021

Đặng Vĩnh Siêu
Lưu Sỹ Hoàng


MỤC LỤC
TÓM TẮT KHÓA LUẬN ........................................................................................ 1
Chương 1: TỔNG QUAN ĐỀ TÀI ........................................................................... 2
1.1.

Giới thiệu đề tài ............................................................................................. 2

1.2.

Mục tiêu ......................................................................................................... 6

1.3.

Phạm vi: ......................................................................................................... 6

1.4.

Phương pháp thực hiện .................................................................................. 7


1.5.

Ý nghĩa thực tiễn............................................................................................ 8

1.6.

Kết quả dự kiến:............................................................................................. 8

Chương 2: TÌM HIỂU CÔNG NGHỆ CẦN THIẾT .............................................. 9
2.1.

Tổng quan ...................................................................................................... 9

2.2.

PostgreSQL .................................................................................................. 10

2.2.1.

PostgreSQL là gì? ................................................................................. 10

2.2.2.

Tại sao nên sử dụng PostgreSQL? ........................................................ 11

2.2.3.

Khi nào nên sử dụng PostgreSQL? ....................................................... 11


2.2.4.

Khi nào không nên sử dụng PostgreSQL? ............................................ 12

2.2.5.

Ưu điểm? ............................................................................................... 12

2.2.6.

Nhược điểm? ......................................................................................... 13

2.3.

NodeJS ......................................................................................................... 14

2.3.1.

NodeJS là gì? ........................................................................................ 14

2.3.2.

Ưu điểm ................................................................................................ 15

2.3.3.

Nhược điểm........................................................................................... 16


2.4.


NestJS .......................................................................................................... 18

2.4.1.

NestJS là gì? .......................................................................................... 18

2.4.2.

Cấu trúc thư mục của NestJS? .............................................................. 19

2.5.

ReactJS: ....................................................................................................... 20

2.5.1.

ReactJS là gì? ........................................................................................ 20

2.5.2.

Tại sao phải sử dụng ReactJS?.............................................................. 21

2.5.3.

Nhược điểm: ......................................................................................... 22

2.5.4.

Phân biệt ReactJS và React Native ....................................................... 23


2.6.

React Native................................................................................................. 24

2.6.1.

React Native là gì? ................................................................................ 24

2.6.2.

Tại sao phải sử dụng React Native? ...................................................... 24

2.6.3.

Nhược điểm: ......................................................................................... 25

2.7.

Redux ........................................................................................................... 26

2.7.1.

Redux là gì? .......................................................................................... 26

2.7.2.

Tại sao phải sử dụng Redux? ................................................................ 26

2.7.3.


Cách hoạt động của Redux ................................................................... 27

Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ....................................... 28
3.1.

Cơ sở lý thuyết ............................................................................................. 28

3.1.1.

Tìm hiểu về mỹ phẩm dưỡng da ........................................................... 28

3.1.2.

Các thông tin về loại da ........................................................................ 28

3.1.3.

Khảo sát thành phần .............................................................................. 29

3.1.4.

Độ tuổi nào thì nên bắt đầu dưỡng da ................................................... 32

3.1.5.

Bốn giai đoạn dưỡng da cho mọi độ tuổi khác nhau ............................ 33


3.1.6.


Định nghĩa routine chăm sóc da ........................................................... 34

3.1.7.

Thơng tin người dùng cần thiết cho việc xây dựng CSDL gợi ý .......... 35

3.2.

Danh sách các Use-case ............................................................................... 36

3.3.

Một số sơ đồ tuần tự cần chú ý .................................................................... 55

3.4.

Thiết kế cơ sở dữ liệu .................................................................................. 62

3.5.

Thiết kế kiến trúc hệ thống .......................................................................... 80

3.5.1.

Kiến trúc tổng quát................................................................................ 80

3.5.2.

Kiến trúc của ứng dụng web ................................................................. 81


3.5.3.

Kiến trúc của ứng dụng di động ............................................................ 82

3.6.

Triển khai hệ thống ...................................................................................... 84

Chương 4: KẾT LUẬN ............................................................................................ 85
4.1.

Kết quả đạt được .......................................................................................... 85

4.2.

Ưu điểm và nhược điểm .............................................................................. 90

4.2.1.

Ưu điểm ................................................................................................ 90

4.2.2.

Nhược điểm........................................................................................... 90

4.3.

Thuận lợi và khó khăn ................................................................................. 90


4.3.1.

Thuận lợi ............................................................................................... 90

4.3.2.

Khó khăn ............................................................................................... 90

4.4.

Hướng phát triển .......................................................................................... 91

TÀI LIỆU THAM KHẢO ...................................................................................... 92


DANH MỤC HÌNH VẼ
Hình 1.1: Thống kê tần suất chăm sóc da của người dân Việt Nam 2020 ................. 3
Hình 1.2: Thống kê số tiền dành cho mỹ phẩm chăm sóc da hằng tháng 2020 ......... 4
Hình 2.1: Tech stack .................................................................................................. 9
Hình 2.2: PostgreSQL ............................................................................................... 10
Hình 2.3: NodeJS ...................................................................................................... 14
Hình 2.4: Chỉ số ổn định stability index ................................................................... 17
Hình 2.5: NestJS ....................................................................................................... 18
Hình 2.6: Cấu trúc thư mục NestJS .......................................................................... 18
Hình 2.7: ReactJS...................................................................................................... 20
Hình 2.8: React Native .............................................................................................. 24
Hình 2.9: Mơ hình thuần túy của React .................................................................... 26
Hình 2.10: Mơ hình sử dụng Redux .......................................................................... 26
Hình 2.11: Nguyên tắc vận hành của Redux ............................................................. 26
Hình 3.1: Sơ đồ Use-case tổng quát .......................................................................... 36

Hình 3.2: Sơ đồ Use-case người quản trị .................................................................. 37
Hình 3.3: Sơ đồ Use-case người dùng ...................................................................... 46
Hình 3.4: Sơ đồ tuần tự “Đăng nhập” ....................................................................... 55
Hình 3.5: Sơ đồ tuần tự “Đăng ký” ........................................................................... 56
Hình 3.6: Sơ đồ tuần tự “Quản lý routine” ............................................................... 57
Hình 3.7: Sơ đồ tuần tự “Mua hàng” ........................................................................ 59
Hình 3.8: Sơ đồ tuần tự “Quản lý sản phẩm” ........................................................... 60
Hình 3.9: Sơ đồ tuần tự “Xem tình trạng da” ........................................................... 61
Hình 3.10: Sơ đồ cơ sở dữ liệu tổng quát ................................................................. 62
Hình 3.11: Sơ đồ kiến trúc tổng quát ........................................................................ 80
Hình 3.12: Sơ đồ kiến trúc web application ............................................................. 81
Hình 3.13: Sơ đồ kiến trúc mobile application ......................................................... 82
Hình 3.14: Sơ đồ triển khai hệ thống ........................................................................ 84
Hình 4.1: Hình giao diện trang chủ website ............................................................. 84
Hình 4.2: Hình trang chi tiết sản phẩm ..................................................................... 84
Hình 4.3: Hình màn hình chính của ứng dụng .......................................................... 84
Hình 4.3: Hình màn hình chính của ứng dụng .......................................................... 84


Hình 4.4: Hình màn hình routine cá nhân ................................................................. 84
Hình 4.5: Hình màn hình xem tình trạng da ............................................................. 84


DANH MỤC BẢNG
Bảng 1.1: Bảng so sánh các hệ thống mỹ phẩm khác ................................................. 5
Bảng 3.1: Danh sách các Actor ................................................................................. 36
Bảng 3.2: Use case của người quản trị ..................................................................... 38
Bảng 3.3: Use case đăng nhập .................................................................................. 39
Bảng 3.4: Use case quản lý user ............................................................................... 40
Bảng 3.5: Use case quản lý đơn hàng ....................................................................... 41

Bảng 3.6: Use case quản lý sản phẩm ....................................................................... 42
Bảng 3.7: Use case quản lý hãng .............................................................................. 43
Bảng 3.8: Use case quản lý danh mục sản phẩm ...................................................... 44
Bảng 3.9: Use case quản lý routine người dùng ....................................................... 45
Bảng 3.10: Use case của người dùng ........................................................................ 47
Bảng 3.11: Use case đăng ký .................................................................................... 48
Bảng 3.12: Use case đăng nhập ................................................................................ 49
Bảng 3.13: Use case mua hàng ................................................................................. 50
Bảng 3.14: Use case xác nhận đơn hàng................................................................... 51
Bảng 3.15: Use case hủy đơn hàng ........................................................................... 52
Bảng 3.16: Use case quản lý danh sách sản phẩm đang sử dụng ............................. 53
Bảng 3.17: Use case quản lý routine cá nhân ........................................................... 54
Bảng 3.18: Bảng PRODUCT .................................................................................... 62
Bảng 3.19: Bảng PRODUCT_INGREDIENTS ....................................................... 64
Bảng 3.20: Bảng PRODUCT_STOCK..................................................................... 65
Bảng 3.21: Bảng BRAND ........................................................................................ 65
Bảng 3.22: Bảng BRAND_PRODUCT_LINES ...................................................... 66
Bảng 3.23: Bảng IMPORT_DETAIL ....................................................................... 66
Bảng 3.24: Bảng CART_DETAIL ........................................................................... 67
Bảng 3.25: Bảng BILL.............................................................................................. 68
Bảng 3.26: Bảng BILL_DETAIL ............................................................................. 69
Bảng 3.27: Bảng BILL_SHIPMENT ....................................................................... 70
Bảng 3.28: Bảng BILL_PAYMENT ........................................................................ 71
Bảng 3.29: Bảng COSMETIC_INGREDIENTS ...................................................... 72
Bảng 3.30: Bảng CATEGORY_DISCOUNT .......................................................... 73


Bảng 3.31: Bảng CATEGORY ................................................................................. 74
Bảng 3.32: Bảng USER_ROUTINE ......................................................................... 74
Bảng 3.33: Bảng USER ............................................................................................ 75

Bảng 3.34: Bảng ROUTINE_DETAIL .................................................................... 76
Bảng 3.35: Bảng ROUTINE_SEED ......................................................................... 76
Bảng 3.36: Bảng ROUTINE_SEED_DETAIL ........................................................ 77
Bảng 3.37: Bảng FACE_SKIN_LOG....................................................................... 77
Bảng 3.38: Bảng USER_LIST_USING ................................................................... 78
Bảng 3.39: Bảng USER_WISHLIST ....................................................................... 79
Bảng 3.40: Bảng STAFF .......................................................................................... 79
Bảng 3.41: Bảng kiến trúc web application .............................................................. 81
Bảng 3.42: Bảng kiến trúc mobile application ......................................................... 83


DANH MỤC TỪ VIẾT TẮT
STT

Từ viết tắt

Tên đầy đủ

Diễn giải
Là q trình tích hợp
thường xun, nhanh

1

CI/CD

Continuous Integration/
Continuous Delivery

chóng hơn khi code

cũng

như

thường

xuyên cập nhật phiên
bản mới và triển khai
liên tục.

2

GYSP

Gợi ý sản phẩm

3

BHA

Beta Hydroxy Acid

4

AHA

Alpha Hydroxy Acid

Gợi ý sản phẩm cho
routine của người dùng

Thành phẩn trong mỹ
phẩm
Thành phẩn trong mỹ
phẩm
Cơ sở dữ liệu cho việc

5

CSDL

Cơ sở dữ liệu

gợi

ý

routine

người dùng.

cho


TĨM TẮT KHĨA LUẬN
-

Tổng quan đề tài: Khóa luận với đề tài “Xây dựng hệ thống bán và tư vấn mỹ
phẩm” sử dụng NodeJS và framework NestJS làm server backend và ReactJS
cho giao diện phiên bản web với chức năng chính là bán hàng và sử dụng React
Native để xây dựng phiên bản mobile application với chức năng chính là tư vấn

và quản lý quy trình chăm sóc da cá nhân. Hệ thóng hướng đến những người
dùng có nhu cầu mua mỹ phẩm và cần có cơng cụ tư vấn, hỗ trợ quản lý routine
cá nhân.

-

Tìm hiểu về thực trạng nhu cầu sử dụng mỹ phẩm nói riêng và mua hàng online
về chăm sóc sắc đẹp nói chung. Phân tích cách hỗ trợ tư vấn cho những người
chưa có kinh nghiệm muốn mua và sử dụng các sản phẩm mỹ phẩm đúng cách,
an tồn và hiệu quả.

-

Tìm hiểu về các kiến thức cơ bản của nghiệp vụ bán hàng, kiến thức về chăm
sóc da và làm đẹp, các thành phần hóa học và chức năng của các sản phẩm mỹ
phẩm. Mục đích kinh doanh một số mặt hàng mỹ phẩm thiết yếu cũng như tư
vấn sử dụng các sản phẩm đã mua tạo lịch chăm sóc da tự động.

-

Nghiên cứu các công nghệ ReactJS, React Native, NodeJS với framework
NestJS và PostgreSQL.

-

Phân tích, thiết kế kiến trúc hệ thống, thiết kế cơ sở dữ liệu và giao diện cho ứng
dụng web.

-


Phân tích, thiết kế kiến trúc hệ thống, thiết kế cơ sở dữ liệu và giao diện cho ứng
dụng di động.

-

Triển khai máy chủ và ứng dụng bằng cách sử dụng các nền tảng, dịch vụ
như Azure.

-

Trình bày kết luận và hướng phát triển cho hệ thống bán và tư vấn mỹ
phẩm.

1


Chương 1: TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu đề tài:
Ngày nay nhu cầu mua sắm online của người dân ngày càng tăng cao đặc biệt
là nhu cầu về mua sắm các loại mỹ phẩm chăm sóc da mà khơng cần lại tận
cửa hàng để mua và được tư vấn. Ngày càng nhiều số lượng lớn khách hàng
sẵn sàng mở hầu bao để chi một số tiền đáng kể cho các dịch vụ chăm sóc da
và mua sắm mỹ phẩm dưỡng da.
Đồng thời đồng hành với sự phát triển của các ngành khác thì ngành hàng
chăm sóc sắc đẹp cũng đang tăng trưởng tích cực ở Việt Nam với mức tăng cao
ở cả hai phân khúc chính là trang điểm và đặc biệt là chăm sóc da. Thêm vào
đó là sự ảnh hưởng của phong cách dưỡng da hiện đại thì quy trình chăm sóc
da ngày càng phức tạp, tần suất ngày càng nhiều hơn. Trung bình, cứ 4 người
lại có 1 người có chu trình làm đẹp nhiều hơn 4 bước (mua ít nhất 4 loại sản
phẩm tương ứng mỗi bước). Không những phụ nữ mà cả hai giới ngày nay đều

chủ động trong việc tìm hiểu các bước chăm sóc da phức tạp hơn, đặc biệt ở
khu vực thành thị, với giỏ hàng làm đẹp ngày càng đa dạng.
Cho nên ngoài việc việc mua được sản phẩm chất lượng thì khách hàng cần có
một dịch vụ để có thể kiểm sốt, quản lý các quy trình chăm sóc da của mình,
đặt biệt là trên các nền tảng thơng minh có thể lưu trữ cũng như tự động gợi ý
giúp cho việc chăm sóc da trở nên tiện lợi và an tồn hơn. Nhóm lấy đây làm
đề tài nghiên cứu và phát triển hệ thống vừa bán vừa tư vấn hỗ trợ người mua
sử dụng sản phẩm một cách tốt nhất.

2


Hình 1-1: Thống kê tần suất chăm sóc da của người dân
Việt Nam năm 2020.
Nguồn: qandme.net

3


Hình 1-2: Thống kê số tiền dành cho mỹ phẩm chăm sóc
da hàng tháng năm 2020
Nguồn: qandme.net
Chính vì kinh tế của người dân ngày càng được nâng cao nên nhu cầu về
làm đẹp cũng cùng lúc đó mà tăng theo. Trong đó quan trọng nhất là chăm
sóc cho làn da thật trắng hồng, láng mịn và khỏe mạnh. Ai cũng nên có một
thói quen chăm sóc da để ln có một vẻ ngoài đầy tự tin và khỏe khoắn.
Tuy nhiên để có thể làm được điều này cần vừa phải đầu tư thời gian và
cơng sức để tìm hiểu các quy trình chăm sóc, các loại mỹ phẩm dành cho
các loại da và các công dụng mong muốn khác nhau vừa phải tìm kiếm một
nơi bán hàng chính hãng, an tồn và đáng tin cậy. Vì vậy sẽ rất khó cho

nhóm người mới lần đầu bước vào lĩnh vực này muốn có được một túi mỹ
phẩm vừa an tồn cho làn da vừa đầy đủ các yếu tố cần thiết trong quy trình
chăm sóc da mặt của bản thân. Nhưng nhờ vào các kiến thức về công nghệ
mà chúng em đã học được sau 4 năm ở trường thì nhóm chúng em mong
muốn sẽ hỗ trợ được phần nào cho nhóm khách hàng này, giúp cho họ có
thể dễ dàng quản lý được các sản phẩm của mình và quy trình chăm sóc da
cá nhân qua chiếc điện thoại thơng minh mà khơng cần tốn thời gian để tìm
hiểu và nhớ các kiến thức vô cùng rộng lớn của lĩnh vực chăm sóc da này.
So sánh một số hệ thống mỹ phẩm đã có sẵn trên thị trường:
4


Bảng 1 – 1 Bảng so sánh các hệ thống mỹ phẩm khác
Chức Năng

Bán hàng
mỹ phẩm

Đánh giá sản
phẩm

Hasaki

Reviewty

SkinFood

Beyu






Cá nhân
đăng ký



bán hàng
Đánh giá



Đánh giá sản

sản phẩm

đánh

phẩm bán

cá nhân

trên hệ thống

đã sử

sản

dụng


phẩm

Chưa có

Booking lịch
với phịng



Chưa có

Chưa có

Chưa có

Chưa có

Chưa có

khám da

giá

Chưa


Quản lý
routine quy
trình chăm




sóc da cá
nhân
Dựa trên các khảo sát trên các hệ thống mỹ phẩm đã có sẵn, nhóm thấy rằng
rất cần có một hệ thống bán mỹ phẩm ngồi chức năng chính là bán hàng thì
cần có thêm chức năng quản lý routine chăm sóc da để hỗ trợ cho nhóm
người dùng mới lần đầu bước vào lĩnh vực này.
Ngồi hỗ trợ cho nhóm khách hàng, thì nhóm cịn mong muốn cung cấp một
cơng cụ quản lý tồn diện, đơn giản nhưng hiệu quả cho người quản trị.
Đó là lý do nhóm chọn đề tài Khóa luận Tốt nghiệp là “Xây dựng hệ thống
bán và tư vấn mỹ phẩm” – Một hệ thống giúp cho việc mua hàng mỹ phẩm
và chăm sóc da trở nên đơn giản hơn hiệu quả hơn.

5


1.2 Mục tiêu
-

Tìm hiểu nghiệp vụ bán hàng, kiến thức về mỹ phẩm, tư vấn về chăm sóc da
qua việc hỗ trợ quản lý routine chăm sóc da cá nhân.

-

Nghiên cứu, tìm hiểu cơng nghệ ReactJS, React Native, NodeJS, NestJS để
áp dụng vào hệ thống.

-


Phát triển ứng dụng web và ứng dụng di động bằng cách sử dụng các
framework ReactJS, React Native theo hướng đầy đủ tính năng, thân thiện,
dễ sử dụng nhằm nâng cao trải nghiệm của người dùng.

-

Triển khai máy chủ và ứng dụng bằng cách sử dụng các nền tảng, dịch vụ
như Azure.

-

Xây dựng hệ thống giúp người dùng:
▪ Xem và lựa chọn mua hàng với các tùy chọn thanh toán khác
nhau.
▪ Quản lý các sản phẩm đã mua và lưu lại quá trình sử dụng.
▪ Xem đánh giá sản phẩm và chi tiết thành phần.
▪ Tự thiết kế hoặc được gợi ý thiết kế quy trình chăm sóc da tự
động.

-

Hệ thống được xây dựng giúp người quản trị:


Quản lý sản phẩm về sale, thông tin của sản phẩm.



Quản lý và thực hiện đơn hàng.




Tư vấn khách hàng.



Quản lí nhập hàng và truy xuất nguồn gốc.

1.3 Phạm vi
Hệ thống được xây dựng trên phạm vi ứng dụng web và ứng dụng mobile,
tập trung vào hai mảng chính là cung cấp dịch vụ mua hàng và tư vấn quản lý
routine chăm sóc da cho phía người dùng và hỗ trợ người quản trị quản lý
shop mỹ phẩm của mình một cách dễ dàng, tiện lợi.

6


1.4 Phương pháp thực hiện
Thực hiện đề tài theo các bước:
-

Phần tích đề tài.

-

Tìm hiểu các kiến thức về bán hàng, kiến thức về thành phần hóa học

phổ biến trong mỹ phẩm chăm sóc da và đặc điểm các loại da khác nhau.
-


Tham khảo các trang thông tin, ứng dụng về buôn bán mỹ phẩm.

Tổng hợp những yêu cầu thiết yếu của một hệ thống hỗ trợ tư vấn, đồng thời
tìm ra những cái mới để có thể tích hợp mang lại trải nghiệm tốt hơn cho
người dùng.
-

Phân tích các yêu cầu đã thu thập được.

-

Thiết kế cơ bản các yêu cầu.

-

Nghiên cứu công nghệ để áp dụng.

-

Phát triển sản phẩm theo từng giai đoạn, đồng thời lấy ý kiến phản hồi.

-

Kiểm thử và hồn thiện.

-

Những cơng nghệ được sử dụng:


-

Back-end:
▪ Node JS với NestJS Framework.
▪ PostgreSQL.

-

Front-end:
▪ React JS Framework với Ant Design UI Library
▪ React Native Framework.

7


1.5 Ý nghĩa thực tiễn
-

Xây dựng được một hệ thống bán hàng online và tư vấn hỗ trợ người mua có
thể áp dụng thực tế vào mơ hình kinh doanh mà không chỉ trên quy mô một
đồ án tốt nghiệp.

-

Hệ thống hướng đến việc cung cấp cho người dùng một trải nghiệm mua
hàng thoải mái, đáng tin cậy và có thể quản lý được quy trình chăm sóc da
thơng qua hệ thống.

-


Lưu lại q trình chăm sóc da để theo dõi và đánh giá xem quy trình chăm
sóc da nào là tối ưu.

-

Cung cấp các kiến thức, chú ý cần thiết tránh rủi ro cho khách hàng khi sử
dụng các phẩm không phù hợp với làn da hay dùng không đúng tác dụng
mong muốn.

1.6 Kết quả dự kiến
Hiểu và nắm rõ những khái niệm cơ bản về ReactJS và React Native, NestJS.
Đồng thời xây dựng và phát triển hệ thống bán qua website và hỗ trợ tư vấn
những người có nhu cầu mua và muốn quản lý quy trình chăm sóc da một
cách hiệu quả và đơn giản hơn qua ứng dụng mobile. Hoàn chỉnh một hệ
thống cung cấp dịch vụ bán và tư vấn cho một cửa hàng mỹ phẩm có khả
năng nâng cấp phát triển được về lâu dài.

8


Chương 2: TÌM HIỂU CƠNG NGHỆ CẦN THIẾT
2.1 Tổng quan

Hình 2.1: Tech Stack
Hệ thống sử dụng combo fullstack React, NestJS, PostgreSQL, NodeJS. Đây
là một trong những combo fullstack mới hiện đại dễ dàng thực thi với ngôn
ngữ chủ đạo đang rất thịnh hành là Javascript và Typescript. Sau khi cân
nhắc nhóm đã quyết định chọn các cơng nghệ trên với các lợi ích nhất định sẽ
được liệt kê ở các phần tiếp theo.


9


2.2 PostgreSQL
2.2.1 PostgreSQL là gì?

Hình 2.2: PostgreSQL. Nguồn: google.com
PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ – đối tượng, được phát
triển bởi Khoa Điện toán, Đại học California – Hoa Kỳ dựa trên Postgres bản
4.2.
Ban đầu, hệ quản trị được thiết kế để chạy trên các nền tảng tương tự như
Unix. Sau này, PostgreSQL được điều chỉnh trở nên linh động và chạy trên
nhiều nền tảng khác nhau như Windows, Mac OS X, Solaris với nhiều tính
năng và đặc điểm nổi bật.
PostgreSQL là mã nguồn mở miễn phí. Người dùng có thể tự do sử dụng,
chỉnh sửa và phân bổ PostgreSQL theo nhiều hình thức khác nhau.
So với nhiều hệ quản trị cơ sở dữ liệu khác, PostgreSQL khơng q u cầu
về cơng tác bảo trì bởi tính ổn định cao, có thể phát triển nhiều ứng dụng
khác nhau với chi phí tương đối thấp.

10


2.2.2 Tại sao nên sử dụng PostgreSQL?
-

Là một chuẩn SQL phù hợp với hệ quản trị cơ sở dữ liệu quan
hệ: PostgreSQL là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở,
miễn phí và mạnh mẽ


-

Có khả năng tạo ra kiểu mới nếu danh sách các loại dữ liệu mở rộng có
sẵn của PostgreSQL khơng đủ bằng cách sử dụng lệnh CREATE TYPE
để tạo ra các kiểu dữ liệu mới như hỗn hợp (composite), liệt kê
(enumerated), khoảng (range) và base.

-

Cộng đồng mạnh: PostgreSQL được hỗ trợ bởi một cộng đồng nhiệt
tình và đầy kinh nghiệm.

-

Hỗ trợ mạnh mẽ từ các bên thứ 3: Bất kể các tính năng tiên tiến thì
PostgreSQL đều được hỗ trợ bởi các công cụ tuyệt vời của bên thứ 3
trong việc quản lý cơ sơ dữ liệu

-

Sự mở rộng: có thể mở rộng lập trình PostgreSQL với các thủ tục lưu
trữ, giống như một RDBMS tiên tiến.

2.2.3 Khi nào nên sử dụng PostgreSQL?
-

Tồn vẹn dữ liệu: Khi độ tin cậy và tính tồn vẹn dữ liệu là tuyệt đối
cần thiết thì PostgreSQL là lựa chọn tốt hơn hết.

-


Thủ tục phức tạp và khả năng tùy chỉnh cao: Nếu bạn cần cơ sở dữ
liệu cảu bạn thực hiện các thủ tục có khả năng tùy chỉnh thì
PostgreSQL hỗ trợ rất tốt cho việc đó.

-

Sự đồng bộ: Trong tương lai, nếu có phải chuyển từ hệ quản trị cơ sở
dữ liệu quan hệ này sang một hệ quản trị cơ sở dữ liệu khác nhứ
Oracle thì PostgreSQl cho việc chuyển đổi trong tương lại đó.

-

Thiết kế phức tạp: So với sự thực hiện của các hệ quản trị cơ sở dữ
liệu quan hệ mã nguồn mở miễn phí khác với thiết cơ sở dữ liệu phưc
tạp thì PostgreSQL cung cấp cho chúng ta những giải pháp tối ưu hơn.

11


2.2.4 Khi nào không nên sử dụng PostgreSQL?
-

Tốc độ: Nếu tất cả các các hoạt động yêu cầu đọc nhanh thì
PostgreSQL khơng phải là cơng cụ phù hợp.

-

Các thiết lập đơn giản: Nếu bạn khơng u cầu tính tồn vẹn dữ liệu
tuyệt đối, tuân thủ theo ACID hoặc thiết kế phức tạp thì PostgreSQL

có thể là một sự phá hoại cho các thiết lập đơn giản.

-

Sự nhân rộng: Trừ khi bạn sẵn sàng bỏ thời gian, công sức và tài
nguyên thì việc đạt được sự nhân rộng với MySQL có thể đơn giản
cho những người thiếu kinh nghiệm cơ sở dữ liệu và hệ thống quản lý.

2.2.5 Ưu điểm?
-

Kiểm soát đồng thời nhiều phiên bản: Postgres là DBMS đầu tiên triển
khai điều khiển đồng thời nhiều phiên bản (MVCC), có nghĩa là đọc
không bao giờ chặn việc ghi và ngược lại.

-

ORDBMS: PostgreSQL là một object-relational database. Theo một
báo cáo trực tuyến, nó đóng vai trị là cầu nối giữa lập trình hướng đối
tượng và lập trình quan hệ / thủ tục (giống như C ++). Bằng cách này,
nó cho phép cấu trúc dữ liệu phức tạp hơn vì người dùng có thể xác
định đối tượng và kế thừa bảng.

-

Cộng đồng: Không giống như MySQL, được quản lý bởi Oracle,
Postgres được giám sát bởi một cộng đồng các nhà phát triển sơi động,
những người có động lực cao để vừa sử dụng sản phẩm vừa giúp
những người khác khám phá nó và giữ cho nó hoạt động trơn tru.


-

Hoạt động tốt hơn khi phải chạy nhiều truy vấn phức tạp dưới tải
nặng: Với các hoạt động đọc-ghi phức tạp yêu cầu xác thực dữ liệu,
PostgreSQL là một lựa chọn cơ sở dữ liệu tuyệt vời.

-

Hỗ trợ dữ liệu không gian địa lý.

12


2.2.6 Nhược điểm?
-

Postgres không thuộc sở hữu của một tổ chức. Vì vậy, nó đã gặp khó
khăn khi đưa tên của mình ra khỏi đó mặc dù có đầy đủ tính năng và
có thể so sánh với các hệ thống DBMS khác

-

Những thay đổi được thực hiện để cải thiện tốc độ địi hỏi nhiều cơng
việc hơn MySQL vì PostgreSQL tập trung vào khả năng tương thích.

-

Nhiều ứng dụng nguồn mở hỗ trợ MySQL, nhưng có thể khơng hỗ trợ
PostgreSQL


-

Về số liệu hiệu suất, nó chậm hơn MySQL.

13


×