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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng website bán quần áo tích hợp Web3

115 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Xây dựng website bán quần áo tích hợp Web3
Tác giả Trần Trọng Hoàng, Trần Ngọc Tiễn
Người hướng dẫn ThS. Trần Thị Hồng Yến
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 115
Dung lượng 30,91 MB

Nội dung

Mục tiêu chính là tạo ra một nền tảng thương mại điện tử hiện đại, tậndụng lợi ích của Blockchain dé cải thiện tính minh bạch và trải nghiệm người dùng.Các nội dung trình bày trong báo c

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THONG TIN

KHOA CÔNG NGHỆ PHAN MEM

Tran Trong Hoang — 20520521

Tran Ngoc Tién — 20520808

KHOA LUAN TOT NGHIEP XAY DUNG WEBSITE BAN QUAN AO

TICH HOP WEB3

Building A Website Selling Clothes

With Web3 Integration

GIANG VIEN HUONG DAN

ThS Tran Thị Hồng Yến

Thành phố Hồ Chí Minh, tháng 7 năm 2024

Trang 2

LỜI CẢM ƠN

Khóa luận tốt nghiệp tốt nghiệp với đề tài “Xây dựng Website bán quần áo tíchhợp Web3” là minh chứng cho quá trình cố gang không ngừng trong việc tìm tòi,

học hỏi trong suốt hơn 4 năm học tập tại trường Đại học Công nghệ Thông tin.

Thé hiện khả năng của bản thân trong việc áp dụng kiến thức chuyên môn vàogiải quyết bài toán thực tế

Chúng em xin được gửi lời cảm ơn sâu sắc tới ThS Trần Thị Hồng Yến, người

đã trực tiếp hướng dẫn, chỉ bảo, giúp đỡ chúng em những lúc khó khăn, đưa ranhững lời khuyên bồ ích dé khóa luận tốt nghiệp được hoàn thành đúng tiến độ vàđáp ứng các yêu cầu đề ra ban đầu

Thành phố Hồ Chí Minh, tháng 6 năm 2024

Sinh viên

Trần Trọng Hoàng

Trân Ngọc Tiên

Trang 3

MỤC LỤC

Chương 1: GIỚI THIEU DE TAL - 5-5 s2 s2 se=sessessesee

1.1 Giới thiệu đề tài -s-s-csccsccsersesstseteetsersersersersersersersesee1.2 Ly do chọn đề tài 2< 5< s< scs©csexsEssEseEsstsevsevsersersersersesee

1.3 Mục tiêu trong đề tài c 5 -scsecssceserserssersersersersserserssree

1.4 Đối tượng nghiên cứu s5 s°s sess+ss+ss+sseseEsersersersessesse

1.4.1 Cac co linh .

1.4.2 Déi tượng phạm vi dé tài hướng đến -2- 2 sSs+c++£z£zcee2

1.5 PRAM VỈ 0G ĂSẤ 9 9 TT 0 0 00 0000400090 1.6 Phương pháp thực hiỆn - so 5-5 5 5< s5 9 9 1 90 98 8951

1.7 Ý nghĩa thực iễn -scs°©ss©csecscsstssersersetssessersersee

1.8 Kết quả dự kiến 5° s©c<£ssexsessEssesstsersersersersersersesee

Chương 2: CƠ SỞ LÝ THUYÊTT 2-s-s° s2 ©ssssessessesseesees

2.1 TPES 21 Alito MIIN By spear tacet, HIB oo corf cvssosdeovsconsesescnsconsconscensessconsconscenecs

2.1.1 Giới thiệu ĂĂ 2S 2t tre

Trang 4

2.4.2 Các đặc trưng cL TH HH TH Hư 8

Phu on 9

2.5 PostgreSQL cọ Họ họ TH TT 0000.0000 06 9

"toàn 9 2.5.2 Các đặc frưng ch 9 2.5.3 LY as on ae e 10

2.6 MongoDB cóc 5s Họ H c0 0.0004.000 0009.00000496 0006 10

2.6.1 Con 10

2.6.2 Các đặc frưng ccc nh TH HT TH ng HH ng riệp 11 2.6.3 Lý do ChOML ee eeceeceeccesceeceeseceseeeceeseceneceeeaeceaeseeeeaeeneeeaeeeaeeeeeentenaees 11 2.7 ASP.NET Core 7 APÌ o «5-5 5< ưng 12

2.7.1 Giới thiệu W7 nỗ T ii 12 2.7.2 Các đặc tr: sếpc À Like 12

Phun 12

2.8 VNPAY SandDoX 0-5 5 5s 9 nọ 00000 000 13

2.8.1 GiớiHiu.Ðl ƒƑ ae <@Ø®1\111 / 13

2.8.2 Các đặc frưng cc nQnn HS TH TH ng TH ng Hiệp 13 2.8.3 Lý do chọn TQ SH TH TH ng HH ng Hư 13

2.10.1 — Giới thiệu Ăn HH HH HH re 16 2.10.2 Các đặc trưng cà St H* HH SH TH TH HH Hy rrệp 16

2.10.3 LY do chọn SG n1 S1 HH HT HH nh Hư 16

2.11 Blockchain so 55G 5s 5 9 9 00 0108996 18

2.12 WWeblđ ceĂ#SĂ HH HH n0 0018086008080106800016 06 19

Trang 5

2.13 Ethereum Sepollia co 55 <5 5S 5 9 9993.290 0996005056696 6896 20

2.13.1 _ Giới thiệu SĂ S2 SSS SH he 20

2.13.2 Các đặc trưng -.c SH ng HH ng rệt 20

2.14 Hợp đồng thông minh (Smart C0OnTFAC Ê) 5< <5 55 <5 ss<s sssss+ 21

2.15 ERC-721 SH HH HH HH ngu u00 22

2.15.1 — Giới thiỆu SĂ S2 S St set ri 22 2.15.2 Cac đặc trưng HH ng HH HH rệt 23

2.15.3 LY do chọn 5 cSS S3 SH 1111111111 ngư 23

2.16 OpenzZepplin - << 5 5 << s sọ 00060080 23

2.16.1 Khái niệm -.- 5c 2S 2.1911 1211111211111 1E tre 23 2.16.2 Các đặc frưng ch HH rệt 24 2.16.3 Lý dochọn eee re cree TÔ àìằàằềềicceĂi 24

2.17 Clone Factory COnẨTAC o s55 5 5s S3 99 996 850568956896 24

2.17.1 Đặt vẫn đề: re 24

2.17.2 Kết quả thực nghiệm -. -2:©22©52+2E++Ex2Exvtrrerxeerxeee 262.18 Thanh toán đơn hàng bằng token -ses<ssecssessse 26

2.18.1 Mô hình hoạt động - 2 S213 +EEsisrrererererske 27

2.19 Áp dụng Blockchain vào khoá luận -2-sssessscssess 28

2.20 Chafbof 5c HH HH gu 0g 0e 31

2.20.1 — Giới thiệu Ặ 2.5 CS St S St riey 31

2.20.2 Cong nghệ sử dụng - -.LSc St St n* HH HH Hy 31 2.20.3 — Quy trình tạo DOf - 2c St S21 SH 1111111111 1 kg re 31

2.20.4 Thực tế áp dụng ¿5c tt EE21121121121121 21 1y ee 34

Chương 3: PHAN TÍCH VÀ THIẾT KE HE THÓNG 36

3.1 Xác định yêu cầu °-scs©css©ssersersersserserserssrrserserssrse 36

3.1.1 So đồ phân rã chức năng - + + k+Ek+EE2EE2EE2E2E2ErEerrerres 373.1.2 Phân tích yêu cầu phi chức năng 2- 2 ++z2zz+zxerxzzsze 37

3.1.3 Mô hình hóa các yêu cầu 2- 22 ++Ex+2E2EEEEEEEEEEEEEkerrerrrees 37

E5"? li ae G A11 40

Trang 6

3.2 Thiết kế hệ thống °-s-scss©ss+esersetsstreerserssrrsrrssrssrse 60

