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

Lập trình Ứng dụng web bằng nodejs, vuejs, mongodb

53 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 đề Lập trình ứng dụng web bằng NodeJS, VueJS, Mongodb
Tác giả Lê Văn Minh
Người hướng dẫn THS. Phạm Tiến Huy
Trường học Trường Đại học Mở Hà Nội
Chuyên ngành Công nghệ Kỹ thuật Điện Tử-Viễn Thông
Thể loại Báo cáo đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 53
Dung lượng 4,85 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN MẠNG MÁY TÍNH, ỨNG DỤNG WEB (11)
    • 1.1. Internet là gì? (11)
    • 1.2. Internet hoạt động như thế nào? (11)
    • 2.1. HTTP là gì? (12)
    • 2.2. Cách hoạt động của giao thức HTTP là gì? (12)
    • 3.1. Boostrap 4 là gì? (13)
    • 3.2. Tại sao sử dụng Boostrap (13)
    • 4.1. Javascript là gì? (13)
    • 4.2. Javascript dùng để làm gì? (14)
    • 4.3. Javascript hoạt động như thế nào? (15)
    • 4.4. Thư viện Javascript là gì? (17)
    • 4.5. Khung javascript là gì? (18)
    • 4.6. Javascript mang lại những lợi ích gì? (19)
    • 4.7. Javascript có những giới hạn gì? (20)
    • 4.8. TypeScript là gì? (20)
    • 4.9. SDK AWS cho JavaScript là gì? (21)
    • 4.10. AWS Amplify dành cho JavaScript là gì? (21)
    • 5.1. Jquery là gì? (21)
    • 5.2. Jquery có công dụng gì? (21)
  • CHƯƠNG 2: TÌM HIỂU VỀ CÔNG NGHỆ SỬ DỤNG (23)
    • 1. Giới thiệu về VueJS (23)
      • 1.1. VueJS là gì? (23)
      • 1.2. Ưu điểm và nhược điểm của VueJS (23)
    • 2. Giới thiệu về NodeJS (24)
      • 2.1. NodeJS là gì? (24)
      • 2.2. Ưu điểm và nhược điểm của NodeJS (24)
      • 2.3. Cấu trúc của NodeJS (25)
      • 2.4. Hướng dẫn cài đặt và khai báo cho NodeJS (26)
      • 3.1. Mongodb là gì? (27)
      • 3.2. Các feature của MongoDB gồm có (27)
      • 3.3. Khi nào sử dụng Mongodb? (28)
      • 3.4. Ưu điểm và nhược điểm của Mongodb (28)
  • CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (30)
    • 1. Đặt vấn đề (30)
    • 2. Mục đích (30)
      • 5.1. Phân tích nghiệp vụ (31)
      • 5.2. Thiết kế chức năng (31)
      • 5.2. Biểu đồ phân cấp chức năng (32)
      • 5.4. Biểu đồ luồng dữ liệu (34)
      • 5.5. Biểu đồ usecase (35)
      • 5.6. Biểu đồ tuần tự (37)
      • 6.1. Xác định các thực thể và các thuộc tính cho thực thể, loại bỏ các thuộc tính dẫn xuất (45)
      • 6.2. Sơ đồ ER (46)
      • 6.3. Sơ Đồ RM (47)
  • CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN (52)
  • TÀI LIỆU THAM KHẢO (53)

Nội dung

Ngày nay, cùng với sự phát triển của đất nước ngành Công nghệ thông tin đã có những bước phát triển mạnh mẽ không ngừng và tin học đã trở thành chiếc chìa khóa dẫn đến thành công cho nhiều cá nhân trong nhiều lĩnh vực, hoạt động. Với những ứng dụng của mình, ngành Công nghệ thông tin đã góp phần mang lại nhiều lợi ích mà không ai có thể phủ nhận được. Đặc biệt là trong lĩnh vực quản lý kinh tế, tin học đã góp phần tạo ra sự thay đổi nhanh chóng cho bộ mặt xã hội. Nhất là khi việc tin học hóa vào công tác quản lý, bán hàng là một trong những yêu cầu cần thiết đối với các doanh nghiệp hiện nay. Từ những phần mềm quản lý giúp cho công việc bán hàng của cửa hàng trở nên nhanh chóng và dễ dàng, ngày nay công nghệ thông tin đã phát triển mạnh mẽ hơn nữa, Website ra đời không chỉ đáp ứng cho các khách hàng đến trực tiếp cửa hàng mua sản phẩm mà nó còn phục vụ cho những khách hàng ở xa. Không những thế, việc giới thiệu, quảng bá hình ảnh về cửa hàng, công ty được mở rộng trên quy mô lớn giúp cho việc kinh doanh, buôn bán, trao đổi tin tức thuận lợi hơn rất nhiều, mang lại hiệu hiệu quả kinh tế cao hơn và tạo uy tín trong lòng khách hàng. Chính vì lợi ích mà Website mang lại mà các cửa hàng, công ty đã áp dụng nó để phát triển công việc kinh doanh và giới thiệu cửa hàng của mình. Trong số đó, thời trang cũng là một ngành sử dụng nhiều đến Website. Do vậy, em lựa chọn đề tài “Thiết kế ứng dụng web thương mại điện bán quần áo AndShop” nhằm đưa đến cho khách hàng một địa điểm lý tưởng trong việc mua sắm.

TỔNG QUAN MẠNG MÁY TÍNH, ỨNG DỤNG WEB

Internet là gì?

Internet là một mạng lưới các mạng Nó hoạt động bằng cách sử dụng một kỹ thuật gọi là chuyển mạch gói, và dựa trên các giao thức mạng được chuẩn hóa mà tất cả các máy tính đều có thể thông dịch.

Trước khi chúng ta đề cập đến Internet là gì, chúng ta phải định nghĩa “mạng” là gì Mạng là một nhóm các máy tính được kết nối có thể gửi dữ liệu cho nhau Mạng máy tính cũng giống như một mạng xã hội, là một nhóm người quen biết nhau, thường xuyên trao đổi thông tin và phối hợp hoạt động với nhau.

Internet là một tập hợp rộng lớn, trải dài các mạng kết nối với nhau Trên thực tế, từ

“Internet” có thể được nói đến từ khái niệm này: các công trình mạng liên kết

Vì các máy tính kết nối với nhau trong các mạng và tất cả các mạng này cũng kết nối với nhau nên một máy tính này có thể nói chuyện với một máy tính khác trong một mạng ở xa nhờ Internet Điều này làm cho nó có thể nhanh chóng trao đổi thông tin giữa các máy tính trên toàn thế giới.

Các máy tính kết nối với nhau và với Internet qua dây, cáp, sóng vô tuyến và các loại cơ sở hạ tầng mạng khác Tất cả dữ liệu được gửi qua Internet được dịch thành xung ánh sáng hoặc điện, còn được gọi là “bit”, và sau đó được máy tính nhận thông dịch Dây, cáp và sóng vô tuyến dẫn các bit này với tốc độ ánh sáng Càng nhiều bit có thể đi qua các dây và cáp này cùng một lúc, Internet hoạt động càng nhanh.

Internet hoạt động như thế nào?

Có hai khái niệm chính cơ bản cho cách thức hoạt động của Internet: gói và giao thức

