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

Xây dựng website bán phụ kiện thú cưng

61 19 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Bán Phụ Kiện Thú Cưng
Tác giả Đồng Thị Thu Dung
Người hướng dẫn ThS. Trịnh Thị Vân Anh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 61
Dung lượng 12,75 MB

Nội dung

Đồ án tốt nghiệp Danh mục từ viết tắtDANH MỤC TU VIET TAT STT | Từ viết tat Tiéng Anh Giai thich 1 NoSQL Non-Relational SQL Mô hình co sở dir liệu phi quan hệ 2 API Application Programmi

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

DO ÁN TOT NGHIỆP

ĐỀ TÀI:

Giảng viên hướng dẫn : ThS Trịnh Thị Vân Anh

Sinh viên thực hiện : Đồng Thị Thu Dung

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

DO ÁN TOT NGHIỆP

DE TAI:

XAY DUNG WEBSITE BAN PHU KIEN THU CUNG

Giang viên hướng dẫn : ThS Trịnh Thị Van Anh Sinh viên thực hiện : Đồng Thị Thu Dung

Mã sinh viên : B17DCCN152 Lớp : D17HTTT04 Khoá : 2017 — 2022

Hệ : Đại học chính quy

Hà Nội, tháng 12/2021

Trang 3

Đồ án tốt nghiệp Nhận xét của giảng viên phản biện

NHAN XÉT ĐỎ ÁN TOT NGHIỆP ĐẠI HỌC

CUA GIÁO VIÊN PHAN BIEN

Tên đồ án: Xây dung website bán phụ kiện thú cưng

Sinh viên thực hiện: Đồng Thị Thu Dung

Lớp: DI7THTTT4

Giáo viên hướng dẫn: Ths Trịnh Thị Vân Anh

NỘI DUNG NHAN XÉT:

I Nội dung báo cáo

Hà Nội, ngày tháng năm 20

GIẢNG VIÊN PHẢN BIỆN

Dong Thị Thu Dung - B17DCCN152 - DI7HTTT4 3

Trang 4

Đồ án tốt nghiệp Nhận xét của giảng viên hướng dẫn

NHẠN XÉT ĐỎ ÁN TÓT NGHIỆP ĐẠI HỌC

CUA GIÁO VIÊN HƯỚNG DAN

Giảng viên hướng dan: Ths Trịnh Thị Vân Anh Bộ môn: Công nghệ phan mềmTên đồ án: Xây dựng website bán phụ kiện thú cưng

Sinh viên thực hiện: Đồng Thị Thu Dung

Lớp: DI7THTTT4

NỘI DUNG NHAN XÉT:

I Nội dung báo cáo

Hà Nội, ngày tháng năm 20

GIẢNG VIÊN HƯỚNG DAN

Đồng Thị Thu Dung - B17DCCNI52 - DI7HTTT4 4

Trang 5

Đồ án tốt nghiệp Lời cảm ơn

LỜI CẢM ƠN

Với lòng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn chân thành đến cácthầy cô của Học viện Công nghệ Bưu chính Viễn thông, đặc biệt là các thầy cô khoaCông nghệ thông tin 1 đã tận tình giảng dạy và trang bị cho em những kiến thức quýbáu trong suốt quá trình học tập tại trường, tạo điều kiện thuận lợi nhất để em hoàn thành

đồ án

Em xin trân trọng gửi lời cảm ơn đặc biệt đến cô Trịnh Thị Vân Anh đã dànhnhiều thời gian tận tình chỉ bảo, hướng dẫn và đề xuất hướng giải quyết khi em gặp khókhăn, giúp em hoàn thành đồ án đúng tiến độ

Em cũng xin được cảm ơn các anh chị khóa trên đã giúp đỡ em rất nhiều, cảm ơngia đình và bạn bè đã bên cạnh quan tâm, ủng hộ trong suốt quá trình thực hiện đồ án

Dù đã cố găng nhưng do thời gian và kinh nghiệm còn hạn chế nên trong đồ ánchắc chắn còn nhiều điều thiếu sót, em mong nhận được sự góp ý cũng như chỉ bảo tậntình từ các thầy cô

Trang 6

Đồ án tốt nghiệp Mục lục

MỤC LỤCLỜI CÁM ƠN 5

MỤC LỤC 6

DANH MỤC TỪ VIET TAT 8

DANH MUC BANG 9

DANH MUC HINH ANH 10

LOI CAM DOAN 12LOI MO DAU 13CHUONG 1 TONG QUAN 14

1.1 Phát biéu bai toán 15

1.2 Muc tiéu 15

1.3 Pham vi dé tai 15

1.4 Đề xuất giải pháp 15

1.5 Các công nghệ sử dụng 16

1.5.1 Giới thiệu về NoSQL 16

1.5.2 Giới thiệu NodeJS và ExpressJS 20 1.5.3 Giới thiệu ReactJS 21

1.5.4 Giới thiệu MongoDB 23

1.5.5 Giới thiệu MongoDB Atlas 24 1.5.6 Giới thiệu Firebase 24