3.2.1 Tổng quan thiết kế kiến trúc hệ thống -. 2 5¿+++z2se2 603.2.2 Mô hình hệ thống -:- 2 ©E+SE2EE2EE2EE2E2EE2E717171 2121 se 613.2.3 Thiết kế xử lý 2 tk TT E1 1121121121121111 11kg 623.2.4 Thiết kế cơ sở dữ liệu ccc-ccccrtrkrrrrttrirrrrrirrrrireriiee 66

Chương 4: XÂY DỰNG ỨNG DỰNG Go Ăn 1 2, 75

4.1 Danh sách giao dỆNn d <6 5 9 9 9 0 0 00 689868896 75

4.1.1 Danh sách giao diện khách hàng - 55c *+c+vcssersseres 75 4.1.2 Danh sách giao diện Admin và Merchant - - 55+ +-<+ 76 4.2 Mô tả các màn hìnhh - s5 < «<< s9 99 1 9 8909508580 56.50 77

4.2.1 Giao diện trang Chủ - - 2c 3 S3 v1 ng ng ray 77 4.2.2 Giao diện đăng nhập - - - 2c 2 32t 1* 3S 1211 ray 78

4.2.3 Giao diện đăng KY HH HH ng HH tiệt 79

4.2.4 _ Giao diện xem sản phẩm -¿©22 + x+2+++E++Exerxrzzesrxerxersee 80

4.2.5 Giao diện Giỏ hang c3 tt HH gi ri, 81 4.2.6 Giao diện dat hàng - c3 E931 111 1x rệt 81

4.2.7 Giao diện thanh toán thành CONG eceeseeeesseeeeteeeteeeseeneeesees 82

4.2.8 Giao điện lọc sản phẩm 2: + eEE£EE+EE2EE2EE2EE2E2ErEerkered 83

4.2.9 Giao diện thanh toán online - + +++s+£++s+++ee++eesse+sss2 84

4.2.10 _ Giao diện hién thị danh sách yêu thích - ¿5z s=s¿ 84

4.2.11 _ Giao diện hién thị don hang cececceceeccesessessessessessessessesseseeseeseens 854.2.12 Giao điện quan lý review sản phẩm c.cccccccsscessesssessseeeessteseees S6

4.2.13 Giao diện quản ly don đăng ký ban hàng 5+ ++-++ S6 4.2.14 _ Giao diện quản lý thông báo ¿5525 + ++svsseeseeeeeesee 87

4.2.15 _ Giao diện gid hang , - - c kg HH ng ray 87

4.2.16 _ Giao diện nhập thông tin giao hang - 555cc s+s+s 88 4.2.17 Giao diện chọn phương thức thanh toán - +55 <+++ 88

4.2.18 Giao diện dashboard - - << < E2 11111E£ E231 EEEEEEsskkeeeees 89

4.2.19 Giao diện quản lý sản phẩm 2 2522 2+E++E+EzEezEerxered 90

Trang 7

Giao diện thêm san pham MOi c.cceccesseesessesseessessesseessessesseesees 91

Giao diện quan lý đơn hang 00 c eee eceeceeceeeeeseeeseeeeeeteeeseenrensees 92

Giao điện xem chi tiết đơn hang - 2-52 2+2: 93

Giao diện quản lý NÏT, c5 31132 EEEEsrrerererske 93

Giao điện thêm sản phẩm NFT - 2-2 2+5 +x+£E££xe£zzszes 94

Giao diện quản ly đơn hàng NET - 5 + *+svsseeeeses 95

Giao diện chỉ tiết đơn hàng NFT 2¿5¿©2s22+csz+zsce2 96

Giao diện quan lý don đăng ký ban hàng 5 5555 +>5 96 Giao diện quan lý Voucher 55s + +++s+++scxseeeeeeesesss 97 Giao diện thêm voucher- <5 + 2+ * + +22 +++eeeeeseeeeeszese 97

Giao điện quản lý đơn hàng thanh toán băng VNPAY 98

s.essssssesseesssoonaSSSSSSTS.„.z77Z7P2 ợYGSIẾT THẦÀ ooeeceeseennessseeeessseoseesse 99

TÀI LIEU THAM KHẢO - 2° 22 2s s£ s2 seSssSssessessersessee 101

Trang 8

DANH MỤC BANG

Bảng 3.1: Danh sách Cac aCfOTS - 122111121111 111911 1191118111101 1811 E81 8x rrrện 37

Bảng 3.2: Danh sách các USe CaSe - - 222 120112112 1111111111111 11x 38

Bảng 3.3: Đặc ta Use case đăng nhập - c1 1121911 111111 8x rkp 4I

Bảng 3.4: Đặc ta Use case Đăng xuất ¿- 22222 2122122212211 2E rrke 42

Bảng 3.5: Đặc ta Use case Xem sản phẩm 2-5255 E2E22EEeEE2ESExerxerrerred 42

Bang 3.6: Đặc ta Use case thêm sản phẩm vào giỏ hàng 2-52 25z25+¿ 43Bang 3.7: Đặc ta Use case tìm kiếm sản phẩm 2- 2 52z+£z+£xe£Ezrssred 44

Bảng 3.8: Đặc ta Use case quản lý ø1ỏ hang - 2c c1 33 ssirerrresve 45

Bang 3.9: Đặc ta Use case Thêm bớt số lượng sản phẩm - 2-2 2252 45

Bang 3.10: Đặc tả Use case xoá sản phẩm 2-5252 2E2EEEE2EEExerErrrrrred 46

Bảng 3.11: Đặc tả Use case đặt hàng . 5Á n1 1S SH tệp 47 Bang 3.12: Đặc ta Use case Thanh foán «+ + HH HH giết 48 Bang 3.13: Đặc ta Use case thanh toán online - «+ sex svsvsveeeereeeexrs 49 Bảng 3.14: Đặc ta Use case thanh toán khi nhận hàng - 55555 <++s+2 49

Bang 3.15: Đặc ta Use case Loc sản phẩm M.U TT 51

Bảng 3.16: Dac ta Use case Chat với Chatbot .- 2 3+ +2 +++seserserssers 52 Bảng 3.17: Đặc ta Use case chỉnh sửa danh mục - - ¿ + +++s£++x+sex+e+sxss 52

Bang 3.18: Đặc ta Use case xem sản pham cccccccccccsscssessessessessessessessssessesseeseeseeses 53

Bang 3.19: Đặc ta Use case Chỉnh sửa sản pham 0 ccccecccssesscessesseessessesseessessesseeeee 54

Bang 3.20: Đặc ta Use case Tạo INE TÌ - 11H re 5S

Bảng 3.21: Đặc tả Use case Xem chỉ tiết đơn bán hàng 2- 22 5¿52s25s2 56

Bảng 3.22: Dac ta Use case chỉnh sửa trạng thai đơn - 5-5-5 + +5 <++scx+s+ 57 Bảng 3.23: Đặc tả Use case Xoá đơn ban hàng - - 5 3+ ++*vssseeeseeeeses 58

Bảng 3.24: Đặc tả Use case Tim kiếm đơn bán hàng 2- 22 5¿22sz2z+2s+2 58

Bảng 3.25: Dac ta Use Case Xem báo cáo doanh thu - ¿+55 s+s++s+sss+ 59

Bảng 3.26:Bảng dt liệu uS€TS - G0 21121112111 112 11H 11 ng nh ng nh 67 Bảng 3.27: Bang dữ liệu role permissions 5 2+3 3+2 sseseeresreeers 67 Bang 6 2.1057iii-8:1 0100:9117 68

Trang 9

Bảng 3.29: Bảng dữ liệu perIm1SSIOTIS ó5 1n HH HH ng rệt 68