Trong mạng, một gói tin là một đoạn nhỏ của một bản tin lớn hơn Mỗi gói chứa cả dữ liệu và thông tin về dữ liệu đó Thông tin về nội dung của gói được gọi là “tiêu đề”, và nó nằm ở phía trước của gói để máy nhận biết phải làm gì với gói Để hiểu mục đích của tiêu đề gói, hãy nghĩ đến cách một số sản phẩm tiêu dùng có hướng dẫn lắp ráp.

Khi dữ liệu được gửi qua Internet, trước tiên nó được chia thành các gói nhỏ hơn, sau đó được dịch thành các bit Các gói được định tuyến đến đích của chúng bằng các thiết bị mạng khác nhau như bộ định tuyến và bộ chuyển mạch Khi các gói đến đích, thiết bị nhận sẽ tập hợp lại các gói theo thứ tự và sau đó có thể sử dụng hoặc hiển thị dữ liệu.

So sánh quá trình này với cách xây dựng Tượng Nữ thần Tự do của Hoa Kỳ Tượng

Nữ thần Tự do được thiết kế và xây dựng đầu tiên tại Pháp Tuy nhiên, nó quá lớn để có thể đặt vừa lên một con tàu, vì vậy nó đã được chuyển đến Hoa Kỳ theo từng mảnh, cùng với hướng dẫn về vị trí của từng mảnh Những người thợ nhận các mảnh ghép lại đã ráp chúng lại thành bức tượng có tên tuổi ở New York ngày nay.

Mặc dù việc này mất nhiều thời gian đối với Tượng Nữ thần Tự do, nhưng việc gửi thông tin kỹ thuật số ở các phần nhỏ hơn lại cực kỳ nhanh chóng qua Internet Ví dụ: một bức ảnh về Tượng Nữ thần Tự do được lưu trữ trên máy chủ web có thể đi khắp thế giới từng gói một và tải trên máy tính của ai đó trong vòng mili giây.

Các gói được gửi qua Internet bằng kỹ thuật gọi là chuyển mạch gói Các bộ định tuyến và bộ chuyển mạch trung gian có thể xử lý các gói một cách độc lập với nhau mà không cần tính đến nguồn hoặc đích của chúng Đây là thiết kế để không có kết nối đơn lẻ nào thống trị mạng Nếu dữ liệu được gửi giữa tất cả các máy tính cùng một lúc mà không có chuyển mạch gói, kết nối giữa hai máy tính có thể chiếm nhiều cáp, bộ định tuyến và bộ chuyển mạch trong vài phút tại một thời điểm Về cơ bản, chỉ có hai người có thể sử dụng Internet tại một thời điểm – thay vì số lượng gần như không giới hạn, như trường hợp thực tế.

Kết nối hai máy tính, cả hai đều có thể sử dụng phần cứng khác nhau và chạy phần mềm khác nhau, là một trong những thách thức chính mà những người tạo ra Internet phải giải quyết Nó yêu cầu sử dụng các kỹ thuật giao tiếp mà tất cả các máy tính được kết nối đều có thể hiểu được, cũng như hai người lớn lên ở những nơi khác nhau trên thế giới có thể cần phải nói một ngôn ngữ chung để hiểu nhau.

Vấn đề này được giải quyết với các giao thức chuẩn hóa Trong mạng, giao thức là một cách thức chuẩn hóa để thực hiện các hành động nhất định và định dạng dữ liệu để hai hoặc nhiều thiết bị có thể giao tiếp và hiểu nhau.

Có các giao thức để gửi các gói giữa các thiết bị trên cùng một mạng (Ethernet), để gửi các gói từ mạng này sang mạng ( IP ), để đảm bảo các gói đó đến thành công theo thứ tự ( TCP ) và để định dạng dữ liệu cho các trang web và ứng dụng ( HTTP ) Ngoài các giao thức nền tảng này, còn có các giao thức để định tuyến, kiểm tra và mã hóa Và có những lựa chọn thay thế cho các giao thức được liệt kê ở trên cho các loại nội dung khác nhau – ví dụ: phát trực tuyến video thường sử dụng UDP thay vì TCP.

Bởi vì tất cả các máy tính kết nối Internet và các thiết bị khác có thể diễn giải và hiểu các giao thức này, nên Internet hoạt động bất kể ai hoặc cái gì kết nối với nó.

HTTP là gì?

"HTTP " là chữ viết tắt của từ "hyper text transfer protocol" hay còn gọi là "giao thức truyền tải siêu văn bản" HTTP là giao thức được ứng dụng trong một nhóm các giao thức nền tảng cho internet ( giao thức TCP/IP) Với những người thường xuyên sử dụng internet thì cụm từ HTTP có lẽ là quá quen thuộc.

Cách hoạt động của giao thức HTTP là gì?

"HTTP" là hoạt động dựa trên mô hình Client - Server Trong mô hình này các máy tính của người dùng sẽ đóng vai trò là máy khác.HTTP hoạt động dựa trên mô hình Client – Server Ở trong mô hình này các máy tính của người dùng sẽ đóng vai trò là

Sau một thao tác người dùng sẽ được gưi yêu cầu đến máy chủ và chờ đợi câu trả lời từ máy chủ Vậy để có thể nói chuyện được với nhau thì máy chủ và máy khách sẽ thực hiện trao đổi thông qua các giao thức. Ở mô hình này các máy tính của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một vài thao tác nào đó của người dùng hay các máy khách sẽ gửi yêu cầu đến máy chủ và chờ đợi những câu trả lời từ những máy chủ này Muốn hiểu nhau thì các máy chủ và máy khách phải thực hiện việc trao đổi thông qua các giao thức Một trong những giao thức được sử dụng thường xuyên nhất chính là HTTP.Vậy vì sao khi ta gõ địa chỉ một trang web mà tự nhiên nó trả về cho mình một kết quả như ý muốn chưa? khi ta bắt đầu gõ lệnh trên địa chỉ web url thì nó sẽ tạo ra một lệnh HTTP để gửi lên web server và web sever sẽ trả về cho bạn một trang web đúng yêu cầu Bạn đã hiểu HTTP là gì? chưa nào? nói một cách đơn giản thì nó là một giao thức giúp cho truyền tải một file từ web sever về trình duyệt web của mình.

Kết Luận: "HTTP" là hoạt động dựa trên mô hình Client - Server Trong mô hình này các máy tính của người dùng sẽ đóng vai trò là máy khác HTTP hoạt động dựa trên mô hình Client – Server Ở trong mô hình này các máy tính của người dùng sẽ đóng vai trò là máy khách

Boostrap 4 là gì?

Bootstrap 4 (viết tắt là BS4), là phiên bản mới nhất của Bootstrap Bootstrap là framework HTML, CSS và Javascript phổ biến nhất hiện nay để thiết kế website có thể đáp ứng trên tất cả các nền tảng di động và các thiết bị khác như máy tính bảng, laptop, … Tương tự như Bootstrap 3 phiên bản cũ, Bootstrap 4 hoàn toàn miễn phí và tự do sử dụng.

Tại sao sử dụng Boostrap

 Dễ dùng: bất cứ ai với kiến thức cơ bản về HTML và CSS đều cũng có thể sử dụng được Bootstrap

 Các tính năng đáp ứng: Bootstrap thích hợp, tương thích (reponsive) với điện thoại, máy tính bảng và máy tính để bàn (laptop, dektop).

 Tiếp cận ưu tiên thiết bị di động đầu tiên: Trong Bootstrap, các phong cách điện thoại di động là một phần của framework lõi.

 Tương thích trình duyệt: Bootstrap 4 tương thích với các trình duyệt hiện đại (Chrome, Firefox, Internet Explorer 10+, Edge, Safari, and Opera).

