1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ tài xây DỰNG WEBSITE bán điện THOẠI và TABLET

63 3 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Bán Điện Thoại Và Tablet
Tác giả Dương Sơn Bá
Người hướng dẫn TS. Lê Thị Thu Nga
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt - Hàn
Chuyên ngành Khoa Học Máy Tính
Thể loại Báo cáo đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 63
Dung lượng 2,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nắm bắt được nhu cầu đó và xét thấy sự phát triển vượt bậc của mạng Internet ở khắp nơi trên thế giới nói chung và tại nước ta trong những năm gần đây nói riêng nên việc ứng dụng công ng

Trang 1

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

TRUYỀN THÔNG VIỆT - HÀN Khoa Khoa Học Máy Tính

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI VÀ TABLET

Sinh viên thực hiện: Dương Sơn Bá

Giảng viên hướng dẫn: TS Lê Thị Thu Nga

Đà Nẵng, tháng 11 năm 2021

Trang 2

1

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

TRUYỀN THÔNG VIỆT - HÀN Khoa Khoa Học Máy Tính

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI VÀ TABLET

Sinh viên thực hiện: Dương Sơn Bá

Giảng viên hướng dẫn: TS Lê Thị Thu Nga

Đà Nẵng, tháng 11 năm 2021

Trang 3

2 NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN

Trang 4

3

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT 6

DANH MỤC CÁC HÌNH VẼ 7

DANH MỤC CÁC BẢNG 9

MỞ ĐẦU 9

1 Giới thiệu 10

2 Lợi ích của website 11

3 Đề xuất giải pháp 13

CHƯƠNG 1 CÔNG CỤ CÔNG NGHỆ SỬ DỤNG 14

1 Node JS 14

2 Framework Expressjs 16

3 Framework TailwindCSS 17

4 MongoDB 19

5 React Native 23

CHƯƠNG 2 PHÂN TÍCH MÔ HÌNH HỆ THỐNG 24

1 Phân tích yêu cầu 24

2 Yêu cầu chức năng 24

3 Quy trình mô hình hóa 28

4 Xác định các tác nhân 30

5 Xác định các use case của tác nhân 30

6 Biểu đồ ca sử dụng 31

7 Biểu đồ trình tự 35

8 Phân tích cơ sở dữ liệu 38

CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG 46

1 Website 46

2 App mobile 47

3 Giao diện ứng dụng 48

KẾT LUẬN 61

1.Kết quả đạt được 61

2.Hướng phát triển 61

TÀI LIỆU THAM KHẢO 62

Trang 5

4

Trang 6

5

LỜI CẢM ƠN

Trong suốt thời gian học tập và rèn luyện tại Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô cùng bạn bè Với lòng biết ơn sâu sắc và chân thành nhất, em xin gửi đến quý thầy cô Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn đã dùng tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho em trong suốt thời gian em học tại trường

Em xin chân thành cảm ơn Thạc sĩ Lê Thị Thu Nga đã tận tâm hướng dẫn em qua từng buổi học trên lớp cũng như những buổi nói chuyện, trao đổi về đề tài Nghiên cứu và Xây dựng Website

Em cũng xin gửi lời cảm ơn đến các ban lãnh đạo của Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn, cùng với các Khoa – Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ em trong quá trình học tập và nghiên cứu đề tài này Với điều kiện thời gian cũng như hạn chế về kinh nghiệm của một sinh viên, bài báo cáo này không thể tránh được những thiếu xót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có thêm kinh nghiệm, bổ sung và nâng cao kiến thức của bản thân để phục vụ cho công tác thực tế sau này

Em xin chân thành cảm

Trang 7

6

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

API Application Programming Interface CNTT Công nghệ thông tin

SQL Structured Query Language

Trang 8

7

DANH MỤC CÁC HÌNH VẼ

Hình 1 Tạo server đơn giản với Nodejs 16

Hình 2 Kết quả cài đặt Expressjs 17

Hình 3 Ví dụ về Expressjs 17

Hình 4 Ví dụ về Tailwindcss 18

Hình 5 Ví dụ về Tailwindcss 18

Hình 6 MongoDB là gì? 19

Hình 7 NoSQL 19

Hình 8 Tính năng của MongoDB 20

Hình 9 Ưu nhược điểm của MongoDB 20

Hình 10 Quy trình mô hình hóa cửa hàng bán điện thoại 28