Bảng 3.30: Bang dữ liệu ÍaVOTI{€ - -Q S 1S t* SH HH 1 1111 11 kết 68

Bảng 3.31: Bang dữ liệu prOdUCI 5 2c 2222123113331 33511 151111151111 kem 68 Bảng 3.32: Bang dữ liệu Caf€ØOTY G11 1121112 1110111191118 1110111811 811g Hiện 69

Bảng 3.33: Bang dữ liệu product_Caf€ØOTV c S2 12 S2 irrrrirsrrsee 69

Bảng 3.34: Bảng dữ liệu product_ defaIÏ - - - c5 311 + EE*Exeeereeeeeeereeee 69 Bảng 3.35: Bảng dữ liệu S1Ze -.- - Gà HT Hà HH ngàn Hết 70

Bảng 3.36: Bảng dữ liệu CaTẲ - -.- G0222 122112111111121 11 1111111111111 111 11 11 ke 70

Bảng 3.37: Bang dữ liệu Cart._ defaIÌ - - c1 2c 3321113311111 1E1errrke 70 Bảng 3.38: Bang dữ liệu Order_ defalÌ 5S S3 SsEEsEEsrssrrsrrrreeree 71

Bang 3.39: Bang dữ liệu Order oo cee ceccecccesceesceseeeseeseeeseceseeseeeseceeeeeesseesseeeeeseeaes 72

Bang 3.40: Bang dữ liệu Review ccc ceccecscccesscescceesecessceeseeeeseeeseeceseeeseeenseeeeeenss 73 Bang 3.41: Bang dữ liệu TransaCtIOT - G19 9H HH giết 73

Bảng 3.42: Bang dữ liệu PayímeI c2 2c 3221121331111 Ekrrrre 74

Bảng 4.1: Danh sách giao diện khách hàng 5 + S5 2s seeserreeeres 75 Bảng 4.2: Danh sách giao diện Admin và Merchant ¿- 65+ c+xc+ecsss 76

Trang 10

DANH MỤC HÌNH ẢNH

I§001:900)3;:dÝỐỐỐỶỶÝÝ 4

Hình 2.2: Logo NextJŠ - c3 1 111 112111211111 111 111111 110110111 11 11 TH HH nh Hy 5

g0: 605421 S0 7 Hình 2.4: Logo PostgreSQÌL - c6 cv nh ng TT nh TT nh nh nưệp 9

Hình 2.5: Logo ASP.NET 7 Sàn HH TT Hàn Hàn Hàn Hàn rệt 12

Hinh 2.6: Logo VNPAY hả-tầŨŨỖ 13

Hình 2.7: Cac bước thược hiện thanh toán online bang VNPAY o.oo ecceececcceeeetteeeees 14

Hinh 2.8: voi nh 15 Hinh 2.9: Docker oo eee ồồ.Ốồồ ồ 16

ii 1:02110005)0/ c4 nh 18 Hình 2.11: Web3 - các c 2t 21121 911011111 TT TH TH TH TH HH TH HH ng Hà hệ 19

gi) V2Ắ19)0)181.ii 10111177 20 Hinh 2.13: Smart Contract 1 21 Hình 2.14: No need for a 3rd partyERC-721 - 5 5+5 *++£++sk+seseeereseeeeres 22 Hinh 2.15: OpenZeppelin 00101117 - 24

Hình 2.16: Mô hình factory contract truyền thống - 2 2 2+ z+szxezxerxez 25

Hình 2.17: Clone Factory COTIẦTACẨ - 2c 2 221321112115 1195EE1E1 5111111 eExre 25

Hình 2.18: Delegate function COTIfTAC + St 3119 91131 1E Errkeskerkeree 25 Hình 2.19: Mô hình hoạt động của conlone factory confract ‹ s<+s++ 26

Hình 2.20: Sơ đồ tuần tự mua hàng bang ví Metamark 2 2 2522552 27Hình 2.21: Mô hình hoạt động mua hàng bằng Token -2- 22 5¿2sz25+2 28

Hình 2.22: Giao dịch được lưu trữ on-chain 555522 +++*£secc++seeessss 28 Hình 2.23: Fashion-flow smart Contracts - - 0 SE 2211113312 E11 gi, 29

Hình 2.24: Mô hình hoạt động của NFT trong đề tài -2- 22 5z2cxcszxccsed 29

Hình 2.25: Mô hình triển khai Blockchain tổng thé trong khoá luận - 30

Hình 2.26: Trích xuất dit liệu database cho bot -¿-s- 5: s+x+SEE+E+EeEEzEexerxzxrzez 32Hình 2.27: Sơ đồ hệ thống Chatbot AI - 2-2-2 2+EE+£E++E+£EE£EE++EE2EEerEerresred 33

Hình 2.28: Hình ảnh code sử dụng GPT AsSISfanIf - 5 5S S + sseereseeeeses 34

Trang 11

Hình 2.29: Hình anh sử dụng chafbOt Ăn HH HH giết 35

Hình 3.1: Sơ đồ phân rã chức năng - 2 2 s2 +2EE£EE£EE2EE2EEEEEEEEEEEErErrrrrred 37Hình 3.2: Sơ đồ Use case tổng - ¿+ St EE12112112112112112111 111111 1x xe 39

Hình 3.3: Use case đăng nhập - 2 2222112111111 111911 1811111118111 811 811 ke 40

Hình 3.4: Use case xem sản phẩm - 2-2 E£SE£EE2EE2EE2EE2EE2EEEEEEEEEEErkrrkrrree 42Hình 3.5: Use case Tìm kiếm sản phẩm 2-2 2 2+S2+E2E2E£EEeEEEEEeEkerxerkee 44

Hình 3.6: Use case quản lý gid hằng s1 HH HH HH HH rệt 45

Hình 3.7; Use case lọc sản phẩm 2 2 £+S9SE9EE£EESEEEE12E122122121121171221 21 cxe 50

Hình 3.8: Đặc tả Use case chat 2 1111 1222311111 129923111119 11 ng xer 51

Hình 3.9: Use case quan lý sản pham c.ccccccsccecsessesssessessesssessessesssessessesssessesseesseese 53

Hình 3.10: Use case Quan lý đơn bán hang ccc ccceceeeeeseesseeseeseeeseeeeeeseessenseeses 56

Hình 3.11: Use Case Báo cáo thống kê - ¿5.5555 EE2EE2EE2EE2EE2EEErEerkerker 59Hình 3.12: Kiến trúc tổng thé dự án - 2 ©5222E£2EE+2EEt2EEtEEEtEEEtrksrkrrrkerred 60

Hình 3.13: Lược đồ hoạt động của hệ thống thanh toán - 2 + +52: 62

Hình 3.14: Sơ đồ tuần tự của hệ thống thanh toán online - - «-+++s<<++ + 62Hình 3.15: Sơ đồ tuần tự thao tác thêm sản phẩm 2 ¿+2 2+£++£E£+£z+cs2 63Hình 3.16: Sơ đồ tuần tự thao tác tạo INFTT -:- + St+x+EEE+EEEEEEESEEEkrkrrrxsrrree 64Hình 3.17: Sơ đồ hoạt động hệ thống gợi ý sản phẩm - 2-2 522522522 65Hình 3.18: Lược đỗ cơ sở đữ liệu - 252c 22+ 66

Hình 4.1: Giao diện trang chủ - - c2 22 3211311311511 151 1115111111111 11 xe 77

Hình 4.2: Giao diện đăng nhập - - - G0 2 2211121115115 119111151111 111 1 11 ke 78 Hình 4.3: Giao diện đăng ký tài khoản -.- 5c 2+ 121112 1EEEEErrrreree 79

Hình 4.4: Giao điện Xem sản phẩm ¿+ E+SE+EE£EE2EE£EE2EE2EE2EZErEerkerker 80

Hình 4.5: Giao diện gid hang c2 2211211121115 1 5111111111111 EEEerkre 81 Hinh 4.6: Giao dién dat hang 0n e 81 Hình 4.7: Giao diện thanh toán thành công . 555 3+ ++**++s‡+xvexeeeeeeeeessvs 82

Hình 4.8: Giao diện lọc sản phẩm ¬— 83

Hình 4.9: Giao diện thanh toán online - - - + 5522222 13+ E£++zE£ezeeezeeeees 84 Hình 4.10: Giao diện danh sách yêu thích - 5 se + + *+ksseseersrrsrrsrrs 84

Trang 12

Giao diện danh sách đơn hàng «+ + xi 85

Giao diện quản lý review sản pham ccccccscescessessesssessessessessesseeseesees 86