Javascript là gì?

JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương tác Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang web Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web Ví dụ: khi duyệt internet, bất cứ khi nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả xuống nhấp để hiển thị hoặc màu sắc

TÍNH phần tử thay đổi động trên trang web cũng chính là lúc bạn thấy các hiệu ứng củaJavaScript.

Javascript dùng để làm gì?

Javascript vẫn là một trong những ngôn ngữ phổ biến nhất hiện nay Và mỗi một doanh nghiệp sử dụng ngôn ngữ lập trình này đều sẽ có những mục đích khác nhau. Hiện tại Javascript có rất nhiều những ứng dụng, dưới đây là những cách sử dụng ngôn ngữ này:

Javascript là gì và ứng dụng như thế nào trong phát triển web? Ngôn ngữ lập trình này giúp cho các trang web trở nên động Javascript giúp cho người dùng có thể dễ dàng tương tác với các tính năng trên web hơn Có nghĩa rằng người dùng khi tương tác bằng cách nhập những thông tin vào các trường dữ liệu Hoặc điền thông tin vào biểu mẫu đăng ký thì Javascript sẽ giúp xác thực lại các thông tin trên website.

Ngoài ra ngôn ngữ lập trình Javascript còn hỗ trợ thêm các ứng dụng như Flash, PD… Chúng cho phép người dùng có thể tải nội dung lên website.

4.2.2 Xây dựng các ứng dụng web Đối với các trang web mà không có ngữ cảnh web thì Javascript cũng hỗ trợ để xây dựng để web Javascript sẽ tương tác trực tiếp với các trình duyệt thay vì gửi tin nhắn qua máy chủ Vì thế các nhà lập trình và phát triển website sẽ xây dựng các ứng dụng cũng như phát triển web nhanh hơn.

Nhu cầu giải trí của mọi người ngày càng nhiều, vì thế một ngôn ngữ để phát triển những trò chơi trên ứng dụng thiết bị cầm tay mà không cần sử dụng đến bàn phím rất quan tâm Javascript đã được ứng dụng để tạo ra những trò chơi hấp dẫn như: Angry Birds, Polycraft và Bejeweled.

Có rất nhiều các công cụ và thư viện khác nhau, ngoài ra các biến thể của những ngôn ngữ web có thể sử dụng để tạo ra kho ứng dụng trò chơi tương tác.

Javascript cung cấp cho lập trình viên những giải pháp đơn giản với nhiều đồ họa phong phú, hữu ích cho các việc tạo trò chơi.

4.2.4 Sử dụng để tạo máy chủ web

Javascript khi kết hợp với khung Node JS có thể sử dụng để tạo máy chủ web Node

JS có chức năng chuyển sang tác vụ tiếp theo một cách nhanh chóng mà không cần chuyển một lượng lớn dữ liệu, vậy nên các máy chủ web Javascript rất nhanh.

Máy chủ Javascript hỗ trợ các nhà phát triển web dễ dàng xử lý đồng thời cũng như xác định các lỗi khó phát hiện trong quy trình đa luồng.

4.2.5 Phát triển ứng dụng di động

Các ứng dụng di động trên các hệ điều hành nền tảng IOS hay Android thì đều dùngJavascript để phát triển jQuery Mobile, React Native, Apache Cordova và Titanium là khung Javascript được sử dụng rộng rãi nhất hiện nay cho các ứng dụng.

TÍNH Đa số những khung này đều là miễn phí và mã nguồn mở với các cộng đồng hỗ trợ cung cấp những tài liệu Những khung Javascript này thường có dung lượng nhẹ, thế nên cho pháp các ứng dụng tỉa một cách nhanh chóng Ngoài ra chúng còn hỗ trợ các kích thước hiển thị và độ phân giải của màn hình.

4.2.6 Trình bày và trình chiếu

JavaScript kết hợp với Bespoke JS có thể dùng để tạo trình chiếu và trình chiếu những tương tác trên website.

Các thư viện này cho phép người dùng thêm những hình ảnh và các yếu tố tương tác liên quan Vì thế người dùng không có kinh nghiệm nào vẫn có thể tương tác và sử dụng để biến hóa bản trình chiếu của mình sao cho đẹp nhất.

Các bản trình chiếu mẫu này phù hợp với cấu hình thiết bị cầm tay như điện thoại di động hoặc máy tính bảng Có rất nhiều các phong cách, màu sắc và chủ đề để người dùng có thể lựa chọn.

Javascript hoạt động như thế nào?

Ngay thời điểm hiện tại, các kiến trúc 5G được đề xuất từ các trang công nghệ nổi tiếng đã được đưa ra nhưng vẫn chưa được ITU công nhận Đa phần các kiến trúc đều xét ở phương diện cơ sở hạ tầng 5G Theo báo cáo của ITU như đã trình bày ở phần 3.2, 5G không chỉ dừng lại ở mức cơ sở hạ tầng nữa mà còn là các phương diện khác như dịch vụ kèm theo đặc biệt là IoT Không những vậy, để đạt được IoT thì cần có một nền tảng để thực hiện dịch vụ này. Để đạt được 5 điều kiện như đã phân tích ở phần 3.2, mục tiêu cuối cùng cũng như nhu cầu hệ thống 5G sẽ bao gồm 3 thành phần và sẽ là kiến trúc tổng quát của 5G như sau:

1 - Các dịch vụ 5G sáng tạo

2 - Nền tảng cho phép để thực hiện các dịch vụ sáng tạo

3 - Cơ sở hạ tầng tốc độ siêu cao

Dựa trên phân tích này, hệ thống 5G sẽ bao gồm ba lớp Dịch vụ Đổi mới, Nền tảng Cho phép và Cơ sở hạ tầng Siêu kết nối trong kiến trúc mức cao

Tất cả các ngôn ngữ lập trình đều hoạt động bằng cách dịch cú pháp giống tiếng Anh thành mã máy, hệ điều hành sau đó sẽ chạy mã này JavaScript được phân loại khái quát là một ngôn ngữ viết tập lệnh hoặc một ngôn ngữ diễn giải Mã JavaScript được diễn giải, tức là được công cụ JavaScript dịch trực tiếp sang mã ngôn ngữ máy cơ bản.Với các ngôn ngữ lập trình khác, trình biên dịch sẽ biên dịch toàn bộ mã thành mã

TÍNH máy trong một bước riêng Như vậy, tất cả các ngôn ngữ viết tập lệnh đều là ngôn ngữ lập trình, nhưng không phải tất cả các ngôn ngữ lập trình đều là ngôn ngữ viết tập lệnh.

Công cụ JavaScript là một chương trình máy tính chạy mã JavaScript Các công cụ JavaScript đầu tiên chỉ là bộ diễn giải, nhưng tất cả các công cụ hiện đại đều sử dụng biên dịch tại chỗ hoặc thời gian chạy để cải thiện hiệu suất.