Hình 11 Quy trình mua hàng của khách hàng 29

Hình 12 Use case tổng quát 31

Hình 13 Use case đăng kí 32

Hình 14 Use case giỏ hàng 32

Hình 15 Use case đặt hàng 33

Hình 16 Use case bình luận sản phẩm 33

Hình 17 Use case đánh giá sản phẩm 34

Hình 18 Use case trò chuyện tư vấn 34

Hình 19 Trình tự người dùng thêm sản phẩm vào giỏ hàng 35

Hình 20 Biểu đồ trình tự người dùng đặt hàng 36

Hình 21 Biểu đồ trình tự người dùng trò chuyện tư vấn 37

Hình 22 Quan hệ giữa các bảng 45

Hình 23 Trang chủ 48

Hình 33 Sản phẩm chi tiết 49

Hình 25 Đánh giá sản phẩm 50

Hình 26.Bình luận sản phẩm 51

Hình 27 Tìm kiếm sản phẩm 51

Hình 28 Chỉnh sửa thông tin cá nhân 52

Hình 29 Giỏ hàng 53

Trang 9

8

Hình 30 Đặt hàng 54

Hình 31 Xem lịch sử mua hàng 54

Hình 32 Trò chuyện tư vấn 55

Hình 33 Trả lời bình luận 55

Hình 34 Quản lí người dùng 56

Hình 35 Quản lí sản phẩm 56

Hình 36 Xem sản phẩm đã bán 57

Hình 37 Đăng nhập 58

Hình 38 Xem danh sách người dùng 59

Hình 39 Màn hình trò chuyện 60

Trang 10

9

DANH MỤC CÁC BẢNG

Bảng 1 Các lệnh cơ bản trong Mongodb 23

Bảng 2 Brand – Thương hiệu sản phẩm 38

Bảng 3 GroupProduct – Nhóm sản phẩm 38

Bảng 4 Product – sản phẩm 39

Bảng 5 User – người dùng 39

Bảng 6 Cart – giỏ hàng 40

Bảng 7 Evalute – đánh giá 40

Bảng 8 Comment – bình luận sản phẩm 41

Bảng 9 ReplyComment – trả lời bình luận 41

Bảng 10 Post – bài viết 42

Bảng 11 Admin – quản trị viên 42

Bảng 12 Message – tin nhắn 43

Bảng 13 ShopingHistory – lịch sử mua hàng 43

Bảng 14 ProductShopingHistory – sản phẩm đã mua 44

Trang 11

10

MỞ ĐẦU

1 Giới thiệu

Ngày nay với việc khoa học kỹ thuật ngày càng phát triển mạnh mẽ đặc biệt

là công nghệ thông tin, những gì mà công nghệ thông tin tạo ra giúp con người phát triển trong nhiều lĩnh vực Hằng ngày mỗi người trong chúng ta đều phải có những nhu cầu thiết yếu như : ăn uống , mua sắm, xem phim, nghe nhạc và vì vậy chúng

ta phải đi tới các trung tâm giải trí hay mua sắm để mua những sản phẩm mình muốn hay đơn giản là thưởng thức những bản nhạc mới nhất Nắm bắt được nhu cầu đó và xét thấy sự phát triển vượt bậc của mạng Internet ở khắp nơi trên thế giới nói chung và tại nước ta trong những năm gần đây nói riêng nên việc ứng dụng công nghệ thông tin vào lĩnh vực tìm kiếm thông tin, truy cập dữ liệu từ xa không còn khó khăn Người ta tận dụng tối đa những lợi ích mà lĩnh vực này mang lại

Đặc biệt trong lĩnh vực thương mại điện tử, việc áp dụng công nghệ thông tin vào thương mại điện tử giúp cho việc mua bán trên mạng ngày càng dễ dàng và thuận tiện hơn Việc mua bán trên mạng dễ dàng hơn, sẽ kích thích người tiêu dùng mua hàng nhiều hơn qua đó sẽ làm tăng doanh thu cho cửa hàng Tuy nhiên hiện nay việc mua bán trên mạng cũng còn gặp phải nhiều vấn đề cần phải giải quyết như:

• Người tiêu dùng lo ngại về chất lượng sản phẩm

• Lo ngại về hàng hóa không đến được tay người tiêu dùng