1.6 Kết luận 26

CHƯƠNG 2 : PHAN TÍCH VA THIẾT KE 27

Dong Thị Thu Dung - B17DCCN152 - DI7HTTT4 6

Trang 7

2.2.1 Thiết kế cơ sé dữ liệu 462.2.3 Xây dựng biểu đồ tuần tự 48

CHƯƠNG 3 CÀI ĐẶT HỆ THÓNG 54

3.1 Yêu cầu hệ thống 55

3.2 Một số chức năng của hệ thống 55

KET LUAN 60

TAI LIEU THAM KHAO 61

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 7

Trang 8

Đồ án tốt nghiệp Danh mục từ viết tắt

DANH MỤC TU VIET TAT

STT | Từ viết tat Tiéng Anh Giai thich

1 NoSQL Non-Relational SQL Mô hình co sở dir liệu

phi quan hệ

2 API Application Programming Phương thức trung gian

Interface kết nỗi các ứng dụng

và thư viện khác nhau.

3 RDBMS Relational Database Hệ quản trị cơ sở dữ liệu

Management System quan hé.

4 MVC Model — View — Control Một mẫu kiến trúc phan

mềm

5 REST REpresentational State Transfer | Một kiêu kiến trúc API

6 UI User Interface Giao diện người dùng

7 DOM Document ObJect Model Mô hình Các Đôi tượng

10 | JSON JavaScript Object Notation Một kiêu định dạng dữ

liệu tuân theo một quy

luật nhất định

II | AWS Amazon Web Services Một nền tảng dịch vụ

điện toán đám mây

Dong Thị Thu Dung - B17DCCN152 - DI7HTTT4

Trang 9

Đồ án tốt nghiệp Danh mục bảng

DANH MỤC BANG

Bảng 1.1 Bảng so sánh SQL và NoSQL, - - - c1 HH ng ng 19 Bang 2.1 Bang mG ta tac Mhan 0 28 Bang 2.2 Bảng mô tả lớp USer G- G1 0111311189111 9101991112 vn ng ng 43 Bảng 2.3 Bảng mô tả lớp PrOdUCI - - G2 c 1132101183111 1991119 11 9v vn ng re 44 Bảng 2.4 Bảng mô tả lớp Category - G1211 11911 9 11191111 111 HH net 44 Bang 2.5 Bang mô tả lớp OrerÏf€1m - c6 1 21191115111 119111 HH ng nệt 45 Bang 2.6 Bảng mô tả lop OeT - - 2 S1 3112111911191 911 9111 111 11H ng ng ng rệt 45

Bang 2.7 Bảng mô tả đối tượng InfoCustomerOrder 2-2 2+ 2+s+£s+£x+zsscsez 45

Bảng 2.8 Bảng mô tả lớp COmTmeRIE - - 5 c1 3311332192 EEESEESEsEeeserrreeerrere 46

Dong Thị Thu Dung - B17DCCN152 - DI7HTTT4 9

Trang 10

Đồ án tốt nghiệp Danh mục hình ảnh

DANH MỤC HÌNH ẢNH

Hình 1.1 NodeJS và ExpresS.JS - - - - + SH ng HH ng 20 Hình 1.2 ReaCLJS - - G9 HT ng HH HH như ện 21 Hình 1.3 MongoIDB - - s + x1 HH TH nh nh 23

Hình 1.4 Dữ liệu của hệ thống được lưu tai MongoDB Atlas -‹ 5+: 24

i0 1a nh 24 Hinh 0 80a 30 8n 25

Hình 2.1 Biểu đồ use case 222v 2 2E tt 29Hình 2.2 Biéu đồ use case khách hàng đăng kí tài khoản ¿2-5 s52 5+: 30Hình 2.3 Biéu đồ use case khách hàng đăng nhập 2-2 2 ++s+£x+£x+zx+eez 31Hình 2.4 Biéu đồ use case khách hàng quản lý thông tin cá nhân - 32Hình 2.5 Biéu đồ use case khách hàng tìm kiếm sản phẩm -2- 2 5+: 34Hình 2.6 Biểu đồ use case khách hàng xem sản phẩm - 2: ¿22+ ++zx++sz 34Hình 2.7 Biểu đồ use case khách hàng quản lý giỏ hàng - 2-5: 35Hình 2.8 Biểu dé use case khách hang quản lý đơn hàng - 2-2 s=sz>s2 37Hình 2.9 Biểu đồ use case quản lý sản phẩm ¿2-2 2 £+S£+E£+E+zEe£Eerxerxsreee 39Hình 2.10 Biéu đồ use case quản ly thay đổi quyền truy cập của tài khoản 41Hình 2.11 Biéu đồ use case quản lý đơn hang ccccsccescescssessessessessessesssseseeseeseesessesees 42Hình 2.12 Biêu đồ lớp pha phân tích - 2-2-2 +¿2++2E++EE++EE++EEzExerxezrxrrrxees 43