JavaScript phía máy khách đề cập đến cách thức JavaScript hoạt động trong trình duyệt của bạn Trong trường hợp này, công cụ JavaScript nằm trong mã trình duyệt. Tất cả các trình duyệt web phổ biến đều có các công cụ JavaScript tích hợp riêng.

Các nhà phát triển ứng dụng web viết mã JavaScript với các hàm khác nhau được liên kết với nhiều loại sự kiện, chẳng hạn như nhấp chuột hoặc khi di chuột đến Các hàm này thực hiện các thay đổi đối với HTML và CSS.

Sau đây là tổng quan về cách thức hoạt động của JavaScript phía máy khách: a Trình duyệt tải một trang web khi bạn truy cập trang đó. b Trong khi tải, trình duyệt chuyển đổi trang và tất cả các phần tử của trang, chẳng hạn như các nút, nhãn và hộp thả xuống, thành một cấu trúc dữ liệu được gọi là Mô hình đối tượng tài liệu (DOM). b Công cụ JavaScript của trình duyệt chuyển đổi mã JavaScript thành mã bytecode.

Mã này đóng vai trò là trung gian giữa cú pháp JavaScript và máy. c Các sự kiện khác nhau, chẳng hạn như nhấp vào nút, sẽ kích hoạt việc thực thi khối mã JavaScript được liên kết Sau đó, công cụ này sẽ diễn giải bytecode và thực hiện các thay đổi đối với DOM. d Trình duyệt hiển thị DOM mới.

JavaScript phía máy chủ đề cập đến việc sử dụng ngôn ngữ viết mã trong logic máy chủ back-end Trong trường hợp này, công cụ JavaScript nằm trực tiếp trên máy chủ. Hàm JavaScript phía máy chủ có thể truy cập cơ sở dữ liệu, thực hiện các phép toán logic khác nhau và phản hồi nhiều loại sự kiện do hệ điều hành của máy chủ kích hoạt. Ưu điểm chính của viết tập lệnh phía máy chủ là bạn có khả năng tùy chỉnh linh hoạt phản hồi của trang web dựa trên yêu cầu và quyền truy cập của mình cũng như theo yêu cầu thông tin từ trang web.

4.3.4 So sánh giữa phía máy khách và phía máy chủ

Từ linh hoạt đúng với cả JavaScript phía máy khách và phía máy chủ Hành vi linh hoạt là khả năng cập nhật phần hiển thị của trang web để tạo nội dung mới theo yêu cầu Sự khác biệt giữa JavaScript phía máy khách và phía máy chủ nằm ở cách chúng tạo ra nội dung mới Mã phía máy chủ tạo nội dung mới một cách linh hoạt bằng cách sử dụng logic ứng dụng và sửa đổi dữ liệu từ cơ sở dữ liệu Mặt khác, JavaScript phía máy khách tạo nội dung mới một cách linh hoạt bên trong trình duyệt thông qua sử dụng logic giao diện người dùng và sửa đổi nội dung trang web đã có trên máy khách. Ý nghĩa hơi khác biệt ở hai ngữ cảnh nhưng có sự liên quan đến nhau và cả hai cách tiếp cận này đều cùng nhau nâng cao trải nghiệm người dùng.

Ngoài việc triển khai các tính năng linh hoạt, một điểm khác biệt nữa giữa hai cách sử dụng JavaScript là ở tài nguyên mà mã có thể truy cập Về phía máy khách, trình duyệt kiểm soát môi trường thời gian chạy của JavaScript Mã chỉ có thể truy cập những tài nguyên mà trình duyệt cho phép truy cập Ví dụ: mã không thể ghi nội dung vào ổ cứng của bạn trừ khi bạn nhấp vào nút tải xuống Mặt khác, các hàm phía máy chủ có thể truy cập tất cả các tài nguyên của máy chủ khi cần thiết.

Thư viện Javascript là gì?

Thư viện JavaScript là tập hợp các đoạn mã viết sẵn mà các nhà phát triển web có thể tái sử dụng để thực hiện các hàm JavaScript chuẩn Mã thư viện JavaScript được gắn vào phần còn lại của mã dự án khi cần thiết Nếu bạn coi mã ứng dụng JavaScript như một ngôi nhà thì các thư viện JavaScript sẽ giống như đồ nội thất làm sẵn mà các nhà phát triển có thể sử dụng để cải thiện chức năng của ngôi nhà.

Sau đây là một số cách sử dụng thư viện JavaScript phổ biến:

4.4.1 Trực quan hóa dữ liệu

Trực quan hóa dữ liệu có ý nghĩa rất quan trọng để người dùng xem số liệu thống kê, chẳng hạn như trong bảng điều khiển quản trị, bảng thông tin và chỉ số hiệu suất.

Các thư viện như Chart.js, ApexCharts và Algolia Places có các hàm tích hợp mà bạn có thể sử dụng để tạo các ứng dụng web hiển thị dữ liệu ở dạng biểu đồ và bản đồ.

Bạn có thể sử dụng các thư viện như jQuery và Umbrella JS để dễ dàng phát triển web vì những thư viện này cung cấp mã cho các chức năng tiêu chuẩn của trang web như hoạt ảnh menu, thư viện hình ảnh, nút, cửa sổ bật lên làm tối nền, v.v.

Tất cả các công việc phát triển web đều sử dụng các biểu mẫu để khách truy cập trang web liên hệ với ai đó, đặt mua sản phẩm và đăng ký tham gia các sự kiện Một số thư viện JavaScript, chẳng hạn như wForms, LiveValidation, Validanguage và qForms, đơn giản hóa các chức năng biểu mẫu, bao gồm xác thực biểu mẫu, bố cục, điều kiện và chuyển đổi.

4.4.4 Các hàm toán học và văn bản

Nhiều ứng dụng web phải giải các phương trình toán học và xử lý ngày, giờ cũng như văn bản Thay vì gửi tất cả các yêu cầu đó đến máy chủ, việc xử lý một số yêu cầu ở phía máy khách sẽ hiệu quả hơn Các nhà phát triển web thực hiện việc này bằng cách sử dụng các thư viện JavaScript như Date.js, Sylvester và JavaScript URLLibrary

Khung javascript là gì?

Giống như các thư viện JavaScript, các khung JavaScript là một tập hợp các đoạn mã viết sẵn thực hiện các chức năng khác nhau và có thể được tái sử dụng Tuy nhiên, trong khi các thư viện JavaScript là một công cụ chuyên biệt để sử dụng theo nhu cầu thì các khung JavaScript là một bộ công cụ hoàn chỉnh giúp định hình và tổ chức bất kỳ ứng dụng web nào Nếu bạn coi mã ứng dụng JavaScript như một ngôi nhà thì khung JavaScript là kế hoạch chi tiết được sử dụng để xây dựng ngôi nhà đó. Dưới đây là một số ví dụ về trường hợp cần sử dụng các khung JavaScript:

4.5.1 Phát triển ứng dụng web và di động

AngularJS là một khung giúp đơn giản hóa việc phát triển và kiểm thử các ứng dụng web, chẳng hạn như ứng dụng thương mại điện tử, ứng dụng thời gian thực và ứng dụng video React Native là một khung khác hỗ trợ phát triển ứng dụng di động dành cho iOS và Android được kết xuất trên chính nền tảng đó.

4.5.2 Phát triển web có khả năng tương thích

