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

báo cáo thiết kế website bán hàng thiết bị iot

55 1 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 đề Thiết kế website bán hàng thiết bị IoT
Tác giả Hoàng Văn Dũng
Người hướng dẫn Th.S Vũ Đức Vượng
Trường học Trường Đại học Bách khoa Hà Nội, Viện Công nghệ Thông tin và Truyền thông
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo môn học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 55
Dung lượng 2,79 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI (6)
    • 1.1. Đặt vấn đề (6)
    • 1.2. Mục tiêu và phạm vi đề tài (6)
    • 1.3. Định hướng giải pháp (7)
    • 1.4. Bố cục báo cáo (7)
  • CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ BÀI TOÁN (8)
    • 2.1. Khảo sát hiện trạng (8)
      • 2.1.1. Về khách hàng (8)
      • 2.1.2. Về các hệ thống đã có (9)
      • 2.1.3. Về ứng dụng tương tự (9)
    • 2.2. Tổng quan chức năng (9)
      • 2.2.1. Biểu đồ UseCase tổng quan (9)
      • 2.2.2. Biểu đồ use case phân rã từng module (0)
      • 2.2.3. Quy trình nghiệp vụ (0)
      • 2.2.4. Đặc tả chức năng (0)
    • 2.3. Yêu cầu phi chức năng (0)
      • 2.3.1. Yêu cầu về hiệu năng (0)
      • 2.3.2. Yêu cầu về độ tin cậy (0)
      • 2.3.3. Yêu cầu về độ dễ dùng của website (0)
      • 2.3.4. Yêu cầu về tính dễ bảo trì (0)
  • CHƯƠNG 3: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG (0)
    • 3.1. Ngôn ngữ HTML và CSS (0)
    • 3.2. Ngôn ngữ kịch bản JavaScript (0)
      • 3.2.1. JavaScript là gì? (0)
      • 3.2.2. Ứng dụng nổi bật của JavaScript (0)
      • 3.2.3. Client-side rendering (CSR) vs Server-side rendering (SSR) (0)
      • 3.2.4. JavaScript Framework NuxtJs (0)
    • 3.3. Ngôn ngữ lập trình PHP (35)
      • 3.3.1. Giới thiệu (35)
      • 3.3.2. Giới thiệu Framework Laravel (35)
    • 3.4. Hệ quản trị cơ sở dữ liệu (37)
      • 3.4.1. Các khái niệm (37)
      • 3.4.2. Chức năng của hệ cơ sở dữ liệu (37)
      • 3.4.3. MySQL (38)
      • 3.4.4. RESTful API (38)
  • CHƯƠNG 4: PHÁT TRIỂN VÀ TRIỂN KHAI ỨNG DỤNG (41)
    • 4.1. Thiết kế kiến trúc (41)
      • 4.1.1. Lựa chọn kiến trúc phần mềm (41)
      • 4.1.2. Thiết kế tổng quan (42)
    • 4.2. Thiết kế chi tiết (43)
      • 4.2.1. Thiết kế giao diện (43)
      • 4.2.2. Thiết kế lớp (45)
      • 4.2.3. Thiết kế cơ sở dữ liệu (48)
    • 4.3. Xây dựng ứng dụng (50)
      • 4.3.1. Thư viện va công cụ sử dụng (50)
      • 4.3.2. Kết quả đạt được (50)
      • 4.3.3. Minh họa chức năng chính (51)
    • 4.4. Kiểm thử (52)
    • 4.5. Triển khai (52)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (53)
    • 5.1. Kết quả đạt được (53)
    • 5.2. Kết luận (53)
    • 5.3. Hướng phát triển hệ thống giai đoạn tiếp theo (54)

Nội dung

IoT định hướng kết nối những thiết bị, công cụ, đồ vậttrong đời sống hàng ngày với internet để con người có thể giao tiếp, truy cập,điều khiển, thu thập được thông tin và quản trị các th

GIỚI THIỆU ĐỀ TÀI

Đặt vấn đề