Hình 2.13 Lược đồ cơ sở dit liệu của hệ thống - 2 5¿2c++2+++cxz+zxrzreees 41

Hình 2.14 Dữ liệu Authentication trên Firebase - -< 555322 ‡+ccsssesx 48

Hình 2.15 Biéu đồ tuần tự chức năng xem chi tiết sản phẩm -2- 2 5+: 48Hình 2.16 Biéu đồ tuần tự chức năng tìm kiếm sản phẩm -2- ¿552 49Hình 2.17 Biêu đồ tuần tự khách hàng thêm sản phẩm vào giỏ hàng 49Hình 2.18 Biéu đồ tuần tự chức năng khách hàng đặt hàng . : -: 50Hình 2.19 Biêu đồ tuần tự chức năng chỉnh sửa hồ sơ cá nhân - 50Hình 2.20 Biéu đồ tuần tự chức năng khách hàng bình luận - 2-5 51Hình 2.21 Biéu đồ tuần tự chức năng quản lý thêm sản phẩm 2-2: 51Hình 2.22 Biéu đồ tuần tự chức năng quan lý sửa san phẩm -2- 2-55: 52Hình 2.23 Biéu đồ tuần tự chức năng quản lý xóa sản phẩm - : : 52Hình 2.24 Biéu đồ tuần tự chức năng quản lý cập nhật trạng thái đơn hàng 53

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 10

Trang 11

Đồ án tốt nghiệp Danh mục hình ảnh

Hình 2.25 Biéu đồ tuần tự chức năng quản lý chỉnh sửa quyền user 53

Hình 3.1 Chức năng đăng nhậtp - - - - SE 2313211121131 151111 1 111111 ket 55 Hình 3.2 Giao diện đăng nhap oe ccccscsssessesseesseeseessecesecseeeseessecsseeseeeseessessaeeseseseeees 55

Hình 3.3 Giao diện trang củ - - - - G1 11v TH ng HH HH ke 56

Hình 3.4 Giao diện chi tiết sản phẩm 2 2 2 +E£SE+EE£EEEEE2EEZEEEeEEerkrrkrrkee 56

Hình 3.5 Giao diện g1ỏ hàng - - c1 111v SH TH TH HH HH 57 Hình 3.6 Giao diện đặt hàng - G1 SE SH TH HH HH HH ng ệt 57 Hình 3.7 Giao diện đặt hàng thành công - - + +11 ng ni ng 57

Hình 3.8 Giao diện quản lý sản phẩm - 2-2 2 £+E+SE+EE£EE£EE+EZEEErkerkerkerree 58Hình 3.9 Giao diện thêm sản phẩm - 2 2 2 £+E£EE£EE#EE£EEEEEEEEZEEEEEEerkrrkrrree 58

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 11

Trang 12

Đồ án tốt nghiệp Lời cam đoan

LỜI CAM ĐOAN

Em xin cam đoan rang đồ án tốt nghiệp “Xây dựng website bán phụ kiện thúcưng” là sản phẩm nghiên cứu của bản thân mình dưới sự chỉ dẫn của Ths Trịnh ThịVân Anh Những phần có sử dụng tài liệu tham khảo có trong đồ án đã được liệt kê vànêu rõ ra tại phần tài liệu tham khảo Đồng thời các kết quả trình bày trong đồ án đềumang tính chất trung thực, không sao chép, đạo nhái

Nếu như phát hiện rằng có sự sao chép kết quả nghiên cứu của những đề tài khác

ban thân em xin chịu hoàn toàn trách nhiệm.

Đồng Thị Thu Dung - B17DCCNI52 - DI7HTTT4 12

Trang 13

Đồ án tốt nghiệp Lời mé đầu

LỜI MỞ ĐẦU

Trong vài thập niên trở lại đây, khoa học công nghệ đang ngày càng phát triển

kéo theo những biến đổi to lớn về kinh tế, xã hội trên toàn cầu Khoa học công nghệ gầnnhư đã phủ sóng trên tất cả các lĩnh vực đời sống, xã hội của con người Nhu cầu củacon người cũng tăng cao, từ đó rất nhiều các website, phần mềm đã ra đời dé phục vụ

cho việc kinh doanh hiệu quả.

Với xu thế phát triển của xã hội hiện đại, mức sống con người cũng ngày càngđược nâng cao và đồng nghĩa với điều này chính là việc mua sắm của con người cũng

được nâng lên một một tầm mới Trước kia, khi công nghệ chưa phát triển thì việc kinh

doanh mua bán chỉ diễn ra đưới hình thức mua bán trực tiếp trong các chợ truyền thống.Nhưng bây giờ, cùng với sự phát triển mạnh mẽ của mạng Internet, một xu hướng mới

ra đời trong kinh doanh hàng hóa, đó chính mua bán online thông qua các website bán

hàng hoặc hệ thống thương mại điện tử Việc mua săm của khách hàng không chỉ còn

bó hẹp trong các cửa hàng, siêu thị, chợ truyền thong ma có thé chi đơn gian la kết nối