Các trang web có khả năng tương thích mang lại trải nghiệm người dùng nhất quán trên mọi thiết bị Ví dụ: màn hình điện thoại di động và máy tính bảng nhỏ hơn màn hình máy tính để bàn và máy tính xách tay Bạn muốn trang web hiển thị và trình bày dữ liệu chính xác ngay cả trên màn hình nhỏ hơn, chẳng hạn như không cắt bỏ phần cuối của trang web Sử dụng các khung như Bootstrap và Ember.js, các nhà phát triển có thể hưởng lợi từ thiết kế có khả năng tương thích và dễ dàng tùy chỉnh diện mạo của trang web trên nhiều nền tảng khác nhau.

4.5.3 Phát triển ứng dụng phía máy chủ

Node.js là một khung JavaScript nguồn mở phía máy chủ chạy mã JavaScript bên ngoài trình duyệt Các nhà phát triển sử dụng khung này để xây dựng các ứng dụng phía máy chủ dựa trên mạng hoạt động nhanh chóng, đáng tin cậy và có khả năng mở rộng Khung này có thể xử lý các yêu cầu và luồng dữ liệu HTTP, hỗ trợ hệ thống tệp và quản lý đồng thời nhiều quy trình backend.

Javascript mang lại những lợi ích gì?

4.6.1 Dễ dàng học và sử dụng

Cú pháp của JavaScript được lấy cảm hứng từ ngôn ngữ lập trình Java, rất dễ để học và viết mã Các nhà phát triển sử dụng JavaScript trong hầu hết các trang web và ứng dụng di động để viết tập lệnh phía máy khách Node.js cũng đã trở nên hết sức phổ biến đối với việc viết mã backend trong thập kỷ qua Nhiều nền tảng phát trực tuyến và video phổ biến đã được viết mã bằng Node.js.

4.6.2 Có thể không phụ thuộc vào nền tảng

Không giống như các ngôn ngữ lập trình khác, bạn có thể chèn JavaScript vào bất kỳ trang web nào và sử dụng với nhiều ngôn ngữ và khung phát triển web khác Sau khi viết, bạn có thể chạy mã JavaScript trên bất kỳ máy nào Do đó, với JavaScript, việc phát triển ứng dụng có thể không phụ thuộc vào nền tảng.

Bạn có thể sử dụng JavaScript để giảm tải máy chủ và tắc nghẽn mạng vì JavaScript có thể chạy các phép toán logic và thực hiện nhiều công việc của máy chủ trên chính máy khách Ví dụ: hãy xem xét quá trình điền một biểu mẫu đăng ký JavaScript nhanh chóng kiểm tra xem bạn đã nhập số có 10 chữ số cho trường điện thoại di động hay chưa Nếu những yêu cầu này được gửi đến máy chủ, trang của bạn sẽ tải lại mỗi khi có lỗi, làm cho quá trình đăng ký rất chậm chạp và tẻ nhạt.

4.6.4 Cải thiện giao diện người dùng

JavaScript tạo ra các trang web tinh tế giúp thuận tiện trong việc tìm kiếm và xử lý thông tin phức tạp Các nhà phát triển áp dụng JavaScript để mở rộng chức năng và độ dễ đọc cũng như để tương tác giữa người dùng và trang web hiệu quả hơn.

JavaScript có thể chạy song song nhiều tập hợp hướng dẫn khác nhau Về phần backend, Node.js có thể giải quyết và xử lý các phản hồi của máy chủ được mở rộng quy mô mà không tiêu tốn cùng một lượng băng thông để làm việc đó.

Javascript có những giới hạn gì?

Javascript có thể lưu trữ bất kỳ kiểu dữ liệu nào trong thời gian chạy và các phép toán sẽ giả Ngôn ngữ lập trình sử dụng các biến làm phần giữ chỗ cho các giá trị dữ liệu thực tế Ví dụ: trong một khối mã, nhà phát triển có thể viết x = 5 và y = x + 1. Khi mã chạy, máy tính sẽ tự động thay đổi x và y tương ứng thành 5 và 6 để thực hiện các hàm đối với chúng Dữ liệu có thể là nhiều loại khác nhau, chẳng hạn như một chuỗi văn bản, số hoặc ngày Đó là lý do hầu hết các ngôn ngữ lập trình đều cho phép bạn xác định kiểu biến Khi đã xác định, kiểu biến sẽ không thay đổi; bạn không thể lưu trữ số trong các biến chuỗi.

Ví dụ: nếu bạn cho chương trình biết rằng x và y là số và sau đó thực hiện phép toán x + y, máy tính sẽ biết dự kiến x và y là hai số và rồi cộng chúng Mặt khác, nếu bạn xác định x và y là chuỗi, toán tử + sẽ nối hai chuỗi lại với nhau để tạo ra một cụm từ dài hơn.

Ngôn ngữ định kiểu yếu

JavaScript là một ngôn ngữ định kiểu yếu, có nghĩa là không cho phép người lập trình xác định kiểu biến Một biến định kiểu của biến Kết quả cũng có thể bị ép chuyển thành một kiểu dữ liệu khác Ví dụ: một phép toán có thể trả về kết quả là chuỗi "5" thay vì số 5 Điều này có thể dẫn đến những sai lầm vô tình khi viết mã và lỗi trong mã do có lỗi về kiểu loại.

TypeScript là gì?

TypeScript là một ngôn ngữ lập trình cải tiến JavaScript bằng cách thêm các kiểu loại vào cú pháp TypeScript thêm cú pháp bổ sung vào JavaScript để các công cụ soạn thảo mã có thể sớm phát hiện những lỗi viết mã Đồng thời, mã TypeScript

TÍNH chuyển đổi sang JavaScript và cung cấp tất cả các lợi ích tương tự như ở JavaScript.TypeScript cũng chạy trong các ứng dụng và với các khung và thư viện JavaScript.

SDK AWS cho JavaScript là gì?

SDK AWS dành cho JavaScript là một tập hợp các thư viện JavaScript nguồn mở, miễn phí, tích hợp với các dịch vụ AWS Chúng hỗ trợ phát triển API, phép trừu tượng cấp cao và ba loại ứng dụng:

 Node.js dành cho máy chủ

 React Native dành cho phát triển ứng dụng di động

SDK AWS dành cho JavaScript được viết hoàn toàn bằng TypeScript, sau đó được biên dịch thành JavaScript Do đó, bạn nhận được tất cả các lợi ích của TypeScript mà không phải lo lắng về khả năng tương thích ngược.

Bạn có thể bắt đầu với AWS SDK dành cho Java bằng cách đọc các ví dụ về mã và hướng dẫn di chuyển hoặc bằng cách cài đặt trực tiếp từ GitHub.

AWS Amplify dành cho JavaScript là gì?

AWS Amplify là một tập hợp các công cụ và tính năng được xây dựng cho mục đích nhất định, cho phép các nhà phát triển web frontend và ứng dụng di động có thể nhanh chóng và dễ dàng xây dựng các ứng dụng trọn gói trên AWS Các thư viện máy khách nguồn mở của Amplify cung cấp các giao diện dễ sử dụng, lấy trường hợp sử dụng làm trung tâm cho nhiều danh mục khác nhau của các hoạt động sử dụng công nghệ đám mây Các thư viện Amplify JavaScript được hỗ trợ cho các framework web và di động khác nhau, bao gồm React, React Native, Angular, Ionic và Vue.js Bạn có thể bắt đầu bằng cách hoàn thành hướng dẫn bắt đầu cho Amplify JavaScript.