• Lo ngại về tính bảo mật thông tin của khách hàng trên website thương mại điện tử

• Lo ngại về tính bảo mật của hệ thống thanh toán trên website thương mại điện tử

Mặt khác việc bán hàng qua mạng có nhiều lợi ích hơn so với bán hàng truyền thống như:

• Quảng bá thông tin và tiếp thị trong thị trường toàn cầu với chi phí thấp

• Cung cấp dịch vụ tốt hơn cho khách hàng

• Tăng doanh thu và giảm chi phí

• Tạo lợi thế cạnh tranh

Do đó, để tạo nên một website thương mại điện tử chuyên nghiệp và tạo được lòng tin cho khách hàng là một việc không dễ dàng

Trang 12

11

2 Lợi ích của website

Website tạo ra lợi thế cạnh tranh

Nếu khách hàng của bạn không tìm thấy trang web trực tuyến của bạn, họ

sẽ tìm thấy đối thủ cạnh tranh của bạn Ngày càng có nhiều công ty dùng trang website để tiếp cận hiệu quả các đối tượng khách hàng của họ, doanh nghiệp của bạn sẽ có thể gặp nhiều bất lợi nếu không thể hiện mình chính xác trên internet

Điều nổi bật mà mỗi trang web cần ưu tiên thiết lập trên trang của mình

là sự hiện diện đẹp trên tất cả các thiết bị, dễ điều hướng và hội tụ đầy đủ các thông tin quan trọng về thương hiệu, sản phẩm của doanh nghiệp Giao diện website là ấn tượng đầu tiên mà khách hàng tiềm năng của bạn nhận thấy được khi tiếp cận, một trang web xấu hoặc không đầy đủ nội dung cần thiết thể hiện sự chỉnh chu ở bố cục có thể khiến cho khách hàng của bạn đắn đo Khả năng khách hàng chọn một công ty để thực hiện giao dịch, chỉ vì lí do website của họ trông đẹp hơn hoặc nó trả lời đúng các câu hỏi, yêu cầu của họ hơn

Tăng sự nhận thức về doanh nghiệp của bạn

Một website giúp khách hàng dễ dàng hơn để tìm hiểu thêm về doanh nghiệp của bạn theo nhịp độ cập nhật của họ Ví như một khách hàng mua sản phẩm X từ bạn, thường không biết rằng bạn cũng bán các sản phẩm Y hay Z…

Nhưng thông qua sự quảng bá trực tuyến trên website, khách hàng có thể nắm bắt các sản phẩm dịch vụ mà bạn cung cấp mà bạn không phải trực tiếp đi tiếp thị hay gọi cho họ

Tăng giờ làm cho công việc

Không chỉ dừng lại ở việc trang website thay bạn làm việc suốt 24h một ngày, 365 ngày một năm với khả năng tiếp cận hàng triệu người mỗi ngày Nó hỗ trợ sự kết nối giữa bạn với khách hàng ngay cả khi bạn không hoạt động trực tuyến trên website Trang website được tổ chức bởi

Trang 13

12

SPIN luôn hoạt động hỗ trợ cho công việc kinh doanh của bạn ngay khi bạn đang nghỉ ngơi

Một website tốt làm giảm các chi phí

Giảm chi phí xuất bản: Một trong những chi phí phụ mà mỗi doanh nghiệp đều phải chi trả đó là thiết kế, in ấn và phân phối các tài liệu tiếp thị Nhưng với hiệu quả và tốc độ phủ sóng hiện đại của website, công việc quảng cáo này diễn ra nhanh hơn và tiết kiệm chi phí hơn so với phương tiện truyền thông in Tất nhiên, tất cả các chiến lược này đều được hiện thực hóa trên giao diện website giúp bạn dễ dàng quản lý hơn, đồng thời nó tác động làm cho trang của bạn sinh động và đa dạng hơn.Giảm chi phí tiếp thị: Hiện nay, việc mua không gian quảng cáo từ: bảng banner quảng cáo, quảng cáo trên báo hay các điểm trên các kênh xã hội cộng đồng trực tuyến luôn tốn kém Thêm vào đó là thời gian cố gắng để suy nghĩ các từ khóa đắt giá, cụm từ cuốn hút người đọc trên một không gian giới hạn Truy nhiên, với một website không gian mở có chủ đề thống nhất, bạn có sự chủ động bố trí dữ kiện quảng cáo toàn trang mà bạn có thể thay đổi bất cứ lúc nào