vào một website hay ứng dụng bán hàng trực tuyến Xu hướng này đem lại nhiều sự tiện

ích cho cả khách hàng và những doanh nghiệp, đặc biệt là các doanh nghiệp vừa và nhỏ.

Đặc biệt, khi diễn biến của đại dich COVID-19 vẫn đang rất phúc tap, thì việc mua sắmonline cũng góp phần làm giảm sự lây lan của dịch bệnh

Xuất phát từ sự cần thiết cũng như tiện ích nêu trên, đề tài “Xây dựng websitebán phụ kiện thú cưng” với tên gọi Petshop được em lựa chọn làm đồ án tốt nghiệpHọc viện Công nghệ Bưu chính Viễn thông Nội dung đồ án sẽ được đề cập trong 3

chương dưới đây:

Trang 14

Đồ án tốt nghiệp Chương 1: Tổng quan

CHƯƠNG 1 TONG QUAN

Trong chương 1, đồ án trình bày cái nhìn tong quan về dé tài, bao gồm:

e Phát biểu bài toán

Trang 15

Đồ án tốt nghiệp Chương 1: Tổng quan

1.1 Phát biểu bài toán

Theo báo cáo của Liên hợp quốc năm 2021, số người dùng Internet trên toàn cầu

là khoảng 4,66 tỷ người và con số sẽ tiếp tục tăng mỗi năm Điều này cũng khang địnhInternet là một thị trường kinh doanh hoàn hảo mà không một doanh nghiệp nào có thé

bỏ qua Việc kinh doanh trên Internet giúp cho các nhà kinh doanh tiết kiệm được đáng

kể các khoản tiền phí đầu tư vào mặt bang, nhân lực, thiết bị phục vụ bán hàng Chúng

ta có thể thấy hầu hết các cửa hàng ngày nay đều có một website bán hàng cho riêngmình Họ đăng tải các sản phẩm lên website của họ cùng những ảnh chụp, mô tả, giá

bán, từ đó khách hàng có thé dé dàng chọn lựa và đặt hàng mà không cần phải lăn tan

hỏi giá Từ đó bài toán về “Xây dựng website bán hàng" đã trở thành một đề tài quenthuộc và không thé thiếu

Hình thức bài toán là xây dựng website bán hàng với đối tượng sử dụng bao gồm:

Khách hang (Customer) và Quản lý (Admin).

1.2 Mục tiêu

- _ Hiểu về các giải pháp xây dựng một website bán hàng

- Xây dựng một website với các chức năng mua hàng cho khách hàng và chức năng

quản lý cho cửa hàng.

1.3 Phạm vi đề tài

Đề tài xây dựng website bán phụ kiện thú cưng được thực hiện trong 3 tháng, từtháng 10/2021 đến tháng 12/2022, trong khuôn khô thời gian thực hiện đồ án tốt nghiệp

Trong giới hạn của đề tài, đồ án tập trung vào việc xây dựng mảng đặt hàng của khách

hàng và quản lý của chủ cửa hàng, phù hợp với các cửa hàng vừa và nhỏ Dữ liệu bao

gồm thông tin sản pham Dữ liệu sau khi được thu thập được tinh chỉnh dé phù hợp với

cau trúc cơ sở dit liệu đã xây dựng

Trang 16

Đồ án tốt nghiệp Danh mục hình ảnh

- Tim kiếm sản phẩm, xem chỉ tiết sản phẩm

- Dang ký tài khoản, quản lý hồ sơ cá nhân

- Quan lý gio hang

1.5.1 Giới thiệu về NoSQL [2]

Giới thiệu tổng quan vé NoSQL Database

Dé nói về NoSQL thì trước hết phải nói đến SQL SQL viết tắt của StructuredQuery Language - Ngôn ngữ truy vấn có cấu trúc

Trong nhiều thập kỷ, mô hình đữ liệu chiếm ưu thế về lượng sử dụng để pháttriển ứng dụng là mô hình dir liệu quan hệ, như MySQL, Oracle, DB2, SQL Server vàPostgreSQL NoSQL ban dau là một cơ sở dữ liệu cung cấp cơ chế lưu trữ và truy xuất

dữ liệu Dữ liệu này được mô hình hóa bằng các phương tiện khác với các quan hệ dạng

bảng được sử dụng trong cơ sở dữ liệu quan hệ Những cơ sở dữ liệu như vậy đã ra đời

vào cuối những năm 1960, nhưng không có được biệt danh NoSQL cho đến khi sự gia

tăng pho biến vào đầu thế kỷ XXI Dé phân biệt các cơ sở dit liệu và mô hình dữ liệu

mới nay, NoSQL được đặt ra.

NoSQL là Non-Relational SQL, là một hệ thống quản lý phân phối cho các môhình phi quan hệ, có cấu trúc linh hoạt, API đơn giản và cũng dé dang mở rộng VớiNoSQL, có thể mở rộng dữ liệu một cách thoải mái mà không phải lo lắng về khoá ngoạihay khóa chính, hoặc lo lắng về các công việc như là kiểm tra ràng buộc như hệ quản trị