Giao diện quan ly don đăng ky ban hàng - 5 555 +++<c++sxs+ 86 Giao diện quan lý thông b40 - - - + 32c 11231133111 xexrs 87

Giao dién gid Hang 017 Ố 87

Giao diện nhập thông tin giao hang . 55 5< c + ‡+svsseeesseess 88 Giao diện chọn phương thức thanh toán - - 5+5 +++s*++x+sx+s 88

Giao điện dashboard - ¿+ + 22 3321111223113 23311 25311 E211 xe 89

Giao điện quản lý sản phẩm 2- 2-52 SE‡EE2EE2EE2EE2EE2E2EEEerkervers 90Giao diện thêm sản phẩm -2- 2-52 E+2E+2E£2EE£EEtEEZEEEEEEEErrrrrrree 91

Giao diện quan lý đơn hang - - c3 3211213211 11Exrsrrres 92

Giao diện xem chỉ tiết đơn hàng 2- 2-5252 £2S£2EE2EzEzxrxeei 93

Giao diện quản lý NETT, - c1 k9 19 nh HH ng ng dt 93

Giao diện thêm sản phẩm NFT - 2-2 2+S£+E22E£E££EeEEerxerxersrrs 94

Giao diện quản ly đơn hàng INET - S1 rhg 95

Giao diện xem chi tiết đơn hàng 2- 22 5¿22+2£+£E£+£xzzxezzed 96

Giao diện quan lý don dang ký bán hằng 255555 <++c+scss 96 Giao diện quản lý VOuUCh€T- 11kg ghe 97

Giao diện thêm voucher - - - - - << << E221 188 E££23 31 EEEEEEzSEkkeeeezzzee 97

Giao điện thanh toán bằng VNPPAY - 2-52 52+S22E22E2E2E2Ecrrerreeg 98

Trang 13

DANH MỤC TỪ VIET TAT

STT | Từ viết tắt | Tir đầy đủ Ý nghĩa

Thương mại điện

3 TMDT Lĩnh vực thương mai điện tử

tử

Trang 14

TÓM TẮT KHOÁ LUẬN

Khoá luận này trình bày việc xây dựng một Website bán quần áo tích hợp côngnghệ Web3 Mục tiêu chính là tạo ra một nền tảng thương mại điện tử hiện đại, tậndụng lợi ích của Blockchain dé cải thiện tính minh bạch và trải nghiệm người dùng.Các nội dung trình bày trong báo cáo này bao gồm:

e Chương 1: Giới thiệu đề tài: Ở chương này chúng em trình bày sơ lược về

đề tài, lý do chọn đề tài, các mục tiêu trong đề tài, các công nghệ sử dụng trong

đề tài, kèm theo đó là đối tượng nghiên cứu.

e Chương 2: Cơ sở lý thuyết: Trình bày chi tiết các công nghệ đã nghiên cứu

và tìm hiểu trong đề tài, bao gồm khái niệm, các đặc trừng và lý do chọn các

công nghệ này.

e_ Chương 3: Phân tích và Thiết kế hệ thống: Trong chương trình bày các sơ

đồ use-case, kiến trúc hệ thong, sơ đồ phân rã chức năng, sơ đồ thiết kế xử lýcác tác vụ và thiết kế cơ sở dit liệu

e Chương 4: Xây dựng ứng dung: Trình bày danh sách các giao diện của sản

phẩm, hình chụp các giao diện kèm theo đó là mô tả các màn hình

e Kết luận: Trong phan này trình bày những công nghệ mà nhóm đã tìm hiểu

và nghiên cứu áp dụng trong khóa luận cũng như các thuận lợi và khó khăn đã

trải qua qua trong quá trình làm và hướng phát triển sản phẩm trong tương lai

Kết quả đạt được là một Website thương mại điện tử tích hợp công nghệ Web3,

giúp nâng cao trải nghiệm người dùng va đảm bảo an toàn đữ liệu Các thách thức va

hạn chế cũng được thảo luận, cùng với các dé xuất cải tiến cho các nghiên cứu và

phát triển trong tương lai.

Trang 15

Chương 1: GIỚI THIỆU DE TÀI

Ở chương này chúng em trình bày sơ lược về đề tài, lý do chọn đề tài, các mụctiêu trong đề tài, kèm theo đó là đối tượng nghiên cứu

1.1 Giới thiệu đề tài

Đề tài Website bán quần áo tích hợp Web3 là một đề tài thú vị và có ý nghĩa trong

lĩnh vực thương mại điện tử Website bán quần áo là một loại Website chuyên cungcấp các sản phẩm quan áo của nhiều thương hiệu, kiểu đáng va mức giá khác nhau

1.2 Ly do chọn dé tài

Trong thời đại hiện nay mạng internet là một sản phẩm hết sức lớn lao và là nền

tảng chính cho sự truyền tài, trao đổi thông tin trên toàn cầu Trong hoạt động sanxuất kinh doanh, giờ đây thương mại điện tử đã khang định được vai trò xúc tiễn vàthúc đây hoạt động của doanh nghiệp Đối với một cửa hàng, việc quảng bá và giớithiệu đến khách hàng các sản phâm mới đáp ứng được nhu cầu của khách hàng là rất

cần thiết Vì vậy, nhóm em đã quyết định “Xây dựng Website bán quan áo tích hợp

Web3" có tên là Fashion Flow giới thiệu và cung cấp các loại quần áo sang trọngđang có mặt trên thị trường và khách hàng có thê đặt hàng ngay tại Website mà khôngcần đến trực tiếp điểm giao dịch Việc này giúp cho khách hàng có thể chủ động vàtiết kiệm thời gian của chính mình

1.3 Mục tiêu trong đề tài

Xây dựng Website bán quan áo cùng hệ thống gợi ý sản phâm cho khách hang

Xây dựng được hệ thống quản lý bán hàng đảm bảo thực hiện được đầy đủ các

chức năng cơ bản của một Website bán hàng.

Giải quyết tối ưu hóa quá trình mua bán qua mạng phù hợp với thực tiễn

Tìm hiểu nghiên cứu về Blockchain, áp dụng công nghệ thanh toán Web3 vào của

hàng.

Tìm hiéu va ứng dụng các công nghệ mới, nâng cao kỹ năng phát triên phân mêm.

Trang 16

1.4 Đối tượng nghiên cứu

1.4.1 Các công nghệ

- Front-end: Nextjs, Redux, Tailwind, Ant design, Metamark, Recaptcha

- Backend: NodeJS, asp.net core, clean architecture, ImediaR

- Web3: Ethereum, solidity, sepolia, openzepplin, ERC-721

- Database: Postgres, Cloudinary, MongoDB

- Recombee Service

- Google Analytics 4

1.4.2 Đối tượng phạm vi dé tài hướng đến

- _ Các cửa hàng muốn có một Website bán quan áo

- _ Khách hàng muốn mua sản phẩm trực tuyến

- _ Khách hàng có kiến thức cơ bản về Web3

1.5 Phạm vi

Đề tài tập trung vào xây dựng hệ thống trên nền tảng Website hướng tới đối tượng

sử dụng là những người có nhu cầu mua quần áo

Áp dụng tại các cửa hàng bán quần áo muốn có Website bán quần áo trực tuyến.Người dùng có điện thoại hoặc laptop có internet là có thể truy cập

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

Tìm hiểu và phân tích quy trình tìm kiếm, mua bán sản phẩm tại các Website bán

quân áo

Phân tích các giải pháp của các sản phẩm tương tự trên thị trường

Xây dựng chức năng ở mức MVP (Minimum Viable Product) để đo lường tính

hiệu quả.

1.7 Y nghĩa thực tiễn

- Viéc tìm kiếm sản phâm ưng ý dé dang hơn cho khách hàng

- _ Người quan trị có thé dé dàng quản lý các sản phẩm có trong cửa hàng

2

Trang 17

Hệ thống giúp khách hàng tìm kiếm và lựa chọn sản phẩm ưng ý một cáchnhanh chóng và thuận tiện nhờ vào các tính năng lọc, tìm kiếm theo từkhóa, và gợi ý sản phẩm dựa trên sở thích cá nhân.