Nâng cao hình ảnh công ty

Hiệu quả của một trang website mang lại cho doanh nghiệp luôn nhiều hơn so với những gì bạn hình dung Một trang website giúp bạn xây dựng một hình ảnh chuyên nghiệp, tạo ra sự tin cậy nơi khách hàng và gây dựng niềm tin mua hàng của họ

Trang web của bạn truyền tải thông điệp và phản ánh tinh thần, thể hiện tầm nhìn của bạn và doanh nghiệp Sự phát triển của internet cũng tạo cơ hội một doanh nghiệp nhỏ miêu tả chính nó như một doanh nghiệp lớn Hoặc ngược lại, đối với một công ty lớn rơi xuống vị trí không xứng tầm nếu trang web đại diện không thể hiện đúng cho tầm vóc thật sự của nó

Trang 15

NodeJS là một nền tảng đượ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 hảo 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 tảng, được sử dụng để phát triển các ứng dụng mạng và ứng dụng server-side Các ứng dụng NodeJS được viết bằng JavaScript và có thể chạy trong NodeJS runtime trên OS X, Microsoft Windows

và Linux NodeJS cũng cung cấp một thư viện bao gồm rất nhiều các module JavaScript khác nhau nhằm đơn giản hóa việc phát triển các ứng dụng web, qua đó giảm thiểu tình trạng sử dụng quá nhiều Node.js

Các tính năng của Node JS

Lập trình hướng sự kiện và không đồng bộ: Toàn bộ API trong thư viện

NodeJS đều không đồng bộ, hay không bị chặn Về cơ bản điều này có nghĩa là một server sử dụng NodeJS sẽ không bao giờ chờ một API trả về

dữ liệu Server sẽ chuyển sang API kế tiếp sau khi gọi API đó và cơ chế thông báo của Events trong NodeJS giúp server nhận được phản hồi từ lần gọi API trước

Cực kỳ nhanh chóng: Được xây dựng trên Công cụ JavaScript V8 của

Google Chrome, thư viện NodeJS có khả năng xử lý mã vô cùng nhanh

Đơn luồng/Single thread nhưng có khả năng mở rộng cao: NodeJS sử

dụng một mô hình luồng đơn với vòng lặp sự kiện/event Cơ chế event cho

Trang 16

15

phép máy chủ phản hồi non-blocking và cũng cho phép khả năng mở rộng cao hơn so với các server truyền thống hỗ trợ giới hạn các thread để xử lý yêu cầu NodeJS sử dụng một chương trình đơn luồng, cùng một chương trình có thể cung cấp dịch vụ cho một số lượng yêu cầu lớn hơn so với các máy chủ truyền thống như Apache HTTP Server

Không có buffer - Các ứng dụng NodeJS không có vùng nhớ tạm thời

(buffer) cho bất kỳ dữ liệu nào Các ứng dụng này chỉ đơn giản xuất dữ liệu theo khối

License - NodeJS được phát hành theo giấy phép MIT

Ưu điểm của Node JS

• Nhận và xử lý nhiều kết nối chỉ với một single-thread giúp hệ thống tốn ít RAM và chạy nhanh nhất khi không phải tạo thread mới cho mỗi truy vấn

• NodeJS tận dụng tối đa tài nguyên của server mà không tạo ra độ trễ vì áp dụng ưu điểm non-blocking I/O của Javascript

• Với cơ chế event-driven, non-blocking I/O và mô hình kết hợp với Javascript là sự lựa chọn tuyệt vời cho các dịch vụ Webs làm bằng JSON

• Với khả năng xử lý nhiều Request/s đồng thời thời gian phản hồi nhanh Rất phù hợp để áp dụng NodeJS để xây dựng các ứng dụng Single page Application, các ứng dụng không muốn tải lại trang, gồm rất nhiều request

từ người dùng cần sự hoạt động nhanh, các ứng dụng thời gian thực như ứng dụng chat, các dịch vụ mạng xã hội như Facebook, Twitter,…

• NodeJS sẽ tận dụng tối đa Unix để hoạt động Tức là NodeJS có thể xử lý hàng nghìn process và trả ra một luồng khiến cho hiệu xuất hoạt động đạt mức tối đa nhất và tuyệt vời nhất