cơ sở dữ liệu truyền thống Các hệ thống NoSQL cũng đôi khi được gọi là “Not onlySQL” (không chỉ là SQL) dé nhắn mạnh rằng chúng có thê hỗ trợ các ngôn ngữ truy van

dạng như SQL.

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 16

Trang 17

Đồ án tốt nghiệp Danh mục hình ảnh

Hãy xem ví dụ về mô hình so đồ dành cho cơ sở dit liệu sách đơn giản:

- _ Trong cơ sở đữ liệu quan hệ, hồ sơ về một cuốn sách thường được phân tách (hay

còn gọi là "chuân hóa") và lưu trữ trong các bảng tách biệt nhau, còn mối quan

hệ được quy định băng các ràng buộc khóa ngoại và khóa chính Trong ví dụ này,

bảng Sách có các cột cho ISBN, Tên sách và Số phiên bản, bảng Tác giả có các

cột cho ID tác giả và Tên tác giả và cuối cùng, bảng Tác giả-ISBN có các cộtcho ID tác giả va ISBN Mô hình quan hệ được thiết kế dé cho phép các cơ sở ditliệu này thực thi tính toàn vẹn tham chiếu giữa nhiều bảng trong cơ sở dữ liệu,

được chuẩn hóa dé giảm dư thừa và thường được tối ưu hóa cho mục đích lưu

trữ.

- Trong cơ sở đữ liệu NoSQL, hồ sơ về một cuốn sách thường được lưu trữ dưới

dạng văn bản JSON Với từng quyền sách, mục, ISBN, Tên sách, Số phiên bản,

Tên tác giả và ID tác giả được lưu trữ dưới dạng thuộc tính trong một văn bản

duy nhất Trong mô hình này, dữ liệu được tối ưu hóa cho việc phát triển trực

quan và khả năng thay đổi quy mô theo chiều ngang

Tai sao lại cần NoSQL?

Sở di người ta phát triển NoSQL xuất phát từ tính đơn giản trong thiết kế, mởrộng theo chiều ngang giúp cho việc kiém soát khả dụng tốt hơn và có khả năng lưu trữ

cực kì lớn, truy cập dữ liệu với tốc độ cao mà không đòi hỏi quá nhiều về năng lực phần

cứng cũng như tài nguyên hệ thống và tăng khả năng chịu lỗi

Cấu trúc dữ liệu được thiết kế cho các cơ sở dit liệu NoSQL khác với cấu trúc dữliệu trong các cơ sở dữ liệu quan hệ, khiến cho nó thao tác nhanh hơn trong NoSQL

Đôi khi cấu trúc dit liệu thiết kế dưới dạng NoSQL được xem là linh hoạt hơn

các bảng cơ sở dữ liệu quan hệ Co sở dữ liệu NoSQL là lựa chọn cực kỳ thích hợp cho

nhiều ứng dụng hiện đại, ví dụ như di động, web và trò chơi đòi hỏi phải sử dụng cơ sở

dữ liệu cực kỳ thiết thực, linh hoạt, có khả năng thay đôi quy mô và hiệu năng cao để

đem đến cho người dùng trải nghiệm tuyệt vời

Một số wu điểm của NoSQL có thể kế đến như:

- Linh hoạt: Cơ sở dit liệu NoSQL thường cung cấp các so đồ linh hoạt giúp công

đoạn phát triển nhanh hơn và có khả năng lặp lai cao hon Mô hình dữ liệu linh

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 17

Trang 18

Đồ án tốt nghiệp Danh mục hình ảnh

hoạt biến cơ sở đữ liệu NoSQL thành lựa chọn lý tưởng cho dit liệu không được

tổ chức thành cấu trúc hoặc có cấu trúc chưa hoàn chỉnh

- Kha năng thay doi quy mô: Cơ sở dit liệu NoSQL thường được thiết kế để tăng

quy mô bang cách sử dụng các cụm phan cứng được phân phối thay vì tăng quy

mô bằng cách bổ sung máy chủ mạnh và tốn kém Một số nhà cung cấp dịch vu

đám mây xử lý các hoạt động này một cách không công khai dưới dạng dịch vụ

được quản lý đầy đủ

- _ Hiệu năng cao: Cơ sở dữ liệu NoSQL được tối ưu hóa theo các mô hình đữ liệu

cụ thé và các mẫu truy cập giúp tăng hiệu năng cao hơn so với việc cô gang đạt

được mức độ chức năng tương tự bằng cơ sở dữ liệu quan hệ

- Cue kỳ thiết thực: Cơ sở dữ liệu NoSQL cung cấp các API và kiểu dữ liệu cực

kỳ thiết thực được xây dựng riêng cho từng mô hình dữ liệu tương ứng

Các loại NoSQL Database

- Key-value stores: là cơ sở dit liệu NoSQL đơn giản nhất Mỗi mục trong cơ sở