Jquery là gì?

jQuery là thư viện javascript nổi bật nhất, phổ biến nhất trong lập trình web Ra đời vào năm 2006 bởi John Resig Nó đã trở thành một thành phần không thể thiếu trong các website có sử dụng Javascript Với slogan “Write less – Do more” (viết ít hơn – làm nhiều hơn) nó đã giúp lập trình viên tiết kiệm được rất nhiều thời gian và công sức trong việc thiết kế website.

Jquery có công dụng gì?

jQuery cung cấp các phương thức xử lý sự kiện, hiệu ứng, tương tác chỉ với những dòng lệnh đơn giản Các module chính mà của jQuery sử bao gồm:

 Atributes – xử lý thuộc tính của đối tượng HTML

 Effect – xử lý hiệu ứng

 Event – xử lý sự kiện

 DOM – xử lý Data Object Model

 Selector – xử lý luồng lách các đối tượng HTML

 Hiệu ứng và hoạt hình

 Phân tích cú pháp JSON

TÌM HIỂU VỀ CÔNG NGHỆ SỬ DỤNG

Giới thiệu về VueJS

VueJS là một framework mã nguồn mở của JavaScript được sử dụng để phát triển các giao diện web tương tác Nó là một trong những framework nổi tiếng được sử dụng để đơn giản hóa việc phát triển web VueJS tập trung vào view layer Nó có thể dễ dàng tích hợp vào các dự án lớn để phát triển front-end mà không gặp bất kỳ sự cố nào.

1.2.Ưu điểm và nhược điểm của VueJS

Kích thước nhỏ: Tệp zip được tải xuống của framework này chỉ nặng 18 KB Điều này khiến nó không chỉ cài đặt nhanh mà còn tác động tích cực đến SEO và UX của bạn.

Kết xuất và hiệu suất DOM ảo: Mô hình đối tượng tài liệu (DOM) là thứ bạn có thể gặp phải khi kết xuất các trang web DOM đại diện cho một trang HTML với các kiểu, thành phần và nội dung dưới dạng cấu trúc cây của các đối tượng (nút) Các đối tượng cây DOM lưu trữ dưới dạng cây và được tạo bởi trình duyệt khi tải trang.

Khi người dùng tương tác với trang, các đối tượng sẽ thay đổi trạng thái của chúng, do đó trình duyệt sẽ phải cập nhật thông tin và hiển thị trên màn hình Tuy nhiên, việc cập nhật toàn bộ DOM rất phức tạp Ưu tiên tốc độ load, VueJS sử dụng DOM ảo Hãy coi đây là một bản sao của DOM gốc giúp tìm ra những phần tử cần cập nhật mà không cần kết xuất lại toàn bộ cây nút Cách tiếp cận này giúp hiển thị trang khá nhanh và cải thiện hiệu suất ứng dụng.

Hệ thống phản ứng và các tùy chọn ràng buộc dữ liệu: Liên kết dữ liệu là kết nối giữa mô hình dữ liệu (nguồn dữ liệu) và mẫu DOM hoặc HTML của chế độ xem Liên kết dữ liệu một chiều cho phép thông tin truyền theo một hướng, từ mô hình sang chế độ xem hoặc ngược lại Trong trường hợp đầu tiên, các thay đổi đối với nguồn sẽ tự động cập nhật DOM, nhưng nó không hoạt động ngược lại vì DOM có quyền truy cập chỉ đọc vào mô hình.

Liên kết dữ liệu hai chiều cho phép trao đổi dữ liệu giữa mô hình và chế độ xem theo cả hai hướng Nói cách khác, mô hình cũng lắng nghe các sự kiện trên DOM và bất kỳ cập nhật nào ở một bên sẽ phản ánh ngay lập tức ở bên kia Cách tiếp cận này loại bỏ mã soạn sẵn và đơn giản hóa việc phát triển ứng dụng Tuy nhiên, việc khó Debug và dễ xảy ra lỗi khiến luồng hai chiều không phù hợp cho các dự án lớn.

Rào cản ngôn ngữ: Việc áp dụng VueJS của các doanh nghiệp như Xiaomi và

Alibaba đã giúp phổ biến framework và tạo ra nhu cầu trên thị trường lao động Với việc Vue.js ngày càng phổ biến ở Trung Quốc, một phần quan trọng trong nội dung và các cuộc thảo luận của nó đều là tiếng Trung.

Bức tường lửa gắt gao của Trung Quốc khiến mọi thứ ở quốc gia này hơi khác một chút vì rất nhiều tài nguyên phổ biến hiện không có sẵn ở đó Điều đó làm cho việc học và sử dụng React hoặc Angular đối với các nhà phát triển địa phương trở nên khó khăn hơn Chính vì vậy, đối với các nhà phát triển ở Trung Quốc, VueJS là một biến thể thích hợp hơn.

Vì vậy, khi tìm kiếm nội dung về VueJS, bạn sẽ phải đối mặt với các cuộc thảo luận diễn đàn, mô tả plugin và hướng dẫn bằng tiếng Trung Đây có thể là một vấn đề nếu bạn không biết ngôn ngữ này.

Thiếu hỗ trợ cho các dự án quy mô lớn: Quy mô nhóm phát triển và cộng đồng của

VueJS vẫn không thể so sánh với Angular hay React Framework này cũng không được hỗ trợ tài chính từ các doanh nghiệp lớn Để được áp dụng trong các dự án quy mô lớn, công nghệ phải ổn định và được hỗ trợ mạnh mẽ để các vấn đề có thể được giải quyết nhanh chóng Mặc dù VueJS không gặp nhiều vấn đề và thậm chí còn có nhu cầu đến từ các doanh nghiệp như IBM và Adobe, nhưng nó chủ yếu được sử dụng trong các dự án tương đối nhỏ.

Nguy cơ đến từ việc quá linh hoạt: Tính linh hoạt là một đặc tính gây tranh cãi của một dự án lớn Cung cấp cho nhóm phát triển của bạn quá nhiều tùy chọn có thể dẫn đến các cách tiếp cận lập trình khác nhau trong một nhóm Và kết quả là, nó trở thành một công cụ vô hiệu hóa cuối cùng thay vì một phần mềm hoạt động.

Nguồn tài nguyên giới hạn: Mặc dù hệ sinh thái khá rộng và có tất cả các công cụ cần thiết để bắt đầu phát triển với VueJS, nhưng framework này không lớn bằng React hayAngular Nói chính xác hơn, chỉ cần so sánh số lượng plugin có sẵn cho React vàVue.js, sự khác biệt là ở hàng trăm đơn vị Các plugin hiện có có thể được sử dụng với các framework khác cũng thường không được hỗ trợ.

Giới thiệu về NodeJS

NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có mã nguồn mở, được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp hoàn hảo cho các ứng dụng sử dụng nhiều dữ liệu nhờ vào mô hình hướng sự kiện (event-driven) không đồng bộ.