• Streamming Data: Các web thông thường gửi HTTP request và nhận phản hồi lại (Luồng dữ liệu) Giả xử sẽ cần xử lý 1 luồng giữ liệu cực lớn, NodeJS sẽ xây dựng các Proxy phân vùng các luồng dữ liệu để đảm bảo tối

đa hoạt động cho các luồng dữ liệu khác

Trang 17

16

• Viết được cho cả 2 phía server và client Chạy đa nền tảng trên Windows, MAC hoặc Linux Hơn nữa cộng đồng NodeJS rất lớn, hoàn toàn miễn phí

Tạo server nodejs đơn giản

Hình 1 Tạo server đơn giản với Nodejs

2 Framework Expressjs

Giới thiệu về Expressjs

Express là một framework giành cho nodejs Nó cung cấp cho chúng ta rất nhiều tính năng mạnh mẽ trên nền tảng web cũng như trên các ứng dụng di động Express hỗ rợ các phương thức HTTP và midleware tạo ra môt API vô cùng mạnh mẽ và dễ sử dụng Có thể tổng hợp một số chức năng chính của express như sau:

Trang 18

17

• $ mkdir express

• $ cd express

• $ npm install express Màn hình sẽ hiện kêt quả như sau

Hình 2 Kết quả cài đặt Expressjs

sử dụng Tất nhiên lí do thì rất đơn giản là vì nó dễ sử dụng và cung cấp cực nhiều component được viết sẵn Vấn đề là khi các bạn sử dụng nó cho những dự

Trang 19

18

án lớn, sẽ rất khó để kiểm soát được Css cũng như những thành phần không được sử dụng đến, và vô hình chung sẽ phát sinh ra những vấn đề về hiệu suất cũng như tốc độ tải trang, thực sự khá đau đầu cho Developer

Rồi Tailwindcss ra đời, giải quyết được những vấn đề mà chính Bootstrap đang gặp phải Điểm khác biệt lớn nhất giữa Tailwindcss với những Framework khác nằm ở chỗ Tailwind không cung cấp bất kỳ thành phần UI nào được định nghĩa trước, nghĩa là chúng ta sẽ không thể mì ăn liền được Tailwind giúp xây dựng giao diện website một cách nhanh chóng thông qua các thuộc tính Css đã được viết thành những Class riêng, và việc của chúng ta là gọi các Class đó ra để sử dụng Điều này sẽ giúp kiểm soát được lượng code css cũng như dễ dàng loại

Trang 20

19

4 MongoDB

MongoDB là gì?

MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL hỗ trợ đa nền tảng

được thiết kế theo hướng đối tượng Các bảng (trong MongoDB gọi là

collection) có cấu trúc linh hoạt cho phép dữ liệu không cần tuân theo dạng cấu trúc nào Vậy cấu trúc của MongoDB là gì?

Hình 6 MongoDB là gì?

MongoDB là thuật ngữ không xa lạ về cơ sở dữ liệu trên máy tính

Vì thế, nó có thể dùng để lưu trữ dữ liệu có cấu trúc phức tạp và đa dạng Dữ liệu được gọi là Big Data Đặc biệt, chương trình này lưu trữ dữ liệu vào collection theo hướng tài liệu kiểu JSON thay vì bảng nên có hiệu suất cao và tính khả dụng cao

NoSQL là gì?

Hình 7 NoSQL

NoSQL và MongoDB có mối quan hệ với nhau

Trong khái niệm của MongoDB có nhắc đến NoSQL, vậy NoSQL là gì? NoSQL

(Non-Relational SQL) là dạng cơ sở dữ liệu mã nguồn mở được ra đời như một mô hình tiến bộ hơn về tốc độ, tính năng,… so với hệ quản trị cơ sở dữ liệu quan hệ

Trang 21

20

RDBMS NoSQL có kiểu dữ liệu JSON Đây là dạng dữ liệu kiểu key và value cùng với hiệu suất nhanh và khả năng mở rộng không bị ràng buộc bởi việc tạo khóa ngoại, khóa chính,… nên được ưa chuộng và sử dụng rất phổ biến

Tính năng của MongoDB là gì?

Hình 8 Tính năng của MongoDB

Ưu điểm của MongoDB là gì?

Hình 9 Ưu nhược điểm của MongoDB

MoongoDB có nhiều ưu điểm