dữ liệu được lưu trữ dưới dạng tên thuộc tính, cùng với giá tri của nó Co sở dữ

liệu khóa-giá trị có khả năng phân mảnh cao và cho phép thay đổi quy mô theochiều ngang ở các quy mô lớn mà các loại hình cơ sở dữ liệu khác không thể làm

được Mô hình dữ liệu khóa - giá trị được dùng cho trò chơi, công nghệ quảng

cáo và đặc biệt thích hợp cho IoT Ví dụ về Key-value stores là Riak, Berkeley

DB, Amazon DynamoDB

- Column-oriented stores: như Cassandra va HBase được tối ưu hóa cho các truy

vấn trên các bộ dữ liệu lớn và lưu trữ các cột đữ liệu cùng nhau, thay vì các hàng

- Graph stores: Mục đích của cơ sở dir liệu đồ thị là giúp việc dựng va chạy ứng

dụng hoạt động với các bộ dữ liệu có kha năng kết nối cao trở nên dé dang Cơ

sở dit liệu đồ thị thường được sử dụng cho các đồ thị tri thức, mạng xã hội, công

cụ đề xuất và phát hiện lừa dao Vi du Graph stores: Neo4J và Giraph,

- Document Oriented databases: ghép từng khóa với cau trúc đữ liệu phức tap

được gọi là tài liệu Tài liệu có thé chứa nhiều cặp khóa - giá trị khác nhau hoặccặp khóa-mảng hoặc thậm chí các tài liệu lồng nhau Trong mã ứng dụng, dữ liệuthường được biểu diễn dưới dạng một đối tượng hoặc văn bản dạng JSON vì đây

là mô hình dữ liệu hiệu quả và trực quan cho các nhà phát triên Cơ sở dữ liệu văn Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 18

Trang 19

Đồ án tốt nghiệp Danh mục hình ảnh

bản giúp nhà phát triển dé dang lưu trữ và truy van dữ liệu trong một cơ sở dữ

liệu bằng cách sử dụng cùng một định dạng mô hình văn bản họ sử dụng trong

mã ứng dụng của mình Tính chât linh hoạt, bán câu trúc và phân câp của các văn

bản và cơ sở dữ liệu văn bản cho phép chúng phát triển phù hợp với yêu cầu của

ứng dụng Mô hình văn bản phát huy hiệu quả với danh mục, hồ sơ người dùng

và hệ thống quản lý nội dung, nơi từng văn bản là duy nhất và phát triển theo thời

gian Ví dụ: MongoDB, OrientDB, RavenDB

Sử dụng ngôn ngữ truy vấn không

câu trúc Dữ liệu được lưu trữ

Được tùy biến theo chiều ngang,

mở rộng bằng cách tăng số lượng

máy chủ CSDL.

Ngôn ngữ Query Sử dụng ngôn ngữ Query Không có ngôn ngữ Query

Phân mêm MySql, Oracle, Ms-SQL. MongoDB, Cassandra, HBase,

CouchDB.

Khi nào nên sử dung NoSQL

- Khimé hình RDBMS truyền thống không đủ

Trang 20

Đồ án tốt nghiệp Danh mục hình ảnh

- Dữ liệu cần lược dé linh hoạt

- Cac ràng buộc va logic xác thực không bắt buộc phải được thực hiện trong cơ

sở dữ liệu

- _ Ghi nhật ky dit liệu từ các nguồn được phân phối

- Nén được sử dung dé lưu trữ dữ liệu tạm thời như giỏ mua hàng, danh sách

mong muôn va dir liệu phiên

1.5.2 Giới thiệu NodeJS và ExpressJS [3]

nedes

-xXoress

Hinh 1.1 NodeJS va ExpressJS Giới thiệu NodeJS

- NodeJS là một ma nguồn mở, đa nền tảng, chạy trên môi trường JavaScript, được

xây dựng trên V8 JavaScript engine của Chrome - V8 thực thi mã JavaScript bên

ngoài trình duyệt Nó được tạo ra vào năm 2009 đi kèm với một lợi thế chính NodeJS cho phép thực hiện lập trình bất đồng bộ

GO chế độ đồng bộ thực thi từng dòng và tiến hành thực thi dòng tiếp theo khi

dòng hiện tại đã thực thi xong.

- _ Khi bất đồng bộ thực thi tat cả dong code cùng một lúc

- NodeJS là một nền tang được xây dựng trên JavaScript runtime của Chrome với

mục đích xây dựng các ứng dụng mạng nhanh chóng và có thé mở rộng được một

cách dễ dàng hơn NodeJS sử dụng mô hình I/O lập trình theo sự kiện,

non-blocking, do đó nodeJS khá gọn nhẹ và hiệu quả - công cụ hoàn hao cho các ứng

dụng chuyên sâu về dữ liệu theo thời gian thực chạy trên các thiết bị phân tán

- NodeJS là môi trường runtime mã nguồn mở đa nền tang, được sử dụng dé phát