Khách hàng có thê tìm thấy một địa điểm mua sắm tin cậy với các sản phẩmquần áo chất lượng cao, được kiểm duyệt và đánh giá kỹ lưỡng trước khi

Hiểu rõ các công nghệ mới:

e Front- end: Tailwind , NextJs, Reactjs, Ant Design.

e Back — end: NodeJS, Postgres, MongoDB, Cloudinary, ASP.NET core 7,

hệ thống gợi ý

e Web3: Ethereum, solidity, sepolia, openzepplin, ERC-721.

Hoàn thành sản phẩm với các chức năng đã được trình bày:

e Giao diện người dùng: Hoàn thiện giao diện người dùng với thiết kế đẹp

mắt, dễ sử dụng và thân thiện Giao diện sẽ bao gồm các trang như trang

chủ, trang danh mục sản phâm, trang chi tiết sản phẩm, giỏ hàng, và thanh

toán.

e Chức năng mua sam: Cung cap các chức năng mua sam cơ bản như thêm

sản phẩm vào giỏ hàng, thanh toán trực tuyến, và theo dõi đơn hàng Hỗtrợ nhiều phương thức thanh toán

e Giao diện thân thiện và tạo ra được những giá trị của mục tiêu.

Trang 18

Chương 2: CƠ SỞ LY THUYET

Ở chương này chúng em trình bày sơ lược về lý thuyết các công nghệ được sửdụng trong khoá luận Mỗi công nghệ sẽ được giới thiệu ngắn gọn, bao gồm phần

giới thiệu, các đặc trưng và lý do chọn công nghệ đó.

2.1 IPFS

2.1.1 Giới thiệu

IPFS (InterPlanetary File System) là một giao thức va mạng lưới phân tan dùng

để lưu trữ và chia sẻ đữ liệu trong một hệ thống tập tin ngang hàng (peer-to-peer)

IPFS được thiết kế để làm cho mạng Internet trở nên phi tập trung hơn và chống lại

Không thay đổi: Một khi dữ liệu được thêm vào IPFS, nó không thé bị thay

đôi, dam bao tính toàn vẹn của dữ liệu

Dia chỉ nội dung (Content Addressing): IPFS sử dụng hàm băm mật mã để tạo

ra các địa chỉ duy nhất cho các tập tin, thay vì sử dụng địa chỉ IP Điều này giúp tìmkiếm và xác thực dữ liệu nhanh chóng

Hiệu quả: Hệ thống này tiết kiệm băng thông bằng cách lưu trữ và phân phốicác tập tin theo cách phi tập trung, giảm thiêu sự trùng lặp đữ liệu

Trang 19

2.1.3 Lý do chọn

Chống kiểm duyệt: Do dữ liệu được lưu trữ trên nhiều nút mạng, IPFS khó bịkiểm duyệt hoặc ngăn chặn bởi bat kỳ tô chức hay chính phủ nào

Kha năng mở rộng: Mạng IPFS có thé dé dang mở rộng và xử lý khối lượng dữ liệu

lớn mà không cần các cơ sở hạ tầng máy chủ trung tâm lớn

Tính bên vững: Dữ liệu trên IPFS có thể được truy cập và duy trì lâu dài, ngay

cả khi các nguồn ban dau bi mắt

Hiệu suất cao: Do cách thức lưu trữ và phân phối dữ liệu phi tập trung, IPFSgiúp tăng tốc độ truy cập và tải xuống đữ liệu so với các hệ thống truyền thống

Bảo mật: Việc sử dụng hàm băm mật mã giúp đảm bảo tính toàn vẹn và bảo mật của dữ liệu.

Hỗ trợ và tài liệu phong phú: Hỗ trợ tốt từ cộng đồng và tài liệu chỉ tiết

2.2 NextJS

2.2.1 Giới thiệu

NEXT.

Hinh 2.2: Logo NextJS

Next.js là một framework phát triển ứng dụng web React với kha năng xâydựng Server-side Rendering (SSR) và Static Site Generation (SSG) Nó cung cấp mộtcách tiếp cận hybric rendering, cho phép lựa chọn giữa client-side rendering và

server-side rendering tùy thuộc vào yêu cầu của ứng dụng

2.2.2 Các đặc trưng

Server-side Rendering (SSR): Next.Js cho phép xây dựng ứng dụng với khả

năng render trên phía máy chủ Khi một yêu cầu được gửi đến máy chủ, Next.js sẽ

5

Trang 20

thực hiện việc render trước trang và trả về nội dung HTML đã được tạo ra cho trìnhduyệt Điều này giúp cải thiện khả năng tìm kiếm và trải nghiệm người dùng ban đầu.

Static Site Generation (SSG): Next.js hỗ trợ xây dựng các trang tĩnh trước

(pre-rendered) với nội dung được tao ra trong quá trình xây dựng ứng dụng.

Incremental Static Regeneration (ISR): Next.Js cho phép cập nhật lại các trang tĩnh

đã được tạo ra trước theo một lịch trình định sẵn Khi có yêu cầu mới, Next.Js có thétạo lai các trang tinh chỉ trong vài giây và cung cấp nội dung mới nhất cho người

dùng.

2.2.3 Lý do chọn NextJS cho đề tài

Performanee: Next.js cung cấp khả năng SSR và SSG giúp cải thiện hiệu suất

và tốc độ tải trang Trang được render trước trên phía máy chủ hoặc tạo trước dướidạng trang tĩnh, giúp giảm thời gian phản hồi và tăng trải nghiệm người dùng

SEO-friendly: Với khả năng SSR và SSG, Next.Js giúp cải thiện khả năng tìm

kiếm của trang web Các trang được tạo ra trước có thê chứa nội dung đầy đủ và đáng

tin cậy cho các công cụ tìm kiếm

Developer Experience: Next.js cung cấp một số tính năng hữu ích như HMR

và Fast Refresh giúp tăng tốc quá trình phát triển và giúp nhà phát triển dé dang xây

dựng ứng dụng React phức tạp.

Scalability: Next.js hỗ trợ việc xây dựng các ứng dụng có khả năng mở rộng và

điều chỉnh linh hoạt Với khả năng render trên phía máy chủ và tạo trước các trang

tinh, Next.Js giúp giảm tải cho máy chủ và cho phép ứng dụng xử lý tải trong cao.

Trang 21

ExpressJS là một framework web nhẹ và linh hoạt dành cho Node.js, được

phát triển bởi TJ Holowaychuk và phát hành lần đầu vào năm 2010 Nó được thiết kế

dé xây dựng các ứng dung web và API nhanh chóng và dé dang ExpressJS cung capmột tập hợp các tinh năng mạnh mẽ dé quản lý các yêu cầu HTTP và tạo các tuyến

đường (routes) cho ứng dụng.

2.3.2 Các đặc trưng

Đơn giản và nhẹ nhàng: Cung cấp một cấu trúc đơn giản dé xây dựng ứng dụng

web và API.

Middleware linh hoạt: Dễ dàng thêm các chức năng qua middleware, giúp xử

lý yêu cầu và phản hồi một cách linh hoạt

Routing mạnh mẽ: Hỗ trợ hệ thống routing mạnh mẽ, giúp quản lý các tuyến

đường (routes) phức tap.

Hỗ trợ template engines: Dễ dàng tích hợp với các template engine như Pug, EJS

dé render trang HTML

Tương thích tốt với các framework khác: Dễ dàng tích hop với các framework

khác như React, Angular, và Vue.

Trang 22

2.3.3 Lý do chọn

Học nhanh và dễ sử dụng: Cấu trúc đơn giản và tài liệu phong phú giúp người

mới bắt đầu dé dàng nắm bat

Hiệu suất cao: Do được xây dựng trên nền tảng Node.js, Express.js có khảnăng xử lý lượng yêu cầu lớn một cách hiệu quả

Tính linh hoạt: Middleware linh hoạt cho phép tùy chỉnh ứng dụng theo nhu cầu

cụ thé

Hỗ trợ đầy đủ cho RESTful API: Cung cấp các tinh năng mạnh mẽ dé xây