Sử dụng MongoDB mang lại rất nhiều lợi ích đến người dùng

• Đầu tiên có thể nhắc đến là tính linh hoạt lưu trữ dữ liệu theo các kích cỡ khác nhau, dữ liệu dưới dạng hướng tài liệu JSON nên bạn có thể chèn vào thoải mái bất cứ thông tin gì bạn muốn

Khác với RDBMS, dữ liệu trong đây không có sự ràng buộc và không có yêu

cầu tuân theo khuôn khổ nhất định, điều này giúp bạn tiết kiệm thời gian cho việc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thay đổi các dữ liệu trong bảng

Trang 22

21

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

• Ưu điểm thứ tư là tốc độ truy vấn nhanh hơn nhiều so với hệ quản trị cơ sở dữ

liệu quan hệ RDBMS do dữ liệu truy vấn được cached lên bộ nhớ RAM để lượt

truy vấn sau diễn ra nhanh hơn mà không cần đọc từ ổ cứng

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

Các kiểu dữ liệu trong Mongoodb

String: Đây là kiểu dữ liệu được sử dụng phổ biến nhất để lưu giữ dữ liệu

Chuỗi trong MongoDB phải là UTF-8 hợp lệ

Number: Kiểu dữ liệu này được sử dụng để lưu một giá trị số Số nguyên có

thể là 32 bit hoặc 64 bit phụ thuộc vào Server của bạn

Boolean: Kiểu dữ liệu này được sử dụng để lưu giữ một giá trị Boolean

Mảng: Kiểu dữ liệu này được sử dụng để lưu giữ các mảng hoặc danh sách

hoặc nhiều giá trị vào trong một key

Timestamp: Giúp thuận tiện cho việc ghi chép hoặc đánh dấu thời điểm một

Document được sửa đổi hoặc được thêm vào

Object: Kiểu dữ liệu này được sử dụng cho các Document được nhúng vào

Null: Kiểu dữ liệu này được sử dụng để lưu một giá trị Null

Symbol: Kiểu dữ liệu này được sử dụng giống như một chuỗi, tuy nhiên, nói

chung nó được dành riêng cho các ngôn ngữ mà sử dụng kiểu symbol cụ thể

Date : Kiểu dữ liệu này được sử dụng để lưu giữ date và time hiện tại trong

định dạng UNIX time Bạn có thể xác định date time riêng cho bạn bằng việc tạo đối tượng Date và truyền ngày, tháng, năm vào trong đó

Object ID: Kiểu dữ liệu này được sử dụng để lưu giữ ID của Document

Trang 23

22

Binary data: Kiểu dữ liệu này được sử dụng để lưu giữ dữ liệu nhị phân

Code: Kiểu dữ liệu này được sử dụng để lưu giữ JavaScrip code vào trong

Document

Regular expression: Kiểu dữ liệu này được sử dụng để lưu giữ Regular

Expresion

Các lệnh cơ bản trong MongoDB

Ứng với các lệnh cơ bản của SQL thì chương trình này có các câu lệnh như sau:

’);

db.students.insert({name:’thanh’,gender:’male’});

Trang 24

23

Tìm kiếm

all

SELECT * FROM students; db.students.find({});

Tìm kiếm

SELECT * FROM students WHERE name

Việc này giúp chúng ta có thể tiết kiệm được thời gian, công sức, tiền bạc Giúp tốc độ ra sản phẩm cũng như cập nhật ứng dụng nhanh chóng mặt Có thể nói React Native là một cross-platform để xây dựng một ứng dụng di động hiệu quả

Ưu điểm

• Thời gian học ngắn hơn

• Khả năng tái sử dụng code

• Học 1 lần, viết ở mọi nơi

• Cộng đồng lớn

• Mã nguồn mở

Trang 25

24

Chương 2 PHÂN TÍCH MÔ HÌNH HỆ THỐNG

1 Phân tích yêu cầu