triển các ứng dụng mạng và ứng dung server-side Các ứng dụng NodeJS được

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 20

Trang 21

Giới thiệu ExpressJS

ExpressJS là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảngcủa NodeJS Nó cung cấp các tính năng mạnh mẽ dé phát triển web hoặc mobile.ExpressJS được sử dụng trong thiết kế và xây dựng các ứng dụng web một cách

đơn giản và nhanh chóng.

Về các package hỗ trợ: ExpressJS có vô số các package hỗ trợ

Về hiệu năng: ExpressJS cung cấp thêm về các tính năng dé lập trình viên lập

trình tốt hơn Chir không làm giảm tốc độ của NodeJS

Và hơn hết, các Framework nổi tiếng của NodeJS hiện nay đều sử dụng

ExpressJS như một core function, chang han: SailsJS, MEAN

ExpressJS hỗ trợ việc phat trién ứng dụng theo mô hình MVC, mô hình phô biến

cho việc lập trình web hiện nay.

Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức va tái sử dụng code.

Định nghĩa routes và các request method đến server một cách dé dàng

Hỗ trợ REST API.

1.5.3 Giới thiệu ReactJS [4]

Hình 1.2 ReactJS

ReactJS là thư viện JavaScript được sử dụng để xây dựng các thành phần UI có

thể tái sử dụng Theo tài liệu chính thức của ReactJS, sau đây là định nghĩa: ReactJS là

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 21

Trang 22

Đồ án tốt nghiệp Danh mục hình ảnh

một thư viện dé xây dựng giao diện người dùng có thê kết hợp Nó khuyến khích việc

tạo ra các thành phan giao diện người dùng có thé tái sử dụng, hiển thị dit liệu thay đổi

theo thời gian Rất nhiều người sử dụng ReactJS làm V (View) trong mô hình MVC

ReactJS trừu tượng hóa DOM khỏi bạn, cung cấp mô hình lập trình đơn giản hơn và

hiệu suất tốt hơn ReactJS cũng có thể hién thị trên máy chủ bằng Node va nó có thécung cấp năng lượng cho các ứng dụng gốc bằng React Native ReactJS triển khai luồng

dữ liệu phản ứng một chiều, điều này giúp giảm bớt phần soạn sẵn và dễ lý luận hơn so

với ràng buộc đữ liệu truyền thống.

ReactJS là một thư viện UI phát triển tại Facebook đề hỗ trợ việc xây dựng nhữngthành phần (components) UI có tính tương tác cao, có trạng thái và có thê sử dụng lạiđược ReactJS được Facebook phát triển và sử dụng và www.instagram.com được viết

hoàn toàn trên ReactJS.

Một trong những điểm hấp dẫn của ReactJS là thư viện này không chỉ hoạt độngtrên phía client, ma còn được render trên server và có thể kết nối với nhau ReactJS sosánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít

thay đối nhất trên DOM

Uu điểm của React

- ReactJS cực kì hiệu quả: ReactJS tạo ra cho chính nó DOM ảo — nơi mà các

component thực sự tồn tại trên đó Điều này sẽ giúp cải thiện hiệu suất rất nhiều.Reactjs cũng tính toán những thay đổi nào cần cập nhật lên DOM và chỉ thựchiện chúng Điều này giúp ReactJS tránh những thao tác cần trên DOM mà nhiều

chi phí.

- ReactJS giúp việc viết các đoạn code JS dé dàng hơn: Nó dùng cú pháp đặc biệt

là JSX (Javascript mở rộng) cho phép ta trộn giữa code HTML va Javascript Ta

có thé thêm vào các đoạn HTML vào trong hàm render mà không cần phải nốichuỗi Đây là đặc tinh thú vị của ReactJS Nó sẽ chuyên đổi các đoạn HTML

thành các hàm khởi tạo đối tượng HTML bằng bộ biến đổi JSX

- Render tang server: Một trong những van dé với các ứng dụng đơn trang là tối

ưu SEO (Tối ưu hóa công cụ tìm kiếm) và thời gian tải trang Nếu tất cả việc xây

dựng và hién thị trang đều thực hiện ở client, thì người dùng sẽ phải chờ cho trang

được khởi tạo và hiên thị lên Điêu này thực tê là chậm Hoặc nêu gia sử người Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 22

Trang 23

Đồ án tốt nghiệp Danh mục hình ảnh

dùng vô hiệu hóa Javascript thì sao? Reactjs là một thư viện component, nó có

thé vừa render ở ngoài trình duyệt sử dụng DOM và cũng có thé render bằng các

dữ liệu lưu trên bảng không cần phải tuân theo một dạng cấu trúc nhất định nào Chính

do cau trúc linh hoạt này nên MongoDB có thé được dùng dé lưu trữ các dữ liệu có cầu

trúc phức tạp và đa dạng và không có định (hay còn gọi là Big Data)

Lợi thé của MongoDB so với các cơ sở dữ liệu dạng quan hệ (RDBMS):

Ít Schema hơn: MongoDB là một cơ sở dữ liệu dựa trên Document, trong đó một