2.2 Ưu điểm và nhược điểm của NodeJS

 IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng thời.

 Sử dụng JavaScript – một ngôn ngữ lập trình dễ học.

 Chia sẻ cùng code ở cả phía client và server.

 NPM(Node Package Manager) và module Node đang ngày càng phát triển mạnh mẽ.

 Cộng đồng hỗ trợ tích cực.

 Cho phép stream các file có kích thước lớn

 Không có khả năng mở rộng, vì vậy không thể tận dụng lợi thế mô hình đa lõi trong các phần cứng cấp server hiện nay.

 Khó thao tác với cơ sử dữ liệu quan hệ.

 Mỗi callback sẽ đi kèm với rất nhiều callback lồng nhau khác.

 Cần có kiến thức tốt về JavaScript.

 Không phù hợp với các tác vụ đòi hỏi nhiều CPU.

Các mô-đun như thư viện JavaScript được sử dụng trong các ứng dụng NodeJS và chúng bao gồm nhiều chức năng Để chèn một mô-đun vào ứng dụng NodeJS người dùng cần sử dụng hàm request () function with the và đặt tên mô-đun trong dấu ngoặc đơn NodeJS có nhiều mô-đun cung cấp các chức năng cơ bản và cần thiết cho các ứng dụng web

Bảng điều khiển cung cấp phương pháp gỡ lỗi tương tự như bảng điều khiển JavaScript cơ bản trong trình duyệt internet Nó sẽ in các thông báo ra stdout và stderr.

NodeJS được tạo ra và phát triển dựa trên ý tưởng về lập trình đơn luồng Cluster là một mô-đun cho phép đa luồng bằng cách tạo các quy trình con chia sẻ cùng một cổng máy chủ và chạy đồng thời.

Biến Global hay còn gọi là biến toàn cục trong Node.js sẽ tồn tại trong tất cả các module, chúng bao gồm các hàm, module, string,… Một số biến toàn cục phổ biến bạn có thể thấy đó là dirname, filename, exports, module, require,…

Khi thực thi lệnh thì Node.js sẽ có cơ chế báo lỗi, và bạn sẽ gặp các lỗi như là Standard JavaScript errors, System errors, User-specific errors và Assertion errors Lỗi trong Node.js được sử lý qua các exception và cần xử lý kịp thời, nhanh chóng để ứng dụng có thể hoạt động bình thường.

Streaming Đây là công cụ cho phép bạn đọc và ghi dữ liệu liên tục, Buffer thường được sử dụng để cấp quyền để xử lý các steam chứa dữ liệu nhị phân Stream được chia làm 4 loại:

 Readable: Là loại stream mà từ đó dữ liệu có thể đọc được

 Writable: Là loại stream mà dữ liệu có thể được viết lên đó

 Duplex: Là loại stream có thể đọc và viết được

 Transform: Là loại stream có thể thao tác dữ liệu trong khi nó đang được đọc hoặc viết

Bộ đệm là một module cho phép xử lý các stream chỉ chứa các dữ liệu dạng nhị phân.Một bộ đệm trống với độ dài là ’10’ được tạo ra bởi phương thức var buf Buffer.alloc(10)

Domain Đây là một mô-đun giúp chặn các lỗi chưa được xử lý trong quá trình hoạt động, và có thể chia thành hai phương thức đó là:

 Internal Binding (lệnh chạy trong phương thức run): Error emitter thực thi code trong phương thức run.

 External Binding (được thêm trực tiếp vào miền bằng mã, thông qua phương thức thêm): Error emitter được thêm thẳng vào domain qua phương thức add của nó

DNS Đây là module hỗ trợ kết nối đến một máy chủ DNS với phương thức thực hiện phân giải tên miền sử dụng phương thức dns.resolve() và hỗ trợ phân giải tên miền mà không cần kết nối mạng thông qua phương thức dns.lookup().

Node.js có các tính năng gỡ lỗi có sẵn với ứng dụng gỡ lỗi tích hợp của nó Trình gỡ lỗi Node.js không có nhiều tính năng, nhưng nó hỗ trợ các tính năng kiểm tra mã cơ bản Bạn có thể sử dụng trình gỡ lỗi trong hộp lệnh bằng cách sử dụng từ khóa

“inspect” trước tên tệp JavaScript.

2.4.Hướng dẫn cài đặt và khai báo cho NodeJS

 Bước 1: Vào website chính thức của NodeJS để download và cài đặt NodeJS version mới nhất tại thời điểm viết bài là 18.0.0.

 Bước 2: Kiểm tra trạng thái cài đặt bằng cách nhập lệnh node -v vào cmd.

 Bước 3: Tạo một folder để chứa các nội dung cho dự án Trong đó tạo một file có tên Project.js rồi nhập nội dung cần viết:

Console.log('Hell World'); Để chạy chương trình, truy cập vào folder vừa tạo, giữ Shift rồi click chuột phải vào folder và chọn Open Powershell window here Sau khi cửa sổ command line hiện lên thì gõ lệnh node Project.js Bây giờ command line sẽ hiện lên để người dùng khai báo biến và hằng trong NodeJS.

Khai báo biến và hằng trong Node.JS

Khai báo biến: Có hai cách để khai báo biến trong NodeJS:

Cách 1: Dùng từ khoá var. var variable_name = value;

Cách 2: Không dùng từ khoá. variable_name = value;

Khai báo hằng: Dùng từ khoá const như trong các ngôn ngữ lập trình khác: const constant_name = value;