dựng API RESTful, phù hợp cho các ứng dụng hiện đại.

2.4 Typescript

2.4.1 Giới thiệu

TypeScript là một ngôn ngữ lập trình mã nguồn mở phát triển bởi Microsoft.

Nó là một phiên bản mở rộng của JavaScript, được thiết kế để xây dựng ứng dụnglớn, phức tạp và dé bảo trì TypeScript cung cấp các tinh năng kiểm tra kiểu tĩnh, khắc

phục một số hạn chế của JavaScript và giúp phát triển dự án có tính bảo trì cao hơn

2.4.2 Các đặc trưng

Kiểm tra kiểu tĩnh: Một trong những đặc điểm quan trọng nhất của TypeScript

là khả năng kiểm tra kiểu tĩnh TypeScript cho phép xác định kiểu đữ liệu cho biến,tham số, và giá tri trả về của hàm Điều này giúp phát hiện lỗi kiểu và cung cấp cungcấp thông tin hữu ich dé phát triển và bảo trì mã nguồn

Tính mở rộng: TypeScript cho phép mở rộng các kiêu dit liệu có sẵn và tạo ra

các kiểu dữ liệu tùy chỉnh Điều này giúp mô hình hóa các cấu trúc đữ liệu phức tạp

và tạo ra mã nguồn dé đọc và dé bảo trì hơn

Tích hợp công cụ phát triển: TypeScript tích hợp tốt với các công cụ phát triểnnhư trình biên dịch TypeScript (tsc), trình gỡ lỗi và trình thông báo lỗi Điều này giúpphát triển và gỡ lỗi mã nguồn TypeScript một cách hiệu quả

Hệ sinh thái mạnh mẽ: TypeScript có một hệ sinh thái mạnh mẽ với nhiều thư

Trang 23

viện, framework và công cụ phat triển hỗ trợ Các thư viện phô biến như React,Angular và Node.js đều hỗ trợ TypeScript, giúp xây dựng các ứng dụng web, mobile

Mở rộng JavaScript: TypeScript là một phiên ban mở rộng của JavaScript, cho

phép sử dụng các tính năng mới trong ECMAScript và xây dựng ứng dụng hiện dai.

2.5 PostgreSQL

2.5.1 Giới thiệu

PostgreSQL

Hinh 2.5: Logo PostgreSQL

PostgreSQL là một hệ quan trị cơ sở dữ liệu quan hệ mã nguồn mở và mạnh

mẽ Được phát triển từ nguồn gốc của Ingres vào những năm 1980, PostgreSQL đãtrở thành một trong những hệ quản tri cơ sở dt liệu phổ biến nhất trên thế giới

2.5.2 Cac đặc trưng

Mã nguồn mở: PostgreSQL là một phần mềm mã nguồn mở, điều này có nghĩa

là có thể xem, sửa đổi và phân phối mã nguồn theo nhu cầu của Điều này mang lại

sự linh hoạt và khả năng tùy chỉnh mạnh mẽ cho người dùng.

Quan lý dit liệu phong phú: PostgreSQL hỗ trợ nhiều kiêu dữ liệu khác nhau,

Trang 24

bao gồm cả số nguyên, số thực, chuỗi ký tự, kiêu đữ liệu ngày tháng, kiểu dữ liệu địa

lý và nhiều hơn nữa Nó cung cấp các tính năng phong phú như khóa ngoại, giao dịch,

chức năng và trình tự, giúp quản lý dữ liệu một cách hiệu quả.

Hiệu suất cao: PostgreSQL được tối ưu hóa để đạt hiệu suất cao, đồng thời hỗtrợ khả năng mở rộng đọc và ngang Nó có thé xử lý các bộ dữ liệu lớn và tải côngviệc lớn mà vẫn duy trì tốc độ và độ tin cậy

Bảo mật mạnh mẽ: PostgreSQL cung cấp các tính năng bảo mật mạnh mẽ débảo vệ dit liệu của Nó hỗ trợ xác thực người dùng, kiểm soát truy cập dựa trên vaitrò và quyền hạn, mã hóa dữ liệu và các tính năng khác để đảm bảo an ninh cao

Cộng đồng lớn và hỗ trợ: PostgreSQL có một cộng đồng rộng lớn với hàngngàn người dùng và nha phát triển trên toàn thé giới Cộng đồng này cung cấp tai liệuphong phú, diễn đàn thảo luận, tài liệu hướng dẫn và hỗ trợ cho người dùng Có thểtìm thấy giải pháp cho các vấn đề cụ thể hoặc nhận sự hỗ trợ từ cộng đồng rất dễ

dàng.

2.5.3 Lý do chọn

Độ tin cậy và ôn định: PostgreSQL đã được thử nghiệm và sử dụng rộng rãi

trong nhiều ứng dụng lớn và quy mô doanh nghiệp Nó đã chứng tỏ được tính 6n định

và độ tin cậy cao trong việc xử lý và quản lý dữ liệu.

Kha năng mở rộng: PostgreSQL cho phép mở rộng dọc và ngang, cho phép

tăng cường khả năng xử lý và lưu trữ đữ liệu theo nhu cầu.Có thể thêm các máy chủ,

phân chia dữ liệu và tối ưu hóa hiệu suất mà không gặp nhiều rào cản

Bảo mật và tuân thủ chuẩn: PostgreSQL tuân thủ các chuẩn bảo mật và chuẩnSQL quốc tế, như ANSI SQL và ACID (Atomicity, Consistency, Isolation,Durability) Điều này đảm bao rang dữ liệu của được bảo vệ và tuân thủ các quy tắcquan trọng về đồng nhất và bảo mật

2.6 MongoDB

2.6.1 Giới thiệu

MongoDB là một hệ quản tri cơ sở dữ liệu NoSQL mã nguồn mở, được thiết

10

Trang 25

kế dé lưu trữ và quản lý dit liệu phi cấu trúc hoặc bán câu trúc MongoDB sử dụng

mô hình đữ liệu hướng tài liệu, giúp nó linh hoạt và dé dàng mở rộng.

2.6.2 Các đặc trưng

Hướng tài liệu: Thay vì lưu trữ dữ liệu dưới dạng bảng và hàng như trong SQL,

MongoDB lưu trữ đữ liệu dưới dạng các tài liệu JSON, giúp dễ dàng quản lý đữ liệu

Hiệu suất cao: MongoDB được thiết kế để cung cấp hiệu suất cao với khả năng

truy cập dữ liệu nhanh chóng và hiệu quả.

2.6.3 Lý do chọn

Linh hoạt va dé sử dụng: Cấu trúc tài liệu JSON giúp MongoDB dễ dàng quản

ly và thay đổi dit liệu mà không cần thay đổi cấu trúc cơ sở dữ liệu, phù hợp với các

ứng dụng có yêu cầu dit liệu biến đồi

Mở rộng dễ dàng: Khả năng mở rộng ngang giúp MongoDB quản lý khối

lượng dữ liệu lớn và đáp ứng các yêu cầu về hiệu suất của các ứng dụng hiện đại

Tích hợp tốt: MongoDB dễ dàng tích hợp với nhiều ngôn ngữ lập trình và côngnghệ khác nhau, giúp phát trién ứng dụng nhanh chóng

I

Trang 26

2.7 ASP.NET Core 7 API

2.7.1 Giới thiệu

Á Vv TM

ASP.NET

Hinh 2.6: Logo ASP.NET 7

ASP.NET Core 7 API là một phan của framework mã nguồn mở ASP.NETCore, được sử dụng dé xây dung các dich vụ và ứng dung web API với NET VớiASP.NET Core 7 API, có thé tao ra các dịch vụ web API hiệu quả, linh hoạt va cókhả năng mở rộng trên nhiều nén tảng, bao gồm Windows, Linux và macOS

2.7.3 Ly do chọn

Độ tin cậy và hỗ trợ từ Microsoft: ASP.NET Core là một sản phẩm củaMicrosoft, một công ty công nghệ hàng đầu thế giới Việc được phát triển và hỗ trợbởi Microsoft đảm bảo rằng ASP.NET Core 7 API sẽ được duy trì và cập nhật thường