Bạn đã có ý tưởng kinh doanh online? Sau khi bạn chuẩn bị vốn, kế hoạch kinh doanh, và tìm nguồn cung ứng hàng hóa tốt, tiếp theo bạn sẽ lựa chọn các kênh bán hàng online phù hợp: mạng xã hội, website, sàn thương mại điện tử Nếu sản phẩm của bạn nhiều, lên đến hàng trăm hàng ngàn mẫu mã thì lựa chọn thiết kế website thương mại điện tử là lựa chọn phù hợp Bên cạnh đó, ngay cả những công ty lớn và nổi tiếng tại Việt Nam cũng đang sử dụng hình thức website này và gặt hái được nhiều thành công.

Xuất phát từ tình hình thực tế về nhu cầu cuộc sống của con người ở hiện tại và trong tương lai, sự có mặt của IoT là thực sự cần thiết Để quảng bá cũng như đáp ứng được nhu cầu của thị trường sắp tới, là người làm công nghệ phải có sứ mệnh mang đến cho người tiêu dùng những sản phẩm hiện tại và an toàn nhất, với một mức giá phù hợp nhất Nếu giải quyết được vấn đề này thì sẽ đem lại lợi ích lớn cho chính mình và xã hội, người tiêu dùng sẽ tiếp cận và trải nghiệm được những sản phẩm chất lượng, giúp đời sống tăng cao đáng kể, mặt khác nó giúp ta mang lại nguồn thu nhập lớn cho bản thân

Ngoài ra, chúng ta có thể sử dụng trang web áp dụng với các mặt hàng trong các lĩnh vực khác nhau.

Mục tiêu và phạm vi đề tài

Sau nhiều năm kỳ vọng, kỷ nguyên của Internet vạn vật (IoT) đã đến Các sản phẩm và dịch vụ thực sự của IoT được sử dụng không chỉ cho lĩnh vực công nghiệp mà còn cả người dùng.

Các sản phẩm như tủ lạnh thông minh, đồng hồ thông minh, máy theo dõi sức khỏe, thậm chí là tấm thảm yoga thông minh sẽ trở nên phổ biến chỉ sau vài năm Các ứng dụng được kích hoạt bở công nghệ IoT là gần như vô hạn.

Số lượng thiết bị IoT trên toàn thế giới đang tăng vọt Ước tính sẽ có hơn

75 tỷ thiết bị IoT được lắp đặt vào năm 2025, gấp 5 lần so với 2015.

Trên cơ sở trên, phát triển website bán thiết bị IoT là rất cần thiết, tuy nhiên có một số hạn chế như: chưa có chi phí cho marketing, tiếp cận với nguồn hàng khá khó khăn, phân phối kho, quản lý người dùng còn gặp khó khăn…

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Định hướng giải pháp

Trong vô vàn trang web bán hàng hiện nay, việc quản lý người dùng và kho luôn là vấn đề được quan tâm và được đặt ưu tiên hàng đầu, rất nhiều website được phát triển nhưng chưa đáp ứng đủ và đúng như mong được của khách hàng, số lượng khách hàng ghé thăm website giảm dẫn đến thu nhập của người kinh doanh bị ảnh hưởng,khó có thể phát triển hơn nữa, vì vậy tạo ra một website bán thiết bị IoT thông minh và tiện dụng là một nhu cầu tất yếu.

Website bán thiết bị IoT được xây dựng dựa trên những nhu cầu thực tế của khách hàng và nhà quản lý nhằm giải quyết những khó khăn gặp phải Hệ thống hướng tới các đối tượng là khách hàng và những nhân viên quản lý trang web.

Hệ thống có các chức năng chính bao gồm: authentication, quản lý người dùng, quản lý phân quyền người dùng và quản lý kho Các chức năng này giúp người quản lý dễ dàng quản lý thông tin khách hàng và quản lý kho một cách đơn giản và tối ưu, khách hàng có thể mua hàng và tự quản lý thông tin cá nhân.

Bố cục báo cáo

Phần còn lại của báo cáo này được tổ chức như sau:

Chương 2: Thực hiện phân tích thiết kế bài toàn bằng cách khảo sát hiện trạng và yêu cầu mong muốn của khách hàng cũng như các hệ thống sẵn có và các website tương tự đang hoạt động Từ đó thực hiện phân tích bằng các biểu đồ UserCase

Chương 3: Thực hiện nghiên cứu về các công nghệ, nền tảng, thuật toán áp dụng phù hợp với việc triển khai thiết kế website bán hàng thiết bị IOT

Chương 4: Thực hiện phát triển và triển khai ứng dụng từ các yêu cầu nghiệp vụ đã phân tích và công nghệ nền tảng lựa chọn để phát triển

Phần cuối là kết luận và định hướng phát triển các phiên bản nâng cấp tiếp theo của hệ thống và kết thúc bài báo cáo

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

PHÂN TÍCH THIẾT KẾ BÀI TOÁN

Khảo sát hiện trạng

Ngày càng có nhiều doanh nghiệp lựa chọn website dạng thương mại điện tử thay cho website truyền thống Những doanh nghiệp lớn đã ứng dụng dạng website này và gặt hái được con số ấn tượng về lượng truy cập và doanh thu: Thế Giới Di Động, Điện Máy Xanh, Bách Hóa Xanh Ngay cả các cửa hàng kinh doanh mỹ phẩm, nhà thuốc, thời trang cũng xây dựng website bán hàng có tích hợp tính năng và thanh toán.

Mục đích của việc thiết kế website dạng thương mại điện tử nhằm tránh lệ thuộc vào các sàn thương mại điện tử, cũng như tăng độ tiếp cận của doanh nghiệp đến với khách hàng Theo số liệu từ Statista, độ tuổi mua sắm trên sàn thương mại điện tử nhiều nhất là từ 25-34 Vì vậy, nếu đối tượng khách hàng tiềm năng của doanh nghiệp nằm trong phân khúc 25-34 thì việc thiết kế website thương mại điện tử là điều cực kỳ cần thiết.

Vậy hiện trạng nhu cầu của khách hàng hiện nay đã thay đổi như thế nào?

Và các hệ thống hiện tại đã và đang đáp ứng như thế nào đối với nhu cầu của người dùng? Chúng ta hãy cùng đi tìm hiểu.

2.1.1.Về khách hàng a W ebsite cung cấp đầy đủ sản phẩm, dịch vụ và tiện ích

Khi khách hàng truy cập vào website là bạn đã nắm trong tay cơ hội biến

“người dùng” thành “khách mua hàng” Do đó sản phẩm và dịch vụ phải được sắp xếp theo từng danh mục rõ ràng Ngoài ra, khi khách hàng click vào để tìm hiểu bất kỳ sản phẩm nào thì sản phẩm đó phải có đầy đủ thông tin, thương hiệu, mô tả, xuất xứ, giá cả để khách hàng yên tâm lựa chọn mua hàng. b Giao diện thu hút khách hàng tiềm năng

Giao diện thu hút là một trong những yếu tố để người dùng dành nhiều thời gian để ở lại website của bạn Việc thiết kế giao diện phải dựa vào việc hiểu khách hàng tiềm năng Khách hàng ở độ tuổi nào, sở thích, thói quen mua sắm từ đó bạn sẽ thiết kế giao diện để thu hút khách hàng tiềm năng của bạn Nếu khách hàng tiềm năng không thấy giao diện của website bạn có sự thu hút, thì cho dù có nhiều người khen đẹp thì cũng không để tạo ra doanh thu tốt.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng c Giao diện tương thích với thiết bị di động

Thiết bị di động ngày càng chiếm ưu thế hơn so với máy tính và laptop Do đó, khi thiết kế giao diện và hình ảnh cho website, bạn nên lưu ý kiểm tra lại một lần nữa xem đã hiển thị đúng kích thước trên thiết bị di động hay chưa Nếu khi hiển thị trên điện thoại hình ảnh bị sai tỷ lệ hoặc bố cục chữ bị rối mắt thì bạn nên điều chỉnh để tránh việc khách hàng cảm thấy khó chịu với giao diện và thoát ra ngoài.