Collection giữ các Document khác nhau Số trường, nội dung và kích cỡ củaDocument này có thể khác với Document khác

Cấu trúc của một đối tượng là rõ ràng

Không có các Join phức tạp.

Khả năng truy vấn sâu hơn MongoDB hỗ trợ các truy vấn động trên các

Document bởi sử dụng một ngôn ngữ truy vẫn dựa trên Document mà mạnh mẽ

Trang 24

Đồ án tốt nghiệp Danh mục hình ảnh

Một số đặc điểm của MongoDB:

- Kho lưu định hướng Document: Dữ liệu được lưu trong các tài liệu kiểu JSON

- Lap chỉ mục trên bất kỳ thuộc tính nào.

- Cac truy vấn đa dạng

- Cap nhật nhanh hơn.

1.5.5 Giới thiệu MongoDB Atlas

MongoDB Atlas là cloud database của MongoDB được ra mắt vào năm 2016

chạy trên AWS, Microsoft Azure va Google Cloud Platform.

Hình 1.4 Dữ liệu của hệ thống được lưu tai MongoDB Atlas

1.5.6 Giới thiệu Firebase [6]

Firebase là một nền tang sở hữu bởi google giúp chúng ta phat triển các ứng dụng

di động và web Họ cung câp rât nhiêu công cụ và dịch vụ tiện ích đê phát triên ứng Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 24

Trang 25

Với firebase, bạn có thể tạo ra những ứng dụng real-time như app chat, cùngnhiều tính năng như xác thực người dùng, Cloud Messaging, Ban có thé dùng firebasegiống như phần backend của app.

Các dịch vụ của firebase hoàn toàn miễn phí, tuy nhiên bạn cần phải trả thêm tiền

nếu muốn nâng cấp lên Điều này bạn nên cân nhắc nếu muốn xây dựng một ứng dụnglớn sử dụng phần backend là firebase, vì cái giá khi muốn nâng cấp còn khá đắt đỏ so

với việc xây dựng backend truyền thống

Firebase Cloud Storage

Firebase Cloud Storage là một không gian lưu trữ dữ liệu, nó giống như một chiếc

6 cứng Ban có thể upload và download các loại file bạn muốn Đó có thé là một file

anh, hay file văn bản, zip, Với Firebase cloud storage, chung là nơi lưu trữ những

file, đó có thê là những hình ảnh về một mặt hàng chang hạn Bạn có thé lưu trữ link tới

Đồng Thị Thu Dung - B17DCCN152 - DI7HTTT4 25

Trang 27

Đồ án tốt nghiệp Chương 2: Phân tích và thiết kế

CHƯƠNG 2 : PHAN TÍCH VA THIẾT KE

Trong chương 3, chúng ta sẽ đi vào phần phân tích và thiết kế hệ thống chỉ tiếtcho chương trình Nội dung chương bao gồm:

Trang 28

Đồ án tốt nghiệp Chương 2: Phân tích và thiết kế

1 Khách hang Người sử dung website dé đặt hang

Đồng Thi Thu Dung - B17DCCN152 - DI7HTTT4 28

Trang 29

Đồ án tốt nghiệp Chương 2: Phân tích và thiết kế

Thêm SP vào giỏ hang

Xóa SP khỏi giỏ hàng ích hàng đăng ART Giản lý đăng nhĩ

- <<Extend>>

Đặt hàng.

leo dõi trạng thái dor

Quan lý đơn hang

extension points extension points

Quan lý tai khoản.

Ẳ ay đổi quyền truy

cập của tài khoản

<<Extend>>

extension points

Thay đối quyền truy cập của tai khoảp

Xem danh sách tài khoải

Mp

‘extension points Thêm sản phẩm.

(Cập nhật trang thái đơn hàng

Hình 2.1 Biểu đồ use case

Trang 30

Đồ án tốt nghiệp Chương 2: Phân tích và thiết kế

Hinh 2.2 Biéu dé use case khach hang dang ki tai khoan

Tén use case Dang ky

Tac nhan chinh Khách hàng

Điều kiện Khách hàng chưa đăng nhập

Đảm bảo tối thiểu Khách hàng được phép đăng ký lại

Đảm bảo thành công Khách hàng đăng ký tài khoản thành công

Chuỗi sự kiện chính

1 Khách hàng chọn chức năng đăng ký ở giao diện trang chủ của website

2 Hệ thống hiển thị form đăng ký với các trường: Email, Họ tên, password,

confirm password.

3 Khách hàng nhập thông tin vào các trường va bam nút Đăng ký

4 Hệ thống kiểm tra và lưu thông tin vào cơ sở dữ liệu và thông báo đăng ký

thành công.

Ngoại lệ

3.1 Khách hàng nhập không đủ thông tin

3.1.1 Hệ thống báo lỗi phải nhập đủ các trường thông tin

Đồng Thị Thu Dung - B17DCCNI52 - DI7HTTT4 30

Ngày đăng: 08/03/2024, 13:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w