xuyên, bao gồm các bản vá lỗi và cải tiến tính năng mới

Hiệu suất cao: ASP.NET Core 7 API được thiết kế để có hiệu suất cao Nó sử dụng

mô hình xử ly không đồng bộ và sự tối ưu hóa dé đảm bảo khả năng phản hồi nhanh

12

Trang 27

chóng và xử lý đông thời nhiêu yêu câu từ các client Điêu này làm cho ứng dụng của

có thể xử lý lượng lớn yêu cầu một cách hiệu quả

2.8 VNPAY Sandbox

2.8.1 Giới thiệu

VNPAY“*

Scan to Pay

Hinh 2.7: Logo VNPAY

VNPAY Sandbox là một môi trường thử nghiệm cho phép các nhà phat triểnứng dụng tích hợp và kiểm tra tính năng của VNPAY, một hệ thống thanh toán điện

tử hàng đầu tại Việt Nam Được giới thiệu vào năm 2018, VNPAY Sandbox đã trởthành công cụ quan trọng trong quá trình phát triển và kiểm tra ứng dụng thanh toáncủa các nha phát trién

2.8.2 Các đặc trưng

Môi trường thử nghiệm an toàn: VNPAY Sandbox cung cấp một môi trườngthử nghiệm an toàn và đáng tin cậy dé các nhà phát triển kiểm tra tính năng và tíchhợp thanh toán của VNPAY mà không cần lo lắng về việc ảnh hưởng đến hệ thốngthực tế Điều này giúp giảm thiểu rủi ro và tăng tính đáng tin cậy của các ứng dụngthanh toán được phát triển

Tích hợp dễ dàng: VNPAY Sandbox cung cấp tài liệu và hướng dẫn chỉ tiết vềcách tích hợp thanh toán vào ứng dụng Các nhà phát triển có thể sử dụng API(Application Programming Interface) của VNPAY dé tương tác với hệ thống thanh

toán và kiểm tra tính năng như thanh toán trực tuyến, thanh toán hóa đơn, chuyên

khoản, và nhiều tính năng khác

2.8.3 Lý do chọn

Đáng tin cậy và an toàn: VNPAY là một trong những hệ thống thanh toán hàng

13

Trang 28

đầu tại Việt Nam với nhiều năm kinh nghiệm trong lĩnh vực thanh toán điện tử.

VNPAY Sandbox được xây dung dựa trên cơ sở hạ tầng đáng tin cậy của VNPAY,

dam bảo tính an toàn và bảo mật cho các giao dịch thanh toán.

Dễ dàng tích hợp: VNPAY Sandbox cung cấp tài liệu và hướng dẫn chỉ tiết về

cách tích hợp thanh toán vào ứng dụng Việc tích hợp được thực hiện một cách dễ

dàng và nhanh chóng, giúp các nhà phát triển tiết kiệm thời gian và công sức trongquá trình phát triển ứng dụng thanh toán

Trang 29

Khả năng mở rộng: Recombee được thiết kế để hoạt động hiệu quả trên các hệ

thống lớn, có khả năng mở rộng theo nhu cầu của doanh nghiệp.

2.9.3 Lý do chọn

Tăng cường trải nghiệm người dùng: Recombee giúp tạo ra các khuyến nghị

cá nhân hóa, làm tăng sự hài lòng và tương tác của người dùng với ứng dụng hoặc trang web.

Thúc day doanh số: Các khuyến nghị chính xác giúp tăng tỉ lệ chuyển đổi vàdoanh số bán hàng bang cách gợi ý sản phâm hoặc nội dung phù hợp với từng người

dùng.

Triên khai nhanh chóng: Với các API đễ sử dụng, doanh nghiệp có thể nhanhchóng tích hợp Recombee vào hệ thống của mình mà không cần thay đổi nhiều về cơ

15

Trang 30

sở hạ tầng.

Phân tích và tôi ưu hóa: Recombee cung cấp các công cụ phân tích giúp doanh

nghiệp hiéu rõ hơn về hành vi người dùng và tối ưu hóa các chiến lược khuyến nghị

2.10 Docker

2.10.1 Giới thiệu

Docker là một nền tảng mã nguồn mở cung cấp khả năng tự động hóa việctriển khai ứng dụng trong các container phần mềm Container là một môi trường đónggói toàn bộ mã nguồn, thư viện, và các thành phan phụ thuộc cần thiết, giúp ứng dụngchạy mượt mà trên bất kỳ hệ thống nào

Hiệu quả tài nguyên: Container nhẹ hơn và sử dụng ít tài nguyên hệ thống hơn

so với máy ảo (VM), giúp tối ưu hóa hiệu suất và giảm chi phí

Cơ sở hạ tầng linh hoạt: Docker cho phép dé dang quản ly và mở rộng cáccontainer, giúp tăng tính linh hoạt và khả năng mở rộng của hệ thống

Tính di động: Ứng dụng trong container Docker có thê chạy trên bat ky máychủ nào có Docker, bất ké hệ điều hành hay nền tang cơ sở hạ tang

2.10.3 Ly do chọn

Nhất quán và độ tin cậy cao: Docker đảm bảo ứng dụng chạy nhất quán trên

mọi môi trường từ phát triển đến sản xuất, giúp giảm thiêu lỗi do khác biệt môi

16

Trang 31

Tăng cường hiệu suất: Với Docker, các ứng dụng được triển khai và chạy

nhanh hơn, giúp tăng hiệu suất làm việc và giảm thời gian triển khai

Quản lý và mở rộng dễ dàng: Docker giúp quản lý và mở rộng ứng dụng dễ

dàng thông qua các container, giúp doanh nghiệp dé dàng điều chỉnh tài nguyên theonhu cầu

Chỉ phí thấp: Docker giảm chỉ phí phần cứng và tài nguyên so với việc sử dụngmáy ảo, đồng thời tối ưu hóa việc sử dụng tài nguyên hệ thống

Hỗ trợ DevOps: Docker hỗ trợ mạnh mẽ cho các quy trình DevOps, giúp tích hợp

liên tục (CI) và triển khai liên tục (CD), cải thiện quy trình phát triển và triển khai

phân mêm.

17

Trang 32

2.11 Blockchain

Blockchain là một công nghệ lưu trữ và truyền tải thông tin một cách phi tập trung,

an toàn và minh bạch Có thê hiểu đơn giản như sau:

e_ Cấu trúc: Blockchain là một chuỗi các khối (blocks) chứa thông tin, được liênkết với nhau và mở rộng liên tục

e_ Phi tập trung: Dữ liệu được lưu trữ trên nhiều máy tính trong mạng lưới thay

vì một máy chủ trung tâm.

e_ Bảo mật: Mỗi khối đều được mã hóa và liên kết với khối trước đó, làm choviệc thay đôi thông tin rất khó khăn

e Minh bạch: Mọi giao dịch đều được ghi lại và có thé kiểm tra bởi tất cả người

tham gia mạng lưới.

18

Trang 33

2.12 Web3

Web3 là khái niệm về thế hệ tiếp theo cua Internet, dựa trên công nghệ Blockchain

và phi tập trung Có một số đặc điểm sau:

e Phi tập trung: Web3 nhằm mục dich phân quyền Internet, giảm sự phụ thuộc

e©_ Ứng dụng phi tập trung (dApps): Các ứng dụng chạy trên mạng lưới phi tập

trung thay vì máy chủ tập trung.

e_ Hợp đồng thông minh (smart contract): Sử dung các hợp đồng tự thực thi trên

Trang 34

2.13 Ethereum Sepolia

2.13.1 Giới thiệu

Ethereum Sepolia là một trong những testnet (mạng thử nghiệm) cua

Ethereum, được sử dụng đề thử nghiệm các ứng dụng và hợp đồng thông minh mà

không cần dùng đến mạng chính (mainnet) và chi phí thực Sepolia giúp các nhà pháttriển kiểm tra tính năng, tìm lỗi và cải tiễn sản phâm trước khi triển khai chính thức

2.13.2 Các đặc trưng

Phí giao dịch thấp: Giống như các testnet khác, Sepolia có phí giao dịch rất