2.1.2.Về các hệ thống đã có

Ngày càng có nhiều doanh nghiệp lựa chọn website dạng thương mại điện tử thay cho website truyền thống Những doanh nghiệp lớn đã ứng dụng dạng website này và gặt hái được con số ấn tượng về lượng truy cập và doanh thu: Thế Giới Di Động, Điện Máy Xanh, Bách Hóa Xanh Ngay cả các cửa hàng kinh doanh mỹ phẩm, nhà thuốc, thời trang cũng xây dựng website bán hàng có tích hợp các tính năng và thanh toán, theo dõi đơn hàng.

2.1.3.Về ứng dụng tương tự

Về các ứng dụng tương tự trên thị trường, cũng đã phát triển các tính năng và nhu cầu của khách hàng như:

- Cung cấp đầy đủ sản phẩm, dịch vụ và tiện ích.

- Thiết kế giao diện dễ dùng và hiện đại.

- Tích hợp đa dạng các phương thức thanh toán

- Tương thích với các thiết bị di động.

- Cung cấp đầy đủ thông tin của doanh nghiệp.

Tổng quan chức năng

2.2.1.Biểu đồ UseCase tổng quan

- Authentication: Cho phép khách hàng và quản trị viên đăng nhập bằng tài khoản đăng ký, đăng nhập bằng facebook, thay đổi password, đăng xuất ra khỏi website.

- Quản lý nhân viên: Cho phép quản có thể xem danh sách nhân viên, chỉnh sửa thông tin các nhân, thêm/sửa/xóa tài khoản nhân viên.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

- Quản lý khách hàng: Cho phép nhân viên xem danh sách khách hàng, thêm/sửa/xóa tài khoản khách hàng.

- Quản lý kho hàng: Cho phép nhân viên theo dõi và quản lý kho hàng, có thể thêm/sửa/xóa các mặt hàng trong kho.

- Thêm vào giỏ hàng: Cho phép khách hàng thêm sản phẩm muốn mua vào giỏ hàng

- Tạo mới một đơn hàng: Cho phép khách hàng đặt một đơn hàng và hiển thị đơn hàng mới vào trang admin để quản lý.

Xác nhận các tác nhân tham gia hệ thống:

1 Quản lý Quản lý tài khoản nhân viên, xem/thêm/thay đổi thông tin nhân viên, phân quyền.

2 Nhân viên Quản lý tài khoản khách hàng, quản lý kho, xem/thay đổi thông tin khách hàng, xem/thay đổi thông tin mặt hàng.

3 Khách hàng Đăng ký tài khoản, đăng nhập, xem/thay đổi thông tin của mình, xem sản phẩm, thêm vào giỏ hàng.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Sơ đồ UseCase tổng quát của hệ thống

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

1 Authentication Cho phép người dùng đăng ký, đăng nhập vào hệ thống website, thay đổi password.

2 Quản lý nhân viên Quản lý có thể xem danh sách nhân viên,

Quản lý thêm/sửa/xóa tài khoản nhân viên.

Có thể đặt quyền cho nhân viên đó là quyền quản lý hoặc quyền nhân viên.

3 Quản lí khách hàng Nhân viên có thể xem danh sách khách hàng,

Nhân viên thêm/sửa/xóa tài khoản khách hàng.

4 Quản lý kho hàng Nhân viên có thể xem danh sách mặt hàng.

Có thể thêm/sửa/xóa mặt hàng trong kho hàng.

5 Thêm vào giỏ hàng Khách hàng xem danh sách sản phẩm, xem chi tiết sản phẩm, và chọn thêm vào giỏ hàng.

6 Khách hàng đặt hàng Khách hàng vào giỏ hàng, xem giỏ hàng và đặt đơn hàng đang có trong giỏ.

7 Quản lí đơn hàng Nhân viên vào trang danh sách các đơn hàng, xem chi tiết/sửa/xóa đơn hàng

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