Mục tiêu của việc xây dựng trang web này nhằm giúp cho khách hàng có thể mua hàng trực tiếp từ xa thông qua mạng internet phổ biến Khách hàng ở nhà hay tại công ty vẫn có thể dễ dàng tham khảo thông tin sản phẩm mình tìm, so sánh giá cả các mặt hàng và lựa chọn cho mình loại sản phẩm phù hợp nhu cầu của mình, giúp công việc mua sắm một cách nhanh chóng, tiện lợi, tiết kiệm thời gian, đáp ứng được nhu cầu thực tế Hệ thống tìm kiếm dễ dàng, giao diện thân thiện Chỉ cần đăng nhập vào hệ thống với tài khoản đã có (nếu khách hàng đã là hội viên của cửa hàng) hay chỉ cần vài thao tác đăng kí đơn giản là khách hàng

có thể tự do chọn mua và tạo đơn đặt hàng tại hệ thống

2 Yêu cầu chức năng

Về giao diện

• -Lấy màu #fff và #06c1d4 là hai màu chủ đạo

• -Xây dựng, bố trí giao diện người dùng theo hướng tối giãn hiện đại, trực quan, dễ dàng sử dụng

Xem thông tin sản phẩm

- Bất cứ người dùng nào cũng có thể vào website xem thông tin của sản phẩm bao gồm:

• Giá bán

• Cấu hình

• Tình trạng

Trang 26

25

Về người dùng

Customer (Khách hàng): là khách hàng hay các công ty khác cần mua sản phẩm trên mạng Họ có thể chọn từng hãng điện thoại ưa thích Họ dạo quanh cửa hàng mua từng sản phẩm của các hãng điện thoại khác nhau, chọn sản phẩm bỏ vào giỏ hàng, tạo đơn đặt hàng cho nhà quản trị Customer là khách hàng thành viên đã đăng ký tài khoản và mật khẩu để tiện cho lần giao dịch tiếp theo Họ có thể thừa hưởng những chương trình khuyến mãi, giảm giá của cửa hàng (nếu có)

Free User (Khách hàng vãng lai): là những người chỉ xem sản phẩm trong danh mục nhưng chưa mua, có thể xem quảng cáo giá cả chất lượng sản phẩm Khách vãng lai muốn mua phải đăng ký thành viên

Về đăng kí, đăng nhập, đăng xuất

• Khi người dùng muốn thêm sản phẩm vào giỏ hàng, đặt hàng, xem lịch sử mua hàng hoặc nhận hỗ trợ tư vấn phải có tài khoản hoặc đăng kí tài khoản

• Để đăng kí tài khoản người dùng cần nhập số điện thoại, mật khẩu, xác nhận lại mật khẩu, mỗi số điện thoại chỉ đăng kí được duy nhất một tài khoản, số điện thoại phải là số và có 10 số, mật khẩu 8 kí tự trở lên, mật khẩu xác nhận phải khớp với mật khẩu đăng kí, khi nhấn vào nút đăng kí trình duyệt gửi request lên server nếu dữ liệu người dùng nhập vào đáp ứng các tiêu chí đã đặt ra sever sẽ mã hóa mật khẩu lưu dữ liệu người dùng vào cơ sở dữ liệu và thông báo thành công để người dùng đăng nhập vào hệ thống, nếu dữ liệu sai

sẽ thông báo cho người dùng đã nhập sai

• Khi đăng nhập người dùng cần nhập chính xác số điện thoại và mật khẩu đã đăng kí trước đó vào phần đăng nhập, nhấn nút đăng nhập

để tiến hành đăng nhập vào hệ thống, hệ thống tiếp nhận thông tin

và tiến hành kiểm tra, so khớp số điện thoại được gửi lên và các số điện thoại có trong cơ sở dữ liệu, nếu không tìm thấy sẽ thông báo “

Trang 27

26

Tài khoản không tồn tại “, nếu tìm được số được số điện thoại sẽ so khớp mật khẩu, nếu mật khẩu không trùng với mật khẩu mã hóa hệ thống sẽ thông báo với người dùng “ Mật khẩu không chính xác “, nếu cả mật khẩu và số điện thoại chính xác hệ thông sẽ tạo một access token trả về cho người dùng Access token dùng cho mục đích xác thực và sử dụng API của hệ thống

• Khi người dùng đăng xuất hệ thống sẽ vô xóa access token của người dùng, người dùng không thể sử dụng các chức năng cần xác thực

Về thêm sản phẩm vào giỏ hàng

• Người dùng cần đăng nhập để thêm một sản phẩm vào giỏ hàng của mình

• Giỏ hàng sẽ hiển thị các sản phẩm người dùng đã thêm, số lượng, đơn giá và thành tiền