thấp, giúp nhà phát triển tiết kiệm chi phí khi thử nghiệm

Môi trường thử nghiệm an toàn: Sepolia cung cấp một môi trường an toàn déthử nghiệm các hợp đồng thông minh và ứng dụng phi tập trung (dApps) mà khôngảnh hưởng đến tài sản thật

Đồng bộ với Ethereum mainnet: Sepolia thường xuyên cập nhật dé phản ánhcác thay đổi và nâng cấp từ mạng chính Ethereum, đảm bảo sự tương thích và hiệuquả khi triển khai

Dé dàng tiếp cận: Các nhà phát triển có thê dé dàng truy cập vào Sepolia thông

qua các công cụ và tài liệu phong phú.

Kiểm tra trước khi triển khai: Sepolia giúp các nhà phát triển kiểm tra các hợp

20

Trang 35

đồng thông minh và dApps kỹ lưỡng trước khi triển khai lên mạng chính, giảm thiểurủi ro lỗi và lỗ hồng bảo mật.

Tiết kiệm chi phí: Sử dụng testnet như Sepolia giúp tiết kiệm chi phí vì khôngcần sử dụng ether thật

Hỗ trợ phát triển và học tập: Là một môi trường lý tưởng cho việc học tập vàphát triển kỹ năng lập trình Ethereum, đặc biệt là cho người mới bắt đầu

Tích hợp dé dàng: Sepolia cung cấp các công cụ va API tương thích với mạngchính, giúp dé dàng chuyền đổi từ giai đoạn thử nghiệm sang triển khai thật

Đánh giá hiệu suất: Giúp các nhà phát triển đánh giá hiệu suất của ứng dụng và tối

ưu hóa nó trước khi đưa lên mạng chính.

2.14 Hợp đồng thông minh (Smart contract)

Smart contract, hay hợp đồng thông minh, là một chương trình máy tính tự thựcthi được lưu trữ trên Blockchain Các hợp đồng này tự động thực hiện, kiểm soát hoặc

ghi lại các sự kiện và hành động quan trọng theo các điều khoản của thỏa thuận đã

được lập trình sẵn Không cần trung gian, smart contract hoạt động trên nguyên tắc

"if-then" (néu-thi), tự động thực hiện khi các điều kiện được đáp ứng

Smart Contract

ort

200

Create Transactions

Trang 36

người dung thanh toán bằng token Đặc tính này thé hiện như sau:

Tự động hóa: Smart contract tự thực thi dựa trên các điều kiện đã được lậptrình sẵn, không cần sự can thiệp của bên trung gian

Phi tập trung: Hợp đồng được lưu trữ và thực thi trên mạng Blockchain phi

tập trung, không phụ thuộc vào một co quan trung tâm nao.

Giảm chi phí: Loại bỏ các khoản phí trung gian thường phát sinh trong các

giao dịch truyền thống

Tăng tốc độ: Quá trình thực hiện hợp đồng diễn ra nhanh chóng do không cần

chờ đợi xử lý từ bên thứ ba.

Minh bạch: Mọi điều khoản và quá trình thực hiện đều công khai trên

Blockchain, tăng tính minh bach.

Giảm rủi ro: Hạn chế rủi ro từ sự can thiệp hoặc lỗi của con người trong quátrình thực hiện hợp đồng

Tin cậy: Tao ra sự tin cậy giữa các bên thông qua mã lệnh thay vì phải tin

tưởng vào bên trung gian.

Smart Contracts

Secure

H

Trust less ¥., H

Parties (Buyer _ [Smart Contracts No Third Party/ | Execution Of

and Seller) gen Middlemen The Contract

Autonomous

*

Cost Effective <> WallStreetMojo

Hình 2.15: No need for a 3rd party

2.15 ERC-721

2.15.1 Giới thiệu

ERC-721 là một tiêu chuẩn cho các mã thông báo không thẻ thay thế (NFT)

22

Trang 37

trên chuỗi khối Ethereum Được dé xuất vào năm 2017, ERC-721 cho phép tạo ra các

mã thông báo độc nhất, không thể hoán đồi với nhau

2.15.2 Các đặc trưng

Tính không thể thay thế: Mỗi mã thông báo là duy nhất

Quyền sở hữu: Có thé chứng minh quyền sở hữu và chuyên giao

Khả năng tương tác: Hoạt động trên các ứng dụng và hợp đồng khác nhau trên

quả.

4 OpenZeppelin

23

Trang 38

Hình 2.16: OpenZeppelin

2.16.2 Cac đặc trưng

o An toàn: Được kiểm toán bởi các chuyên gia bảo mật

o Dễ sử dụng: Cung cấp các hợp đồng thông minh chuẩn và tài liệu chỉ tiết

o Tính mở rộng: Hỗ trợ các mô-đun mở rộng, giúp tùy chỉnh dé dàng.

o Cộng đồng lớn: Được sử dụng rộng rãi bởi cộng đồng phát triển Blockchain

2.16.3 Ly do chọn

o Tin cậy: Các hợp đồng thông minh đã qua kiểm toán giảm thiểu rủi ro bao mật.o_ Tiết kiệm thời gian: Tận dụng các hợp đồng chuẩn, giảm thời gian phát triển

o_ Tương thích: Dễ dàng tích hợp với các dự án và công cụ khác trên Ethereum

2.17 Clone Factory Contract

2.17.1 Đặt van đề:

Trong quá trình nghiên cứu và tim hiểu về việc viết một smart contract tập

trung để giúp tạo ra và quản lý các sản phẩm được bán dưới dạng NFTs, nhóm đã

tìm hiểu đến “Factory design pattern”, một design pattern được sử dung rộng rãitrong các ngôn ngữ lập trình hướng đối tượng Nhưng có một vấn đề là mô hình

này tiêu tốn rất nhiều phí gas để deploy một NFT theo chuẩn ERC-721 Điều này

xảy ra mỗi khi có một NFT mới được merchant tạo trên trang web, và mô hình

trang web được thiết kế dé hỗ trợ phí gas cho merchant tạo ban sản phẩm dưới

dạng NET nên đây thực sự là một vấn đề về mặt chỉ phí

Depoy new

24

Trang 39

Hình 2.17: Mô hình factory contract truyền thong

Nhận thấy cấu trúc byte code của mỗi một NFT lúc deploy gần như là giốngnhau, chỉ khác nhau các đoạn byte code về các thông tin được người dùng địnhnghĩa Nhóm đã đi đến tìm hiểu và nghiên cứu một design pattern tối ưu hơn là

Clone Factory Contract.

Hình 2.18: Clone Factory contract

"Clone Factory Smart Contract" là một phương pháp sáng tao va hiệu qua

dé triển khai các phiên ban mới của các hợp đồng thông minh hiện có trênBlockchain Ethereum, giúp tiết kiệm chỉ phí gas

Hinh 2.19: Delegate function contract

Ý tưởng ở đây là ta sé dùng contract factory dé deploy logic ERC-721đúng một lần lên lên chain (Implement contract), các lần deploy NFT mới sé

25

Trang 40

tạo ra một contract chỉ chứa byte code của riêng NET đó, còn logic sẽ được

thực hiện ở Implement contract Lượng code deploy trên chain giảm, dẫn đến

phí gas giảm.

Khi user gọi function lên NFT của họ, nó sẽ delegate call kèm data của

NFT để thực hiện các logic trong implement contract

‘4 - Return the result from step 3 if succeeded or revert the transaction

Hình 2.20: Mô hình hoạt động của conlone factory contract

Hình 2.21: So sánh phí gas giữa 2 pattern factory contract

2.18 Thanh toán đơn hàng bằng token

Dựa vào smart contract nhóm cũng đã thực hiện viết smart contract dé xử ly

thanh toán đơn hang bằng đồng ETH thông qua ví Metamark

Thông thường, với các sản thương mại điện tử như shoppe, lazada, tiền hàngthanh toán từ khách hàng sẽ được sản giữ lại và sẽ được tất toán định kỳ sau khi trừ

26

Ngày đăng: 06/12/2024, 15:22