3.3 Ngôn ngữ lập trình PHP

3.3.1.Giới thiệu Định nghĩa PHP:

PHP (viết tắt là Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, dùng cho các mục đích tổng quát Rất thích hợp với các web và có thể nhúng vào trang HTML. Ưu điểm của PHP:

PHP không phải là ngôn ngữ script phía server duy nhất có sẵn Có một số lý do khác khiến PHP là ngôn ngữ script tuyệt vời để sử dụng:

- Dễ học: Có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng về ví dụ.

- Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại nền tảng như thương mại điện tử, blogs, phương tiện truyền thông xã hội

- Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.

- Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ không phải là điều lo lắng vì có rất nhiều blog PHP trên Internet.

- Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle

Framework Laravel chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế Với Framework, lập trình viên chỉ cần tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Hình 3.3.2: Mô hình MVC trong Laravel

Một số tính năng nổi bật của Laravel làm cho Framework này khác biệt so với các Web Framework khác như:

Tính mô đun là khả năng một thành phần ứng dụng web có thể tách rời và kết hợp lại, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web hoạt động.

Sử dụng cấu trúc mô đun có thể thiết kế và phát triển ứng dụng doanh nghiệp quy mô lớn dễ dàng Laravel cung cấp các hướng dẫn rất đơn giản để tạo mô đun trong Laravel.

Xác thực là một phần không thể thiếu của bất kỳ website hiện đại Các xác thực viết trong những Framework có thể mất nhiều thời gian Nhưng với Laravel thì chỉ cần chạy một lệnh dơn giản là đã có thể tạo một hệ thống xác thực đầy đủ.

Tính năng định tuyến: Định tuyến(routing) trong Laravel rất dễ hiểu, có thể sử dụng để tạo ứng dụng tĩnh Có thể nhóm các routes, áp dụng các bộ lọc cho chúng và liên kết mô hình dữ liệu với chúng Các routes có thể sử dụng để tọa các URL thêm thiện với công cụ tìm kiếm.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Bộ nhớ đệm(caching) là một kỹ thuật để lưu trữ dữ liệu trong một vị trí lưu trữ tạm thời có thể lấy ra nhanh chóng khi cần, chủ yếu sử dụng để làm tăng hiệu suất của web.

Laravel gần như lưu tất cả các dữ liệu từ View đến routes, giúp Laravel giảm thời gian xử lý và tăng hiệu suất rất nhiều.

Tính năng bảo mật tốt:

Laravel cung cấp cách tạo các ứng dụng web an toàn Lưu trữ tất cả mật khẩu dưới dạng hash, thay vì mật khẩu text đơn giản.

Laravel cung cấp bảo mật để chống lại các cuộc tấn công truy vấn cơ sở dữ liệu An toàn khi xử lý với dữ liệu mà người dùng cung cấp.

3.4 Hệ quản trị cơ sở dữ liệu

Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức.

Hệ quản trị cơ sở dữ liệu (Database Management System) là một phần mềm để lưu trữ và truy xuất dữ liệu của người dùng trong khi xem xét các biện pháp bảo mật thích hợp Nó bao gồm một nhóm các chương trình thao tác cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu chấp nhận yêu cầu dữ liệu từ một ứng dụng và hướng dẫn hệ điều hành cung cấp dữ liệu cụ thể Trong các hệ thống lớn, nó giúp người dùng và phần mềm bên thứ ba lưu trữ và truy xuất dữ liệu.

3.4.2 Chức năng của hệ cơ sở dữ liệu

Cung cấp môi trường tạo lập cơ sở dữ liệu: Hệ quản trị CSDL đóng vai trò cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu để mô tả, khai báo kiểu dữ liệu, các cấu trúc dữ liệu.

Cung cấp cách cập nhật và khai thác dữ liệu: Hệ quản trị CSDL cung cấp cho người dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu, các thao tác cập nhật và

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng khai thác cơ sở dữ liệu: Cập nhật (nhập, sửa, xóa dữ liệu), Khai thác (tìm kiếm, kết xuất dữ liệu).

Cung cấp các công cụ kiểm soát, điều khiển các truy cập vào cơ sở dữ liệu:

Nhằm đảm bảo thực hiện một số yêu cầu cơ bản của hệ cơ sở dữ liệu Bao gồm: Đảm bảo an ninh và ngăn chặn các truy cập bất hợp pháp; Duy trì tính nhất quán của dữ liệu

CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG

Ngôn ngữ lập trình PHP

3.3.1.Giới thiệu Định nghĩa PHP:

PHP (viết tắt là Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, dùng cho các mục đích tổng quát Rất thích hợp với các web và có thể nhúng vào trang HTML. Ưu điểm của PHP:

PHP không phải là ngôn ngữ script phía server duy nhất có sẵn Có một số lý do khác khiến PHP là ngôn ngữ script tuyệt vời để sử dụng:

- Dễ học: Có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng về ví dụ.

- Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại nền tảng như thương mại điện tử, blogs, phương tiện truyền thông xã hội

- Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.

- Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ không phải là điều lo lắng vì có rất nhiều blog PHP trên Internet.

- Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle

Framework Laravel chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế Với Framework, lập trình viên chỉ cần tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Hình 3.3.2: Mô hình MVC trong Laravel

Một số tính năng nổi bật của Laravel làm cho Framework này khác biệt so với các Web Framework khác như:

Tính mô đun là khả năng một thành phần ứng dụng web có thể tách rời và kết hợp lại, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web hoạt động.

Sử dụng cấu trúc mô đun có thể thiết kế và phát triển ứng dụng doanh nghiệp quy mô lớn dễ dàng Laravel cung cấp các hướng dẫn rất đơn giản để tạo mô đun trong Laravel.

Xác thực là một phần không thể thiếu của bất kỳ website hiện đại Các xác thực viết trong những Framework có thể mất nhiều thời gian Nhưng với Laravel thì chỉ cần chạy một lệnh dơn giản là đã có thể tạo một hệ thống xác thực đầy đủ.

Tính năng định tuyến: Định tuyến(routing) trong Laravel rất dễ hiểu, có thể sử dụng để tạo ứng dụng tĩnh Có thể nhóm các routes, áp dụng các bộ lọc cho chúng và liên kết mô hình dữ liệu với chúng Các routes có thể sử dụng để tọa các URL thêm thiện với công cụ tìm kiếm.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Bộ nhớ đệm(caching) là một kỹ thuật để lưu trữ dữ liệu trong một vị trí lưu trữ tạm thời có thể lấy ra nhanh chóng khi cần, chủ yếu sử dụng để làm tăng hiệu suất của web.

Laravel gần như lưu tất cả các dữ liệu từ View đến routes, giúp Laravel giảm thời gian xử lý và tăng hiệu suất rất nhiều.

Tính năng bảo mật tốt:

Laravel cung cấp cách tạo các ứng dụng web an toàn Lưu trữ tất cả mật khẩu dưới dạng hash, thay vì mật khẩu text đơn giản.

Laravel cung cấp bảo mật để chống lại các cuộc tấn công truy vấn cơ sở dữ liệu An toàn khi xử lý với dữ liệu mà người dùng cung cấp.

Hệ quản trị cơ sở dữ liệu

Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức.

Hệ quản trị cơ sở dữ liệu (Database Management System) là một phần mềm để lưu trữ và truy xuất dữ liệu của người dùng trong khi xem xét các biện pháp bảo mật thích hợp Nó bao gồm một nhóm các chương trình thao tác cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu chấp nhận yêu cầu dữ liệu từ một ứng dụng và hướng dẫn hệ điều hành cung cấp dữ liệu cụ thể Trong các hệ thống lớn, nó giúp người dùng và phần mềm bên thứ ba lưu trữ và truy xuất dữ liệu.

3.4.2 Chức năng của hệ cơ sở dữ liệu

Cung cấp môi trường tạo lập cơ sở dữ liệu: Hệ quản trị CSDL đóng vai trò cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu để mô tả, khai báo kiểu dữ liệu, các cấu trúc dữ liệu.

Cung cấp cách cập nhật và khai thác dữ liệu: Hệ quản trị CSDL cung cấp cho người dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu, các thao tác cập nhật và

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng khai thác cơ sở dữ liệu: Cập nhật (nhập, sửa, xóa dữ liệu), Khai thác (tìm kiếm, kết xuất dữ liệu).

Cung cấp các công cụ kiểm soát, điều khiển các truy cập vào cơ sở dữ liệu:

Nhằm đảm bảo thực hiện một số yêu cầu cơ bản của hệ cơ sở dữ liệu Bao gồm: Đảm bảo an ninh và ngăn chặn các truy cập bất hợp pháp; Duy trì tính nhất quán của dữ liệu

MySQL là hệ quản trị cơ sở dữ liệu sử dụng mã nguồn mở phổ biến nhất thế giới và được các chuyên gia lập trình rất ưa chuộng trong quá trình phát triển web, phát triển ứng dụng của mình Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet MySQL có một số đặc điểm:

Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL dạng server based, hệ gần giống với SQL server.

MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt.

MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều có 1 username và password để truy nhập và truy xuất đến CSDL

MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ.

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.

GET (SELECT): Trả về một Resource hoặc một danh sách Resource. POST (CREATE): Tạo mới một Resource.

PUT (UPDATE): Cập nhật thông tin cho Resource.

DELETE (DELETE): Xoá một Resource.

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa. Ưu điểm của RESTful API

Dễ hiểu, dễ học, đơn giản.

Cho phép tổ chức các ứng dụng phức tạp, dễ dàng sử dụng tài nguyên. Quản lý tải cao nhờ HTTP proxy server và cache.

Các client mới có thể dễ dàng làm việc trên những ứng dụng khác.

Cho phép sử dụng các lệnh gọi thủ tục HTTP tiêu chuẩn để truy xuất dữ liệu và request.

RESTful API dựa trên code và có thể sử dụng nó để đồng bộ hoá dữ liệu bằng website.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng Cung cấp các định dạng linh hoạt bằng cách tuần tự hoá (serialize) dữ liệu ở dạng XML hay JSON.

Cho phép sử dụng các giao thức OAuth để xác thực request REST.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

PHÁT TRIỂN VÀ TRIỂN KHAI ỨNG DỤNG

Thiết kế kiến trúc

4.1.1 Lựa chọn kiến trúc phần mềm

- Tôi chọn mô hình MVC vì MVC (Model – View – Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.

- Các thành phần của MVC:

+Model: Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…

+View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…Hiểu một cách đơn giản, nó là tập hợp các form hoặc các file HTML

+Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận request từ url và form để thao tác trực tiếp với Model. Ưu điểm và nhược điểm của MVC:

- Ưu điểm Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế Do được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì

- Nhược điểm Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu của các thành phần.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Biểu đồ phụ thuộc gói tổng quan

- Transaction Package phụ thuộc vào Order Package

- Order Package phụ thuộc vào Customer Package

- Order Package phụ thuộc vào Amin User Package

- Order Package phụ thuộc vào Product Package

- Order Package phụ thuộc vào Suppliers Package

- Detail Product Package phụ thuộc vào Product Package

- Image Package phụ thuộc vào Product Package

- Product Package phụ thuộc vào Suppliers Package

- Product Package phụ thuộc vào Category Package

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Thiết kế chi tiết

Một số thiết kế giao diện tôi hướng tới sử dụng trong website:

- Kích thước màn hinh: 14inch

- Số lượng màu sắc hỗ trợ: đen, trắng, đỏ, xanh…

- Vị trí hiển thị thông điệp phản hồi: hiển thị dưới dạng inline message

- Thiết kế nút: To, rõ ràng, màu xanh phối cùng chữ trắng …

Một số giao diện thiết kế

Trang Xem thông tin chi tiết:

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Trang Danh sách các mặt hàng:

Tran g giỏ hàng của khách hàng:

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Hình 4.2.2 Biểu đô lớp tổng quan

Biểu đồ lớp gồm có:

- Thực thể Admin_user: id, full_name, phone, avartar, email, password, status.

- Thực thể Customer: id, full_name, phone, email, avatar, password, address, status, created_at, updated_at.

- Thực thể Category: id, user_id, c_name, c_home, c_icon, created_at, updated_at.

- Thực thể Product: id, category_id, supplier_id, user_id, p_code, p_status, p_quantity, created_at, updated_at.

- Thực thể Detail_Product: id, product_id, p_price, p_warrantty, p_title_seo, p_keyword_seo, p_description, p_content.

- Thực thể Images: id, product_id, im_name.

- Thực thể Suppliers: id, user_id, s_name, s_email, s_phone, s_fax, create_at, updated_at.

- Thực thể Order: id, transaction_id, product_id, customer_id, or_quantity, or_price, or_price_sale, created_at, updated_at.

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

- Thực thể Transactions: id, customer_id, tr_total, tr_note, tr_address, tr_phone, tr_payment, tr_status, create_at, updated_at.

Quan hệ giữa các lớp thực thể:

- Admin_user và Category có quan hệ 1 – n

- Admin_user và Suppliers có quan hệ 1 – n

- Cateory và Product có quan hệ 1 – n

- Product và Detail_Product có quan hệ 1 – 1

- Product và Images có quan hệ 1 – n

- Product và Suppliers có quan hệ n -1

- Product và Order có quan hệ n – n

- Customer và Transactions có quan hệ 1 – n

- Order và Transactions có quan hệ 1 – n

- Customer và Order có quan hệ 1 - n

Biểu đồ giao tiếp module thêm vào giỏ hàng

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

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

Hình 4.2.3: Biểu đồ cơ sở dữ liệu

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng Bảng admin_user

STT Tên trường Kiểu dữ liệu Ghi chú Ràng buộc

1 id int Khóa định danh Khóa chính

2 Full_name String Tên người dùng

3 Phone String Số điện thoại

STT Tên trường Kiểu dữ liệu Ghi chú Ràng buộc

1 id int Khóa định danh Khóa chính

2 Category_id int Id category Khóa phụ

3 User_id int Id user Khóa phụ

4 Supplier_id int Id supplier Khóa phụ

STT Tên trường Kiểu dữ liệu Ghi chú Ràng buộc

1 id int Khóa định danh Khóa chính

2 Transaction_id int Id Transaction Khóa phụ

3 Product_id int Id Product Khóa phụ

4 Customer_id int Id Customer Khóa phụ

5 Or_price_sale Int Giá giảm

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

6 Or_price int Giá bán

7 Or_quantity int Số lượng

Xây dựng ứng dụng

4.3.1 Thư viện va công cụ sử dụng

Danh sách thư viện và công cụ sử dụng:

Mục đích Công cụ Địa chỉ URL

IDE Lập trình Visual studio code https://code.visualstudio.com

Library NodeJS https://nodejs.org/en/

Kết quả đạt được bao gồm hoàn thiện các chức năng như authentication, quản lí người dùng, khách hàng thêm vào giỏ hàng, đặt hàng…

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng Bảng thống kê:

4.3.3 Minh họa chức năng chính

- Người dùng nhập username và password để đăng nhập.

- Hệ thống sẽ kiểm tra username và password có tồn tại không.

- Nếu tồn tại, cho phép đăng nhập.

- Nếu không thì hiển thị thông báo lỗi.

Chức năng xem giỏ hàng

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

- Khách hàng đăng nhập thành công

- Khách hàng chọn vao trang giỏ hàng

- Hệ thống trả về danh sách giỏ hàng và hiển thị lên màn hình.

Triển khai

PROJECT 3 Giáo viên hướng dẫn: Vũ Đức Vượng

Ngày đăng: 30/05/2024, 14:56

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

TÀI LIỆU LIÊN QUAN