• Người dùng có thể thêm sản phẩm mới, thêm bớt số lượng, cũng như xóa bớt

Về chức năng tìm kiếm và lọc sản phẩm

• Người dùng nhập từ khóa hoặc tên sản phẩm vào mục tìm kiếm, hệ thống sẽ tìm những thông tin có trên cơ sở dữ liệu trả về cho người dùng

Trang 28

27

• Có thể sắp xếp kết quả tìm kiếm theo:

+ Giá tăng dần, giảm dần + Phân loại theo thương hiệu + Phân loại theo cấu hình sản phẩm + Phân loại theo danh mục

Trang 29

28

3 Quy trình mô hình hóa

Quy trình mô hình hóa cửa hàng bán điện thoại di động

Hình 10 Quy trình mô hình hóa cửa hàng bán điện thoại

Mô hình được mô tả như sau:

• Quy trình 1: Khi trang chủ được hiển thị, khách hàng có thể xem sản phẩm của các hãng điện thoại có trong danh mục, các sản phẩm này có thể trùng nhau về tên, về loại sản phẩm nhưng chỉ có người quản trị phân biệt được sản phẩm nào thuộc hãng điện thoại nào

• Quy trình 2: Sau khi đã chọn được sản phẩm, khách hàng sẽ cho vào giỏ hàng

• Quy trình 3: Trong giỏ hàng của mình, khách hàng có thể cập nhật số lượng, thêm hoặc bớt đi sản phẩm

• Quy trình 4: Khách hàng sẽ lập đơn đặt hàng sau khi đã quyết định chọn những sản phẩm có trong giỏ hàng

• Quy trình 5: Phiên giao dịch sẽ kết thúc khi khách hàng đặt xong đơn đặt hàng

Trang 30

29

Quy trình mua hàng của khách hàng

Hình 11 Quy trình mua hàng của khách hàng

Quy trình mua hàng của khách hàng trong cửa hàng như sau:

Có hai loại khách hàng:

Nếu khách hàng đã là thành viên của cửa hàng khi đó khách hàng đăng nhập vào tài khoản của mình (tên đăng nhập, mật khẩu) thành công sẽ chào mừng khách hàng vào cửa hàng Sau đó, khách hàng tham quan và dạo quanh cửa hàng trực tuyến, xem các thông tin chi tiết của từng sản phẩm của tất cả các hãng điện thoại Nếu khách hàng đồng ý sản phẩm nào thì cho hàng vào giỏ hàng ảo tương ứng với nút “Thêm vào” Khách hàng có thể chọn nhiều sản phẩm vào giỏ hàng và cập nhật lại số lượng sản phẩm (trở lại mua hàng tiếp, xóa một sản phẩm trong giỏ hàng…) Sau khi hoàn thành xong việc chọn hàng nếu khách hàng đồng ý đặt hàng sẽ click vào nút “Tạo đơn đặt hàng” để lập đơn đặt hàng Cuối cùng kết thúc phiên giao dịch và giỏ hàng ảo sẽ được xóa trong cơ sở dữ liệu, đơn đặt hàng sẽ được lưu vào dữ liệu đơn đặt hàng

Trang 31

30

của cửa hàng Nếu khách hàng mua hàng lần đầu tiên của cửa hàng thì khách hàng phải đăng ký thành viên của cửa hàng để tiện lợi cho những lần giao dịch tiếp theo thì cửa hàng yêu cầu nhập đầy đủ thông tin khách hàng Khi việc đăng ký thành công khách hàng sẽ có một tài khoản trên cửa hàng là tên đăng nhập và mật khẩu cho những lần giao dịch tiếp theo Sau đó quy trình mua hàng diễn ra giống như mô tả khách hàng đã là thành viên như trên

4 Xác định các tác nhân

• Khách hàng tiềm năng: là người dùng chưa đăng kí tài khoản

• Khách hàng: là người dùng đã đăng kí tài khoản trong hệ thống

• Quản trị viên: quản lí các hoạt động của hệ thống,…

5 Xác định các use case của tác nhân

Khách hàng tìm năng

Khách hàng tìm năng có các use case sau:

• Xem thông tin sản phẩm

• Thêm, xóa, sửa giỏ hàng

• Chỉnh sửa thông tin cá nhân

• Đánh giá sản phẩm

Ngày đăng: 14/12/2022, 17:05

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w