Cấu trúc rẽ nhánh trong NodeJS cũng tương tự như các ngôn ngữ lập trình: if (điều kiện) { lệnh cần thực hiện nếu điều kiện đúng;

} else { lệnh cần thực hiện nếu điều kiện sai;

MongoDB là một database hướng tài liệu (document), một dạng NoSQL database

Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh.

3.2 Các feature của MongoDB gồm có:

 Các ad hoc query: hỗ trợ search bằng field, các phép search thông thường, regular expression searches, và range queries.

 Indexing: bất kì field nào trong BSON document cũng có thể được index.

 Replication: có ý nghĩa là “nhân bản”, là có một phiên bản giống hệt phiên bản đang tồn tại, đang sử dụng Với cơ sở dữ liệu, nhu cầu lưu trữ lớn, đòi hỏi cơ sở dữ liệu toàn vẹn, không bị mất mát trước những sự cố ngoài dự đoán là rất cao Vì vậy, người ta nghĩ ra khái niệm “nhân bản”, tạo một phiên bản cơ sở dữ liệu giống hệt cơ sở dữ liệu đang tồn tại, và lưu trữ ở một nơi khác, đề phòng có sự cố.

 Aggregation: Các Aggregation operation xử lý các bản ghi dữ liệu và trả về kết quả đã được tính toán Các phép toán tập hợp nhóm các giá trị từ nhiều Document lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một kết quả duy nhất Trong SQL, count(*) và GROUP BY là tương đương với Aggregation trong MongoDB.

 Lưu trữ file: MongoDB được dùng như một hệ thống file tận dụng những function trên và hoạt động như một cách phân phối qua sharding.

3.3.Khi nào sử dụng Mongodb?

 Quản lý và truyền tải content – Quản lý đa dạng nhiều product của content chỉ trong một kho lưu trữ data cho phép thay đổi và phản hồi nhanh chóng mà không chịu thêm phức tạp thêm từ hệ thống content.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Đặt vấn đề

Trong thời đại ngày nay, thời đại mà hầu như tất cả các hoạt động kinh tế, chính trị, xã hội đều đuợc đăng tải trên mạng Internet thì không chỉ dân IT chúng ta sử dụng internet mà hầu hết tất cả mọi người đều đã một lần lướt net, lướt web.

Một công ty hay một thương hiệu muốn phát triển cần phải khẳng định được thương hiệu của mình Cách đơn giản và đỡ tốn kém và thật sự hiệu quả đó là tạo cho công ty hay thương hiệu mình một Website để tất cả mọi người có thể biết đến quý công ty Và trong thời buổi kinh tế thị trường với yêu cầu của những người sử dụng khá cao, có thể một số nơi tại chỗ ở của bạn không thể đáp ứng được hết yêu cầu của khách hàng Bạn là một người bận rộn, không có nhiều thời gian để lựa chọn sản phẩm cho phù hợp với sở thích và túi tiền của mình Việc đi đến một cửa hàng chiếm mất nhiều thời gian của bạn và bạn mong muốn có một dịch vụ đáp ứng được điều đó.

Vậy tại sao chúng ta không thực hiện bán hàng ngay trên mạng Thật hiệu quả vì tất cả mọi người đều biết đến công ty, vừa có thể giới thiệu về công ty vừa thực hiện việc trao đổi hàng hóa ngay trên mạng Quả là một ý tưởng tuyệt vời.

Giả sử bạn cần mua một chiếc quần hay một chiếc áo bạn đến cửa hàng để mua,khi vào cửa hàng bạn sẽ chọn những sản phẩm mà mình thích để vào giỏ hàng Trong quá trình lựa chọn bạn có thể tìm hiểu chi tiết thông tin sản phẩm mà bạn thích Sau khi lựa chọn xong, bạn có thể đặt mua sản phẩm mà mình muốn.

Mục đích

Tăng lợi nhuận : Website thương mại điện tử với lợi thế không bị giới hạn về mặt thời gian và không gian như hình thức bán hàng truyền thống, ta có thể chủ động tìm kiếm khách hàng đến với sản phẩm, dịch vụ của mình.

Tiết kiệm chi phí : Bởi ta không cần phải bỏ ra một khoản tiền lớn để thuê mặt bằng, thuê và đào tạo đội ngũ nhân viên, mà vẫn thu được lợi nhuận cao nếu như chúng ta biết kết hợp với một số chiến lược Marketing online.

Gia tăng khả năng tương tác với khách hàng: Khi khách hàng vào trang web thương mại điện tử, họ sẽ dễ dàng cập nhật được giá cả, thông tin sản phẩm và các dịch vụ Bên cạnh đó, bất cứ lúc nào khách hàng cần tư vấn thì đội ngũ chăm sóc khách hàng sẽ tư vấn kịp thời, không để khách hàng phải chờ đợi lâu.

Nâng cao tính cạnh tranh với đối thủ : Cuộc chiến cạnh tranh trên thị trường bán hàng trên công nghệ ngày càng khốc liệt, nhưng nếu bạn biết tận dụng thời cơ này để sở hữu cho mình một website thương mại điện tử với giao diện dễ nhìn, độc đáo thì sẽ giúp thu hút nhiều khách hàng hơn

3.Phạm vi Đề tài hướng đến các cửa hàng bán quần áo có quy mô nhỏ

4.Khảo sát các ứng dụng tượng tự

Khảo sát website : Coolmate –có tên miền là coolmate.me , shopee – có tên miền là shopee.vn

Giao diện: Đây là một phần quan trọng trong cấu trúc website thương mại điện tử

Giao diện cần trực quan, đẹp mắt để thu hút người dùng.

Trang chủ: Trang chủ được coi như bộ mặt của toàn bộ website, trang chủ của website thương mại điện tử luôn được đầu tư tỉ mỉ, bắt mắt để thu hút người dùng

Sản phầm: có đầy đủ thông tin , có đủ góc nhìn để khách hàng có góc nhìn thực tế nhất về sản phẩm

Các chức năng tìm kiếm và mua hàng được thiết kế bắt mắt và dễ dàng sử dụng nhất để khách hàng có thể thao tác 1 cách nhanh và mượt mà.

5.Phân tích và thiết kế chức năng

5.1.Phân tích nghiệp vụ Đối tượng khách hàng nhắm tới của cửa hàng sẽ là các bạn trẻ có độ tuổi từ 18-30 tuổi. Những mặt hàng được bán sẽ các áo thun , áo tank , áo thể thao thời trang đang được rất nhiều các bạn trẻ yêu thích hiện nay

Sản phẩm sẽ được hiển thị và bán online trên Web của của hang.

Về phía Người mua hàng:

 Đăng ký tài khoản, đăng nhập ,quên mật khẩu, đổi mật khẩu

 Xem,Sửa thông tin cá nhân ,

 Xem trang chủ, xem sản phẩm.

 Thêm sản phẩm vào giỏ hàng, sửa giỏ hàng.

 Xem chi tiêu cá nhân

Về phía Quản trị viên:

 Quản lý các sản phẩm.

 Thống kê số lượng đơn hàng và doanh thu bán hàng…

 Quản lý đơn hàng, chi tiết đơn hàng.

5.2.Biểu đồ phân cấp chức năng

5.4 Biểu đồ luồng dữ liệu:

Biểu đồ chức năng của người dùng

Biểu đồ chức năng quản trị viên

+Xem chi tiết sản phẩm:

+Xem thông tin cá nhân:

- Bao gồm tất cả các chức năng như ở trên và ở bên dưới:

+ Thống kê User , Product , Statistical , order , contact :

6.Phân tích thiết kế dữ liệu

6.1.Xác định các thực thể và các thuộc tính cho thực thể, loại bỏ các thuộc tính dẫn xuất

Product(name,view,description, rating ,category ,subject ,images ,price ,originPrice ,sold , createdAt ,updatedAt )

User(userName, email ,admin , password , avatar ,createdAt , updatedAt )

Otp(otp ,user , createdAt ,updatedAt)

Contact(fullName , phoneNumber , message , user, email , createdAt , updatedAt )

Cart(user , product , size , rating , quantity ,createdAt , updatedAt)

Comment(comment , rating , product, user , author, createdAt , updatedat )

Size(product , name , numberInStock , createdAt , updatedAt )

Wishlist(product , user, createdAt, updatedAt)

Order(user, deliveryAddress, phoneNumber ,fullName,status , cancel ,createdAt , updatedAt)

OrderItem(order , product ,size ,quantity ,price , createdAt, updatedAt)

7.Xây dựng và cài đặt chương trình

Và còn nhiều chức năng khác …

ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN

Sau khi hoàn thành sản phẩm, nhìn chung ta có thể đánh giá được kết quả :

- Website đã đáp ứng được yêu cầu xử lý nghiệp vụ cơ bản của quá trình bán hang cũng như quản lý sản phẩm

- Thông tin được lưu trữ khoa học , xử lý 1 cách chính xác , dễ dàng

- Các vùng nhập liệu được kiểm soát , tránh việc sai sót thông tin trong quá trình nhập liệu

- Hỗ trợ thành toán trực tuyến

- Xây dựng thêm trang blog tăng tương tác người dùng

- Xây dựng them phương thước khuyến mại

Ngày đăng: 25/07/2024, 22:29

HÌNH ẢNH LIÊN QUAN

Sơ đồ ngữ cảnh - Lập trình Ứng dụng web bằng nodejs, vuejs, mongodb
Sơ đồ ng ữ cảnh (Trang 33)
w