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

thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel

86 3 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ế hệ thống Eatclean sử dụng công nghệ ReactJS và Laravel
Tác giả Cao Nhật Khang
Người hướng dẫn THS. Trương Quang Phúc
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật Máy tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 86
Dung lượng 10,15 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (16)
    • 1.1. Giới thiệu đề tài (16)
    • 1.2. Mục tiêu nghiên cứu (17)
    • 1.3. Ý nghĩa đề tài (17)
    • 1.4. Phạm vi nghiên cứu (17)
    • 1.5. Phương pháp nghiên cứu (18)
    • 1.6. Yêu cầu chức năng (0)
    • 1.7. Yêu cầu phi chức năng (0)
    • 1.8. Cấu trúc đồ án (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (21)
    • 2.1. Kiến trúc hệ thống (21)
      • 2.1.1. Giới thiệu (21)
      • 2.1.2. Kiến trúc Front-Back (21)
      • 2.1.3. Kiến trúc Microservice (22)
    • 2.2. Các công nghệ áp dụng (22)
      • 2.2.1. Tổng quan về Laravel (22)
      • 2.2.2. ReactJS (29)
      • 2.2.3. MySQL (32)
  • CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ (33)
    • 3.1. Quy trình hoạt động (33)
    • 3.2. Mô hình use case và đặc tả (34)
      • 3.2.1. Admin (34)
      • 3.2.2. User (37)
        • 3.2.2.1. Use case quản lý combo món ăn (37)
        • 3.2.2.2. Use case quản lý món ăn trong combo (40)
        • 3.2.2.3. Use case quản lý đơn đặt hàng (43)
        • 3.2.2.4. Use case thống kê, phân tích doanh thu và đơn hàng (45)
      • 3.2.3. Customer (47)
        • 3.2.3.1. Use case tính toán chỉ số TDEE (47)
        • 3.2.3.2. Use case đặt hàng (48)
        • 3.2.3.3. Use case thành viên (50)
    • 3.3. Sơ đồ hoạt động (52)
      • 3.3.1. Admin (52)
      • 3.3.2. User (53)
        • 3.3.2.1. Chức năng quản lý combo món ăn (53)
        • 3.3.2.2. Chức năng quản lý món ăn trong combo (54)
        • 3.3.2.3. Chức năng quản lý đơn đặt hàng (55)
        • 3.3.2.4. Chức năng thống kê, phân tích doanh thu và đơn hàng (56)
      • 3.3.3. Customer (57)
        • 3.3.3.1. Chức năng tính toán chỉ số TDEE (57)
        • 3.3.3.2. Chức năng đặt hàng (58)
        • 3.3.3.3. Chức năng thành viên (59)
    • 3.4. Mô hình thực thể kết hợp (0)
  • CHƯƠNG 4: TRIỂN KHAI HỆ THỐNG (61)
    • 4.1. Hướng dẫn sử dụng hệ thống (61)
      • 4.1.1. Trang quản trị (61)
        • 4.1.1.1. Quản lý tài khoản (61)
        • 4.1.1.2. Quản lý Combo (65)
        • 4.1.1.3. Quản lý món ăn (68)
        • 4.1.1.4. Quản lý đơn đặt hàng (71)
        • 4.1.1.5. Thống kê và phân tích dữ liệu (72)
      • 4.1.2. Trang khách hàng (74)
        • 4.1.2.1. Tính toán TDEE (74)
        • 4.1.2.2. Đặt hàng (75)
        • 4.1.2.3. Thành viên (80)
    • 4.2. Đánh giá hệ thống (82)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (84)
    • 5.1. Kết quả đạt được (84)
    • 5.2. Hướng phát triển (84)
  • TÀI LIỆU THAM KHẢO (85)

Nội dung

User bao gồm các chức năng về quản lý như quản lý combo, quản lý món ăn trong combo, quản lý đơn hàng, thu thập và phân tích dữ liệu.. Một yếu tố quan trọng của hệ thống Eatclean là khả

TỔNG QUAN

Giới thiệu đề tài

Trong xã hội ngày nay, tình trạng sức khỏe của con người luôn được xem là một vấn đề cốt lõi mà chúng ta cần quan tâm và coi trọng hàng đầu Với tốc độ phát triển không ngừng nghỉ của công nghệ và kỹ thuật, cuộc sống hiện đại đã mang lại nhiều tiện nghi và tiện ích cho mỗi người chúng ta Tuy nhiên, điều này cũng đi kèm với những tác động xấu đến sức khỏe Chúng ta thường xem nhẹ tầm quan trọng của sức khỏe cho đến khi có những vấn về cơ thể Áp lực từ công việc, cuộc sống bận rộn và những yêu cầu ngày càng cao đã khiến cho đại đa số chúng ta bỏ qua việc chăm sóc sức khỏe và không quan tâm đến chế độ dinh dưỡng Số lượng người mắc những căn bệnh liên quan đến việc ăn uống thiếu khoa học như suy dinh dưỡng, thừa cân béo phì, suy nhược cơ thể ngày một tăng Có nhiều bệnh lý không chỉ ảnh hưởng trực tiếp đến sức khỏe của một người, mà còn có thể ảnh hưởng đến các thế hệ sau này

Với mục tiêu nâng cao chất lượng cuộc sống, giữ gìn sức khỏe và rèn luyện ngoại hình tốt từ bên trong, việc chăm sóc bản thân và cung cấp đầy đủ dinh dưỡng từ mỗi bữa ăn trở thành yếu tố quan trọng hàng đầu Nhận thức về nhu cầu thiết yếu này của đa số người tiêu dùng ngày nay, website Eatclean ra đời như một hệ thống chuyên cung cấp dịch vụ thực phẩm sạch và lành mạnh, giúp mọi người tiếp cận các món ăn đa dạng được chuẩn bị sẵn Các món ăn này không chỉ vừa ngon miệng, mà còn đươc thiết kế để đảm bảo cung cấp đầy đủ chất dinh dưỡng giúp cho người dùng không cần mất nhiều thời gian để nấu nướng

Eatclean không chỉ đơn thuần là một trang web, mà còn là một nền tảng phát triển dựa trên nhu cầu sức khỏe của khách hàng Eatclean tận dụng các hệ thống công nghệ hiện đại để mang lại trải nghiệm tốt nhất cho khách hàng Với một giao diện thân thiện và dễ sử dụng, Eatclean tạo điều kiện cho người dùng dễ dàng tìm hiểu và tham gia vào việc xây dựng một chế độ ăn lành mạnh phù hợp với nhu cầu cá nhân của mỗi người Bằng cách cung cấp cho người dùng công cụ tính toán TDEE TDEE là tổng năng lượng mà cơ thể tiêu thụ trong một ngày, bao gồm năng lượng cần thiết để duy trì các hoạt động hàng ngày, quá trình trao đổi chất và vận động từ đó giúp cho người dùng có thể điều chỉnh chế độ ăn một cách phù hợp Ngoài ra, Eatlean còn cung cấp một loạt các tùy chọn thực đơn và gói ăn phù hợp Các món ăn được lựa chọn, tính toán kỹ càng và đáp ứng độ tươi ngon, đảm bảo rằng chúng cung cấp đủ lượng đạm, tinh bột, chất béo, vitamin và khoáng chất cần thiết để duy trì sức khỏe một cách an toàn và khoa học

Hệ thống Eatclean tận dụng các công nghệ phổ biến như ReactJS và Laravel để đảm bảo hiệu suất cao và trải nghiệm người dùng được tốt nhất Với việc sử dụng một thư viện Front-end là ReactJS, hệ thống đem lại khả năng tương tác cao, giúp trang web phản hồi nhanh chóng Bên cạnh đó, việc sử dụng thêm framework Back- end Laravel giúp hệ thống có khả năng xử lý dữ liệu từ đơn giản đến phức tạp, quản lý tài nguyên và an toàn về bảo mật cũng như khả năng xử lý lỗi.

Mục tiêu nghiên cứu

Khảo sát nhu cầu và ý tưởng của nhà kinh doanh về thực các món ăn sạch để tiếp cận khách hàng thông qua các phương tiện truyền thông đại chúng Tập trung vào việc hiểu rõ nhu cầu và mong muốn của nhà kinh doanh bao gồm việc tìm hiểu các yếu tố quan trọng mà khách hàng đang tìm kiếm trong dịch vụ thực phẩm sạch

Chọn ra các thao tác có thể chuyển đổi thành các tính năng trên hệ thống website để giúp cho công việc quản lý và vận hành trở nên đơn giản và tối ưu hơn

Nghiên cứu, tìm hiểu và chọn ra các kiến trúc và công nghệ phù hợp để xây dựng nên hệ thống ứng dụng

Xây dựng hoàn tất một hệ thống thương mại điện tử về thực phẩm sạch hỗ trợ người kinh doanh và khách hàng sử dụng hiệu quả.

Ý nghĩa đề tài

Xây dựng và phát triển hệ thống Eatclean mang ý nghĩa vô cùng quan trọng và hữu ích cho nhà kinh doanh Đầu tiên, nó giúp tối ưu hóa hoạt động mua bán, tạo điều kiện thuận lợi và tiện lợi cho việc giao dịch và giao hàng đối với khách hàng Việc áp dụng công nghệ thông tin vào hoạt động kinh doanh giúp tiết kiệm thời gian và công sức, từ đó gia tăng hiệu quả và lợi nhuận

Một ý nghĩa quan trọng khác của dự án này là tích hợp và phân tích dữ liệu khách hàng Hệ thống sẽ thu thập thông tin về hành vi tiêu dùng của khách hàng, từ đó giúp nhà kinh doanh hiểu rõ hơn về nhu cầu và sở thích của khách hàng Phân tích dữ liệu này sẽ cung cấp những giá trị, giúp người kinh doanh đưa ra chiến lược kinh doanh phù hợp và tối ưu hóa các quyết định về sản phẩm, tiếp thị và phân phối Bên cạnh đó, việc xây dựng hệ thống Eatclean cũng hỗ trợ phủ sóng thông điệp "Ăn sạch - Ăn khoẻ" của người kinh doanh tới khách hàng Nhờ sự tiện lợi và dễ dàng tiếp cận thông qua website, người kinh doanh có thể tăng cường thông điệp về lợi ích của việc ăn uống lành mạnh và chất lượng cao Điều này góp phần thúc đẩy ý thức về sức khỏe và tạo ra sự lan tỏa của phong cách sống Eatclean trong cộng đồng.

Phạm vi nghiên cứu

3 Ở đề tài này, sẽ triển khai xây dựng hoàn tất một hệ thống website sử dụng công nghệ ReactJS, nằm tạo ra trải nghiệm tốt nhất cho người dùng của hệ thống Eatclean Để xử lý thao tác quản lý và vận hành hệ thống Eatclean, sẽ sử dụng các quy trình đã được khảo sát và xây dựng API server, cung cấp các xử lý cho người dùng trên website bằng công nghệ Laravel

Hệ thống sẽ giải quyết các vấn đề trong việc quản lý và vận hành một nhà hàng như quản lý các combo, món ăn Qua đó, Eatclean dễ dàng cập nhật và đưa ra những món ăn, combo hấp dẫn và phù hợp đến với khách hàng

Ngoài việc quản lý menu, hệ thống cũng sẽ giải quyết các vấn đề về đặt hàng, cập nhật đơn đặt hàng Một yếu tố quan trọng của hệ thống Eatclean là khả năng thống kê và phân tích các dữ liệu từ đó nhìn nhận được xu hướng tiêu dùng và nắm bắt sở thích của khách hàng từ đó định hình được chiến lược kinh doanh

Ngoài ra, Eatclean còn mang lại lợi ích cho khách hàng bằng cách cung cấp một giao diện thân thiện và dễ sử dụng Khách hàng có thể chọn ra được những combo phù hợp với cơ thể một cách nhanh chóng và dễ dàng giúp tiết kiện một khoảng thời gian.

Phương pháp nghiên cứu

Dùng phương pháp nghiên cứu thông qua việc khảo sát từ người kinh doanh và khách hàng để kết hợp tạo nên hệ thống website dễ dàng tiếp cận và tạo hiệu quả tối đa khi sử dụng

Hành vi tiêu dùng thực tế của khách hàng sẽ thể hiện qua việc tìm kiếm, hành vi mua các sản phẩm bằng các trang mạng xã hội hay thương mại, đây là một nguồn dữ liệu lớn để người kinh doanh có thể đặt ra định hưởng xây dựng và phát triển website để tiếp cận đến khách hàng một cách tối ưu

Nghiên cứu các kiến trúc và công nghệ phù hợp để áp dụng Thiết kế, xây dựng ứng dụng, triển khai và cài đặt ứng dụng hệ thống API server

Trong hệ thống website này sẽ chủ yếu bao gồm bao gồm 3 đối tượng Admin, User và Customer cùng với các tính năng:

- Thống kê và phân tích dữ liệu

+ Thành viên mới đăng ký

+ Biểu đồ phân tích doanh thu và số lượng đơn hàng trong 12 tháng

+ Chỉnh sửa thông tin combo

+ Tìm kiếm thông tin combo

- Quản lý món ăn trong combo

+ Thêm món ăn vào trong combo

+ Chỉnh sửa thông tin món ăn

- Quản lý đơn đặt hàng

+ Xem chi tiết đơn đặt hàng

+ Cập nhật trạng thái đơn đặt hàng

Admin: tương tự như User và có thêm chức năng quản lý User:

- Chỉnh sửa thông tin tài khoản User

- Khóa và mở khóa tài khoản User

- Đăng ký và đăng nhập thành viên

- Tính toán chỉ số TDEE

- Đặt hàng chọn món ăn và chọn khu vực giao hàng

- Thanh toán bằng tiền mặt hoặc qua cổng thanh toán trực tuyến VNPAY

- Gửi email đơn hàng sau khi đã đặt hàng và thanh toán thành công

- Thành viên (xem và chỉnh sửa một số thông tin cá nhân, xem lịch sử đơn đặt hàng và hủy đơn hàng khi đơn hàng ở trạng thái đơn hàng mới)

1.7 Yêu cầu phi chức năng

Giao diện người dùng cần phải hài hòa, các thành phần, màu sắc và hình ảnh được sử dụng hợp lý nhằm thu hút người dùng sử dụng trang web

Hệ thống ổn định và tối ưu giúp người dùng có một trải nghiệm mượt mà, không gặp sự cố nào đó khi sử dụng Đồng thời phải tối ưu hiệu suất để trang web có thể tải trang nhanh

Trang web cần được thiết kế và phát triển để có khả năng mở rộng trong tương lai Nhu cầu con người ngày càng tăng vì vậy điều này giúp cho trang web có thể tích hợp tính năng một cách dễ dàng

Dễ sử dụng và trải nghiệm người dùng tốt Giao diện người dùng phải thiết kế rõ ràng, dễ hiểu và sắp xếp logic một cách đơn giản và hợp lý Đồng thời, đảm bảo được trang web có thể tương thích tốt trên các thiết bị và trình duyệt khác nhau

Cuối cùng là về tính bảo mật và an ninh thông tin cho người dùng Các biện pháp bảo mật giúp cho người dùng tránh được việc bị đánh cắp dữ liệu, các mối đe dọa bên ngoài Bao gồm việc sử dụng mã hóa dữ liệu, xác thực người dùng, …

Chương 1: Giới thiệu tổng quan

- Yêu cầu phi chức năng

Chương 2: Tìm hiểu cơ sở lý thuyết

- Tìm hiểu về các kiến trúc hệ thống

- Tìm hiểu về các công nghệ phù hợp để sử dụng trong việc xây dựng ứng dụng

Chương 3: Thiết kế hệ thống

- Phân tích hệ thống và đưa ra đặc tả cho ứng dụng

- Đưa ra sự đồ hoạt động của từng chức năng

Chương 4: Triển khai ứng dụng

- Hướng dẫn sử dụng ứng dụng

Chương 5: Đưa ra kết luận và hướng phát triển của hệ thống

Cấu trúc đồ án

Chương 1: Giới thiệu tổng quan

- Yêu cầu phi chức năng

Chương 2: Tìm hiểu cơ sở lý thuyết

- Tìm hiểu về các kiến trúc hệ thống

- Tìm hiểu về các công nghệ phù hợp để sử dụng trong việc xây dựng ứng dụng

Chương 3: Thiết kế hệ thống

- Phân tích hệ thống và đưa ra đặc tả cho ứng dụng

- Đưa ra sự đồ hoạt động của từng chức năng

Chương 4: Triển khai ứng dụng

- Hướng dẫn sử dụng ứng dụng

Chương 5: Đưa ra kết luận và hướng phát triển của hệ thống

CƠ SỞ LÝ THUYẾT

Kiến trúc hệ thống

Kiến trúc hệ thống là một phần quan trọng không thể thiếu trong thiết kế phần mềm Nó cung cấp một cái nhìn tổng quan về việc phát triển và quản lý một dự án phần mềm Kiến trúc hệ thống bao gồm các thành phần chính sau:

- Các thành phần cấu tạo hệ thống: Bao gồm ngôn ngữ lập trình, framework và thư viện được sử dụng trong quá trình phát triển hệ thống

- Luồng dữ liệu và quy trình: Xác định cách dữ liệu được xử lý, lưu trữ và truyền tải trong hệ thống Điều này bao gồm phân tích quy trình làm việc hiện tại và thiết kế quy trình mới để đạt được mục tiêu kinh doanh

- Ước tính số lượng người dùng, chi phí phát triển và duy trì hệ thống: Đánh giá và ước tính số lượng người dùng dự kiến sử dụng hệ thống, đồng thời xác định chi phí phát triển và duy trì hệ thống trong quá trình vận hành

Kiến trúc Front-Back [3] (còn được gọi là kiến trúc Client-Server) là một kiểu kiến trúc quan trọng và phổ biến trong thiết kế hệ thống website Theo kiến trúc này, ứng dụng được chia thành hai phần độc lập bao gồm:

- Front-end: Đây là phần giao diện người dùng, được sử dụng để hiển thị nội dung và tương tác với người dùng Front-end thường được xây dựng bằng các ngôn ngữ và công nghệ HTML, CSS, JavaScript, thư viện ReactJS và các framework như VueJS, Angular Front-end cung cấp giao diện người dùng tương tác và có khả năng đáp ứng trên các thiết bị di động với kích thước màn hình khác nhau, giúp cung cấp trải nghiệm tốt cho người dùng

- Back-end: Đây là phần xử lý logic, truy xuất và lưu trữ dữ liệu cho Front- end Back-end thường được xây dựng bằng các ngôn ngữ và framework như PHP, Laravel, Nodejs, Python, Ruby, và sử dụng một số cơ sở dữ liệu để lưu trữ thông tin dữ liệu Ngoài ra, phần Back-end cũng có trách nhiệm bảo mật dữ liệu và đảm bảo an toàn cho hệ thống khỏi các cuộc tấn công từ bên ngoài Ưu điểm:

- Kiến trúc Front-Back giúp tách biệt phần giao diện và xử lý logic của hệ thống, giúp việc phát triển và bảo trì trở nên dễ dàng hơn

- Cung cấp khả năng mở rộng và mô-đun hóa ứng dụng, đồng thời tăng tính bảo mật và khả năng phát triển độc lập giữa các thành viên phát triển 1 dự án

- Không phù hợp để xử lý tải quá lớn, gặp khó khăn trong việc phát triển đối với các dự án lớn

Kiến trúc Microservice là kiến trúc trong đó hệ thống Back-end được phân tách thành nhiều service nhỏ, mỗi service đảm nhận một hoặc một nhóm các chức năng theo từng module cụ thể

Ví dụ trong một trang web bán hàng, nó có thể có các module như sản phẩm, khách hàng, đơn hàng Và mỗi module này có thể được tách thành một dự án riêng biệt, được gọi là microservice Các microservice trong kiến trúc microservice là độc lập với nhau, có thể sử dụng kiến trúc và công nghệ khác nhau, thậm chí có thể sử dụng cơ sở dữ liệu riêng biệt

Các microservice trong kiến trúc microservice liên kết với nhau thông qua một thành phần gọi là API gateway hoặc message queue

API gateway là một điểm cuối (endpoint) đơn nhất mà các client có thể giao tiếp để truy cập vào các microservice Nó đảm bảo sự liên lạc giữa các microservice và cung cấp một giao diện đơn giản cho client giao tiếp với toàn bộ hệ thống

Message queue là một hệ thống phân phối thông điệp cho phép các microservice gửi và nhận thông điệp qua một hàng đợi, đảm bảo tính đồng bộ và truyền thông hiệu quả giữa các microservice Ưu điểm:

- Áp dụng nhiều công nghệ tùy theo nhu cầu mỗi chức năng Hệ thống website có thể tận dụng tối đa các công nghệ mới nhất

- Dễ dàng mở rộng hệ thống

- Linh hoạt triển khai các microservice đáp ứng tốt với tải hệ thống và tối ưu hóa hiệu năng

- Triển khai và quản lý kiến trúc microservice đòi hỏi nhân sự có kiến thức chuyên sâu về kiến trúc hệ thống

- Hệ thống có tính phức tạp cao Các microservice phải liên kết với nhau vì vậy mà xử lý lỗi phức tạp hơn các kiến trúc hệ thống khác

- Xây dựng và thiết kế hệ thống microservice đòi hỏi sự hiểu biết rõ ràng về các module và tương tác giữa chúng Đòi hỏi kỹ năng thiết kế cao.

Các công nghệ áp dụng

Laravel là một web Back-end framework [4] được viết bằng ngôn ngữ PHP Cung cấp các tính năng phát triển như quản lý định tuyến, quản lý cơ sở dữ liệu, xác

8 thực người dùng So với các ngôn ngữ Back-end khác, Laravel có cấu trúc an toàn, dễ sử dụng, dễ bảo trì và hiệu suất cao

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

- Routing: Laravel có hệ thống routing mạnh mẽ, hỗ trợ các loại HTTP request như GET, POST, PUT, DELETE, …

- Hệ thống middleware: giúp cho các người phát triển hệ thống xử lý các yêu cầu trước khi qua xử lý bởi ứng dụng Đồng thời xử lý dữ liệu, xác thực người dùng và kiểm tra quyền truy cập.

- Sử dụng mô hình MVC (Model-View-Controller): phân chia ứng dụng thành các phần độc lập để dễ bảo trì và phát triển.

- Hỗ trợ unit test: kiểm thử các đoạn code từ đó dễ dàng phát hiện lỗi trước khi đưa ra thị trường sử dụng. Để hiểu hơn về cách thức hoạt động của Laravel Các tính năng của Laravel được mô tả như sau:

Trong Laravel, Migration là một công cụ mạnh mẽ giúp quản lý dữ liệu và bảng trong cơ sở dữ liệu một cách dễ dàng

Thay vì tạo dữ liệu trên cơ sở dữ liệu một cách thủ công và sử dụng Query Builder để quản lý Laravel còn cung cấp phương pháp Migration để tạo, chỉnh sửa và xóa cấu trúc của cơ sở dữ liệu Ở mỗi Migration sẽ bao gồm hai phương thức chính là up và down Trong phương thức up, người dùng có thể thêm bảng, cột và các thay đổi cấu trúc cơ sở dữ liệu Ngược lại, phương thức down được sử dụng để thực hiện rollback, tức là hoàn tác các thay đổi được thực hiện bởi phương thức up

Trước khi sử dụng Migration, người dùng cần cấu hình thông tin kết nối cơ sở dữ liệu trong file env sử dụng khi đang phát triển trên localhost và file /config/database.php (sử dụng khi triển khai trên môi trường sản phẩm)

Migration giúp cho việc quản lý cơ sở dữ liệu trở nên dễ dàng và linh hoạt hơn Người dùng có thể theo dõi và kiểm soát các thay đổi cấu trúc cơ sở dữ liệu theo

9 thời gian, đồng thời cho phép đồng bộ hóa cấu trúc giữa các môi trường khác nhau của hệ thống ứng dụng Đây là một cách tốt để quản lý cơ sở dữ liệu trong Laravel Dễ dàng chuyển đổi các cấu trúc bảng sang một version mới chẳng hạn Ngoài ra, Migration đảm bảo tính nhất quán và dễ dàng triển khai với các thay đổi cấu trúc

Seeding và Factory là hai công cụ quan trọng trong Laravel được người dùng sử dụng để tạo dữ liệu mẫu và dữ liệu giả trong quá trình phát triển và kiểm thử hệ thống website Chúng giúp đảm bảo tính chính xác và hiệu suất của hệ thống, đồng thời tiết kiệm thời gian so với việc tạo dữ liệu bằm thủ công

Seeding cho phép người dùng tạo dữ liệu mẫu trong cơ sở dữ liệu Để tạo một file seeding, người dùng có thể sử dụng câu lệnh sau: php artisan make:seeder SeederName

Trong đó, “SeederName” là tên của file seeding mà người dùng muốn tạo Sau khi thực hiện câu lệnh, Laravel sẽ tạo một file seeding mới trong thư mục database/seeders của dự án

File gốc của seeding là DatabaseSeeder.php, người dùng có thể tạo nhiều file seeding khác nhau nhưng phải gọi chúng trong hàm run() của file DatabaseSeeder.php Để tiến hành chạy tất cả các file được gọi trong DatabaseSeeder.php và tạo dữ liệu, người dùng sử dụng câu lệnh: php artisan db:seed

Trong những trường hợp cần tạo một lượng lớn dữ liệu giả, seeding trở nên không hiệu quả Thay vào đó, Laravel cung cấp Factory để người dùng có thể tạo số lượng lớn dữ liệu giả một cách dễ dàng Để tạo một file Factory, người dùng có thể sử dụng câu lệnh: php artisan make:factory FactoryName

Trong đó, “FactoryName” là tên của file factory mà người dùng muốn tạo Sau khi thực hiện câu lệnh, Laravel sẽ tạo mộ file factory mới trong thư mục database/factories của dự án

Laravel còn cung cấp các hàm như fake() giúp người dùng tạo dữ liệu giả với các định dạng phổ biến như số điện thoại, công ty, màu sắc, số ngẫu nhiên, email, tên người dùng, mật khẩu, địa chỉ, Sau khi tạo file Factory, người dùng có thể gọi nó trong hàm run() của file seeding để chạy

Sử dụng Seeding hay Factory trong Laravel đều giúp người dùng dễ dàng tạo dữ liệu mẫu và dữ liệu giả, đồng thời giúp kiểm thử và phát triển ứng dụng một cách

PHÂN TÍCH VÀ THIẾT KẾ

Quy trình hoạt động

Hệ thống website Eatclean cung cấp một tài khoản Admin cho nhà kinh doanh, giúp họ quản lý các tài khoản User Với tài khoản Admin, nhà kinh doanh có quyền tạo mới, chỉnh sửa và khóa tài khoản và thực hiện các chức năng tương tự User

Các tài khoản User có thể đăng nhập vào hệ thống để sử dụng các dịch vụ liên quan đến quản lý combo, quản lý món ăn trong combo, quản lý đơn hàng và xem các thống kê liên quan và phân tích Các chức năng User bao gồm quản lý combo, quản lý món ăn trong combo, quản lý đơn đặt hàng, các thống kê liên quan đến đơn hàng như số lượng đơn hàng, doanh thu, phân tích doanh thu và đơn hàng theo mỗi tháng

Sau khi hệ thống đã có một quy trình quản lý chặt chẽ, website sẽ được đưa đến tay Customer Customer có thể sử dụng tính năng tính TDEE để tính toán lượng calories in để biết cơ thể cần nạp những chất dinh dưỡng như thế nào, từ đó dễ dàng đạt được mục tiêu của mình, bất kể là tăng cân, giữ cân hoặc giảm cân

Sau khi có thông tin về các chỉ số của mình, Customer có thể xem và lựa chọn các combo phù hợp với nhu cầu cá nhân Quá trình đặt hàng và thanh toán được thực hiện dễ dàng qua ba bước:

Bước 1: Chọn món ăn trong combo

- Customer lựa chọn số lượng các món ăn quy định trong combo Mỗi combo thường có nhiều món, Eatclean đã tính toán và cân đối chúng để tạo ra một combo hoàn hảo nhất có thể, đảm bảo lượng calories phù hợp

Bước 2: Chọn khu vực giao hàng

- Customer chọn khu vực muốn nhận hàng để tính toán giá trị tổng đơn hàng Các khu vực khác nhau có thể có mức phí giao hàng khác nhau Bước 3: Nhập thông tin giao hàng và thanh toán

- Customer cung cấp thông tin giao hàng và lựa chọn phương thức thanh toán Eatclean cung cấp hai phương thức thanh toán là COD (thanh toán khi nhận hàng) và VNPAY (thanh toán trực tuyến)

Sau khi thanh toán hoàn tất, hệ thống sẽ gửi email xác nhận thông tin về đơn đặt hàng đến Customer Đối với những Customer đã là thành viên, họ có thêm tính năng quản lý đơn hàng Thành viên có thể xem lịch sử các đơn hàng đã đặt, các đơn hàng hiện tại và có thể hủy đơn hàng với điều điện đơn hàng phải là đơn hàng mới

Qua quy trình trên, có thể thấy hệ thống Eatclean cung cấp một trải nghiệm thuận tiện và dễ dàng cho Admin, User và Customer, giúp họ quản lý combo, món ăn, đơn hàng và đạt được mục tiêu dinh dưỡng của mình một cách hiệu quả.

Mô hình use case và đặc tả

Use case quản lý tài khoản người dùng

Sơ đồ 3.1 Use case chức năng quản lý tài khoản

Use case Quản lý tài khoản người dùng

Summary Admin quản lý tài khoản người dùng trên hệ thống

1 Admin đăng nhập vào hệ thống trang quản trị

2 Hệ thống xác thực thông tin đăng nhập và hiển thị trang quản trị bao gồm những tính năng mà actor có thể sử dụng

3 Admin chọn chức năng quản lý người dùng để thực hiện các tác vụ liên quan đến quản lý tài khoản người dùng

4 Hệ thống hiển thị trang quản lý người dùng bao gồm danh sách tài khoản, các tính năng về CRUD và tìm kiếm thông tin tài khoản

5 Admin chọn chức năng thêm tài khoản người dùng mới

6 Hệ thống hiển thị popup thêm tài khoản và thực hiện thêm tài khoản theo yêu cầu người dùng

7 Admin chọn chức năng khóa hoặc mở khóa tài khoản người dùng cụ thể

8 Hệ thống hiển thị thông báo xác nhận khóa hoặc mở khóa người dùng trước khi thực hiện và sau đó thực hiện yêu cầu

9 Admin chọn chức năng chỉnh sửa thông tin của một tài khoản cụ thể

10 Hệ thống hiển thị popup chỉnh sửa thông tin tài khoản và thực hiện theo yêu cầu người dùng

11 Admin nhập các từ khóa để tìm kiếm thông tin tài khoản theo tên và email

12 Hệ thống hiển thị những kết quả tìm được theo từ khóa mà người dùng nhập

Triggers Admin muốn quản lý tài khoản trên hệ thống

Assumptions Admin đã thao tác các chức năng

Post conditions Các thông tin của tài khoản đã được lưu vào cơ sở dữ liệu

Bảng 3.1 Đặc tả use case chức năng quản lý tài khoản

Ngoài những chức năng quản lý trên, Admin còn có thể thực hiện các chức năng quản lý tương tự User như quản lý combo, quản lý món ăn trong combo, quản lý đơn đặt hàng, xem được trang thống kê và phân tích các dữ liệu Tóm lại, Admin có quyền hạn cao hơn User và bao quát User

3.2.2.1 Use case quản lý combo món ăn

Sơ đồ 3.2 Use case chức năng quản lý combo món ăn Use case Quản lý combo món ăn

Summary User quản lý combo món ăn trên hệ thống

1 User đăng nhập vào hệ thống trang quản trị

2 Hệ thống xác thực thông tin đăng nhập và hiển thị trang quản

23 trị bao gồm những tính năng mà actor có thể sử dụng

3 User chọn chức năng quản lý combo trong trang quản trị

4 Hệ thống hiển thị trang quản lý combo cho phép User tạo mới, chỉnh sửa, tìm kiếm các thông tin và xóa combo

5 User chọn chức năng tạo mới combo món ăn

6 Hệ thống hiển thị popup tạo combo món ăn và thực hiện theo yêu cầu người dùng

7 User nhập thông tin combo món ăn như: tên, mô tả, giá, hình ảnh, số món trong combo, chỉ số calories và lưu ý (không được trùng với combo có sẵn)

8 Hệ thống kiểm tra, lưu thông tin combo vào cơ sở dữ liệu và hiển thị thông báo tạo thành công

9 User chọn một combo cụ thể cần chỉnh sửa từ danh sách các combo có trong hệ thống

10 Hệ thống hiển thị pop chỉnh sửa các thông tin combo

11 User có thể chỉnh sửa một số thông tin combo về mô tả,

24 giá, số món, chỉ số calories và các thông tin chi tiết

12 Hệ thống lưu thông tin combo chỉnh sửa vào trong cơ sở dữ liệu và hiển thị thông báo thành công

13 User nhập từ khóa tìm kiếm theo tên của combo và nhấn nút nhấn tìm kiếm

14 Hệ thống tìm kiếm trong cơ sở dữ liệu các combo theo từ khóa mà người dùng đã nhập và hiển thị kết quả lên màn hình

15 User chọn một combo cụ thể cần xóa từ danh sách

16 Hệ thống hiển thị thông báo xác nhận xóa và xóa combo theo yêu cầu khỏi hệ thống

Triggers User muốn quản lý combo món ăn trên hệ thống

Assumptions User đã thao tác các chức năng

Post conditions Các thông tin của combo món ăn đã được lưu vào cơ sở dữ liệu

Bảng 3.2 Đặc tả use case chức năng quản lý combo

3.2.2.2 Use case quản lý món ăn trong combo

Sơ đồ 3.3 Use case chức năng quản lý món ăn trong combo

Use case Quản lý món ăn trong combo

Summary User quản lý các món ăn có trong combo trên hệ thống

1 User đăng nhập vào hệ thống trang quản trị

2 Hệ thống xác thực thông tin đăng nhập và hiển thị trang quản trị bao gồm những tính năng mà actor có thể sử dụng

3 User chọn chức năng quản lý món ăn trên trang quản trị

4 Hệ thống hiển thị trang quản lý món ăn với các tính năng CRUD, tìm kiếm và nhập file excel

5 User chọn chức năng tạo món ăn mới vào hệ thống

6 Hệ thống hiển thị popup thêm món ăn bao gồm: tên món ăn, mô tả món ăn, hình ảnh món ăn và chọn loại combo hiện có

7 User nhập thông tin tương ứng thêm món ăn và lưu lại

8 Hệ thống lưu thông tin món ăn đã thêm vào trong cơ sở dữ liệu và hiển thị thông báo thêm mới thành công

9 User chọn món ăn cụ thể cần chỉnh sửa từ danh sách món ăn hiển thị

10 Hệ thống hiển thị popup chỉnh sửa thông tin của món ăn (không cho phép chỉnh sửa loại combo)

11 User nhập thông tin cần chỉnh sửa món ăn và lưu lại

12 Hệ thống lưu thông tin món ăn đã chỉnh sửa vào cơ sở dữ liệu và hiển thị thông báo chỉnh sửa món ăn thành công

13 User nhập từ khóa tìm kiếm thông tin theo tên của món ăn và nhấn tìm kiếm

14 Hệ thống tìm trong cơ sở dữ liệu món ăn theo từ khóa mà người dùng nhập và hiển thị kết quả

15 User chọn món ăn cụ thể cần xóa từ danh sách

16 Hệ thống hiển thị thông báo xác nhận xóa món ăn khỏi cơ sở dữ liệu

17 User chọn chức năng nhập file Exel để thêm nhiều món ăn cùng lúc

18 Hệ thống thêm mới hàng loạt các món ăn có trong biểu mẫu mà User đã nhập

Triggers User muốn quản lý các món ăn có trong combo trên hệ thống

Assumptions User đã thao tác các chức năng

Post conditions Các thông tin của món ăn đã được lưu vào cơ sở dữ liệu

Bảng 3.3 Đặc tả use case chức năng quản lý món ăn

3.2.2.3 Use case quản lý đơn đặt hàng

Sơ đồ 3.4 Use case chức năng quản lý đơn đặt hàng

Use case Quản lý đơn đặt hàng

Summary User quản lý các đơn đặt hàng có trên hệ thống

1 User đăng nhập vào hệ thống trang quản trị

2 Hệ thống xác thực thông tin đăng nhập và hiển thị trang quản trị bao gồm những tính năng mà actor có thể sử dụng

3 User chọn chức năng quản lý đơn đặt hàng

4 Hệ thống hiển thị trang quản lý đơn đặt hàng với các đơn hàng có trong cơ sở dữ liệu

5 User chọn một đơn đặt hàng cụ thể từ danh sách các đơn đặt hàng

6 Hệ thống hiển thị thông tin chi tiết về đơn đặt hàng như mã đơn hàng, giá cả, thông tin người đặt hàng và trạng thái đơn hàng

7 User chọn một đơn đặt hàng cụ thể từ danh sách để cập nhật trạng thái

8 Hệ thống hiển thị chi tiết đơn hàng và trạng thái của đơn hàng

9 User chọn vào cập nhật trạng thái cho đơn hàng và lưu thay đổi

10 Hệ thống lưu trạng thái mới và cập nhật thông tin của đơn đặt hàng tương ứng vào cơ sở dữ liệu

Triggers User muốn quản lý các đơn đặt hàng có trên hệ thống

Assumptions User đã thao tác các chức năng

Post conditions Các thông tin của đơn đặt hàng được lưu vào cơ sở dữ liệu

Bảng 3.4 Đặc tả use case chức năng quản lý đơn đặt hàng

3.2.2.4 Use case thống kê, phân tích doanh thu và đơn hàng

Sơ đồ 3.5 Use case chức năng thống kê, phân tích doanh thu và đơn hàng Use case Thống kê, phân tích doanh thu và đơn hàng

Summary User thống kê, phân tích dựa trên doanh thu đơn hàng trên hệ thống

1 User đăng nhập vào hệ thống trang quản trị

2 Hệ thống xác thực thông tin đăng nhập và hiển thị trang quản trị bao gồm những tính năng mà actor có thể sử dụng

3 User chọn chức năng thống kế phân tích doanh thu và đơn hàng trên trang Dashboard

4 Hệ thống hiển thị trang Dashboard với các thông tin:

- Tổng doanh thu, đơn hàng, thành viên mới trong ngày

- Biểu đồ phân tích doanh thu và đơn hàng trong 12 tháng

5 User có thể di chuột đến từng tháng để xem chi tiết về doanh thu và đơn hàng của tháng đó

6 Hệ thống hiển thị doanh thu và đơn hàng của tháng đã di chuột đến

Triggers User muốn xem các thống kê, phân tích về doanh thu và đơn hàng

Assumptions User đã sử dụng các chức năng liên quan trước đó

Post conditions Hiển thị các thông tin thống kê và phân tích doanh thu và đơn hàng

Bảng 3.5 Đặc tả use case chức năng thống kê, phân tích doanh thu đơn hàng

3.2.3.1 Use case tính toán chỉ số TDEE

Sơ đồ 3.6 Use case chức năng tính toán chỉ số TDEE

Use case Tính toán chỉ số TDEE

Summary Customer tính toán chỉ số TDEE dựa trên chỉ số cơ thể đã nhập

1 Customer nhập thông tin chỉ số cơ thể theo form của hệ thống để tính toán TDEE

2 Hệ thống nhận thông tin đã nhập, tính toán trả về chỉ số calories cần nạp mỗi ngày và đưa ra gợi ý combo phù hợp

Triggers Customer muốn tính toán chỉ số TDEE

Post conditions Hiển thị các thông tin thống kê và phân tích doanh thu và đơn hàng

Bảng 3.6 Đặc tả use case chức năng tính toán chỉ số TDEE

Sơ đồ 3.7 Use case chức năng đặt hàng

Summary Customer chọn món và thực hiện các bước thanh toán trên hệ thống

1 Customer chọn món từ danh sách có trong combo

2 Hệ thống hiển thị hóa đơn tạm thời về combo đã chọn và giá tiền

3 Customer chọn khu vực giao hàng mong muốn

4, Hệ thống hiển thị phí giao hàng và cập nhật giá tiền tổng đơn hàng

5 Customer nhập thông tin giao hàng và chọn phương thức thanh toán

6 Sau khi đặt hàng hoặc thành toán thành công, hệ thống hiển thị thông báo thành công và gửi mail chi tiết đơn hàng đến Customer

Triggers Customer muốn thực hiện đặt hàng

Assumptions Customer đã thực hiện các thao tác cần thiết trước khi đặt hàng

Pre conditions Có sẵn các thông tin về sản phẩm, địa chỉ giao hàng, thông tin thanh toán từ Customer

Post conditions Đơn hàng đi được xác nhận và ghi nhận trong hệ thống

Bảng 3.7 Đặc tả use case chức năng đặt hàng

Sơ đồ 3.8 Use case chức năng thành viên

Summary Customer là thành viên có thêm một số tính năng nổi trội như xem lịch sử đơn hàng, xem lại thông tin cá nhân và hủy đơn hàng

1 Customer đăng nhập vào hệ thống với tư cách là thành viên

2 Hệ thống chuyển hướng hiển thị giao diện người dùng

3 Customer nhập và tính toán chỉ số calories

4, Hệ thống nhận thông tin, cập nhật dữ liệu vào trang cá nhân và hiển thị combo phù hợp với chỉ số calories

5 Customer xem, chỉnh sửa một số thông tin cá nhân

6 Hệ thống hiển thị modal thông tin cá nhân và thực hiện chỉnh sửa và cập nhật dữ liệu vào cơ sở dữ liệu

7 Customer xem lịch sử đơn hàng đã đặt

8 Hệ thống hiển thị thông tin về trang lịch sử đơn hàng

9 Customer có thể hủy đơn hàng với điều kiện khi đơn hàng phải là đơn hàng mới

10 Hệ thống cập nhật thông tin đơn hàng và lưu vào cơ sở dữ liệu

Triggers Customer muốn sử dụng các tính năng bao gồm xem lịch sử đơn hàng, xem lại thông tin cá nhân và hủy đơn hàng

Assumptions Customer đã đăng nhập và là thành viên của hệ thống

Pre conditions Customer đã thực hiện đăng nhập vào tài khoản cá nhân

Post conditions Customer có thể xem lịch sử đơn hàng, xem lại thông tin cá nhân và thực hiện hủy đơn hàng.

Sơ đồ hoạt động

Chức năng quản lý tài khoản User

Sơ đồ 3.9 Sơ đồ hoạt động quản lý tài khoản

3.3.2.1 Chức năng quản lý combo món ăn

Sơ đồ 3.10 Sơ đồ hoạt động quản lý combo

3.3.2.2 Chức năng quản lý món ăn trong combo

Sơ đồ 3.11 Sơ đồ hoạt động quản lý món ăn

3.3.2.3 Chức năng quản lý đơn đặt hàng

Sơ đồ 3.12 Sơ đồ hoạt động quản lý đơn đặt hàng

3.3.2.4 Chức năng thống kê, phân tích doanh thu và đơn hàng

Sơ đồ 3.13 Sơ đồ hoạt động chức năng thống kê phân tích doanh thu đơn hàng

3.3.3.1 Chức năng tính toán chỉ số TDEE

Sơ đồ 3.14 Sơ đồ hoạt động chức năng tính toán chỉ số TDEE

Sơ đồ 3.15 Sơ đồ hoạt động chức năng đặt hàng

Sơ đồ 3.16 Sơ đồ hoạt động chức năng thành viên

3.4 Mô hình thực thể kết hợp

Sơ đồ 3.17 Mô hình thực thể kết hợp

TRIỂN KHAI HỆ THỐNG

Hướng dẫn sử dụng hệ thống

Admin đã truy cập vào hệ thống website và thực hiện việc quản lý các tài khoản người dùng bằng cách chọn chức năng “Người Dùng” Chức năng này dùng thực hiện các hoạt động liên quan đến tài khoản người dùng bao gồm thêm mới, chỉnh sửa, tìm kiếm thông tin, khóa và mở khóa tài khoản của User

Hình 4.1 Giao diện trang quản lý tài khoản Đầu tiên, để thêm tài khoản User mới, Admin nhấn nút nhấn thêm mới để mở modal thêm mới tài khoản và nhập các thông tin

Admin nhập các thông tin cần thiết về tài khoản, email, họ và tên, mật khẩu, xác nhận mật khẩu Đảm bảo rằng tài khoản và email là duy nhất và phải hợp lệ, nếu không hệ thống sẽ bắt validate và không cho thực hiện thêm mới tài khoản

Hình 4.2 Giao diện modal thêm tài khoản

Khi đã nhập đầy đủ các thông tin tài khoản chính xác, Admin nhấn nút nhấn

“Lưu thay đổi” để tiến hành thêm tài khoản mới vào trong hệ thống

Hình 4.3 Thông báo tài khoản tạo mới thành công

Ngoài việc thêm mới tài khoản, để thay đổi thông tin tài khoản Admin có thể chọn một tài khoản bất kì có trong danh sách, nhấn vào nút nhấn chỉnh sửa và nhập các thông tin chỉnh sửa Admin chỉ có thể chỉnh sửa thông tin họ và tên và số điện thoại vì các thông tin khác mang tính duy nhất

Hình 4.4 Giao diện modal chỉnh sửa thông tin tài khoản

Khi chỉnh sửa thành công Admin nhấn nút nhấn “Lưu thay đổi” để thay đổi thông tin người dùng Các thông tin sẽ được cập nhật vào trong cơ sở dữ liệu Việc này đảm bảo rằng thông tin trong hệ thống luôn được cập nhật và chính xác

Hình 4.5 Thông báo chỉnh sửa tài khoản thành công

Ngoài ra, hệ thống còn cung cấp hai chức năng để Admin dễ dàng quản lý truy cập và kiểm soát hoạt động là tìm kiếm và khóa tài khoản User Đầu tiên để tìm kiếm thông tin về một User cụ thể, Admin có thể sử dụng chức năng tìm kiếm Admin nhập từ khóa bao gồm họ và tên hoặc email của User muốn tìm Khi đã nhập từ khóa, hệ thống sẽ trả về hiển thị kết quả tìm kiếm thông tin tài khoản, giúp Admin dễ dàng xác định và truy cập vào tài khoản cần tìm

Hình 4.6 Kết quả tìm kiếm tài khoản

Tiếp theo là chức năng khóa tài khoản User Admin chọn User muốn khóa trong danh sách và nhấn nút khóa Khi các tài khoản bị khóa, người dùng sẽ không thể đăng nhập vào hệ thống và sử dụng các chức năng liên quan Điều này hữu ích khi cần tạm thời ngừng truy cập cho một tài khoản có những hành động bất thường Admin có thể mở khóa tìa khoản cho phép người dùng tiếp tục sử dụng hệ thống như bình thường

Hình 4.7 Nhắc nhở xác nhận khóa tài khoản

Admin nhấn “Khóa” để xác nhận khóa tài khoản và “Hủy” để hủy bỏ thao tác Khi xác nhận khóa hệ thống sẽ hiển thị thông báo thành công

Hình 4.8 Thông báo khóa tài khoản thành công 4.1.1.2 Quản lý Combo

Các nguyên liệu sẽ được tính toán tỉ mỉ và chọn lọc Xác định các thông số như hàm lượng calories, chất đạm, tinh bột và chất béo Sau đó bắt đầu công đoạn chế biến cho từng món ăn và đưa ra combo với các thông số cụ thể để nêu ở trên Cuối cùng trưng bày và cung cấp cho người tiêu dùng

Hình 4.9 Giao diện trang quản lý combo Để thêm combo mới, Admin chọn chức năng modal thêm mới Giao diện thêm combo sẽ bao gồm thông số về: tên combo, giá thành, lượng calories, mô tả chi tiết, hình ảnh và số món có trong combo

Hình 4.10 Giao diện modal thêm combo

Sau khi đã nhập đầy đủ các thông tin về combo Admin có thể nhấn “Lưu thay đổi” để thêm combo mới hoặc “Đóng” để hủy bỏ thêm combo Hệ thống sẽ hiển thị thông báo thêm combo thành công

Hình 4.11 Thông báo thêm combo thành công

Với mỗi combo được thêm vào cố định Admin chỉ có thể chỉnh sửa các thông tin về giá, số món, lượng calories, mô tả, chi tiết và hình ảnh chứ không được chỉnh sửa tên của combo Tùy vào nhu cầu, những thay đổi và yêu cầu của Customer mà Admin lựa chọn chỉnh sửa thông tin sao cho phù hợp

Hình 4.12 Giao diện modal chỉnh sửa combo

Khi Admin muốn lưu thông tin chỉnh sửa thì chỉ cần nhấn “Lưu thay đổi” Hệ thống sẽ cập nhật thông tin mà Admin đã nhập cho combo và hiển thị thông báo

Hình 4.13 Giao diện modal chỉnh sửa combo Đối với những thay đổi nhu cầu trong thị trường, hiệu quả kinh doanh không cao hoặc nhận được nhiều phản hồi không tốt từ khách hàng Admin có thể chọn combo ảnh hưởng đó và xóa khỏi hệ thống

Khi chọn xóa combo cụ thể, hệ thống sẽ hiển thị xác nhận là bạn có muốn xóa combo đó không Nếu chắc chắn xóa thì chọn “Đồng ý”, không thì chọn “Hủy bỏ”

Hình 4.14 Thông báo xác nhận xóa combo

Khi đã thao tác xóa thành công, hệ thống sẽ hiển thị thông báo xóa thành công và xóa combo đã chọn ra khỏi hệ thống

Hình 4.15 Thông báo xóa combo thành công 4.1.1.3 Quản lý món ăn

Sau khi đã tạo combo, tính toán và chọn lựa ra các món ăn đảo bảo lượng calories Ở chức năng quản lý món ăn, Admin sẽ thêm và chỉnh sửa các món ăn vào trong combo đã xác định trước đó Một trong những yêu cầu quan trọng khi quản lý món ăn là đảm bảo rằng các món ăn trong combo có lượng calories tương đương nhau Điều này giúp đảm bảo Customer nhận được sự cân đối về dinh dưỡng, lượng calories hợp lý và có nhiều sự lựa chọn hơn khi sử dụng dịch vụ combo

Hình 4.16 Giao diện trang quản lý món ăn

Đánh giá hệ thống

Hệ thống website Eatclean được đánh giá thông qua các tiêu chí sau:

+ Tương đối đầy đủ tính năng của một website thương mại điện tử đặc biệt là về dịch vụ thực phẩm sạch

+ Tính năng thanh toán qua ví VNPAY giúp người dùng thực hiện thanh toán thuận tiện và nhanh chóng

+ Tính năng gửi email sau khi thanh toán Giúp cho người dùng có cái nhìn tổng quan về thông tin đơn hàng

+ Tính năng thống kê doanh thu đơn hàng giúp cho người dùng có thể đánh giá được sự phát triển và tăng trưởng của doanh nghiệp từ đó dự đoán xu hướng tương lai Người dùng có thể đưa ra các quyết định về điều chỉnh giá, quảng cáo hoặc các chương trình khuyến mãi

+ Tích hợp công cụ TDEE giúp cho người dùng có thể tính toán và nắm bắt được tổng số calories mà cơ thể cần nạp mỗi ngày Từ đó có thể chọn ra những combo phù hợp với mục tiêu đề ra của bản thân

+ Tuy nhiên, cần bổ sung thêm tính năng quản lý kho hàng để đảm bảo được việc cung cấp đầy đủ món ăn cho đơn hàng

+ Giao diện người dùng thân thiện với responsive trên các thiết bị di động hoặc kích cỡ màn hình khác nhau

+ Một số tính năng như đăng nhập, đăng ký, đặt hàng, CRUD đều sử dụng bằng POPUP thay vì chuyển trang Điều này tạo trải nghiệm liền mạch, người dùng không cần phải đợi tải lại trang mới mà có thể tiếp tục tương tác với nội dung gốc

+ Hệ thống được thiết kế với kiến trúc Front-Back tách biệt giao diện người dùng và logic xử lý dữ liệu Điều này giúp cho việc mở rộng phần giao diện và xử lý logic độc lập mà không ảnh hưởng đến nhau

+ Hệ thống sử dụng cơ sở dữ liệu MySQL cho phép mở rộng dung lượng lưu trữ và tăng hiệu suất xử lý dữ liệu với những dữ liệu lớn.h

Ngày đăng: 07/06/2024, 16:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Alex Banks, Eve Porcello, "Learning React: Modern Patterns for Developing React Apps", O'Reilly Media, 2020 Sách, tạp chí
Tiêu đề: Learning React: Modern Patterns for Developing React Apps
[2] Alan Dennis, Barbara Haley Wixom, Roberta M. Roth, "Systems Analysis and Design", John Wiley & Sons, 2019 Sách, tạp chí
Tiêu đề: Systems Analysis and Design
[3] Nick Rozanski, Eoin Woods, "Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives", Addison-Wesley Professional, 2005 Sách, tạp chí
Tiêu đề: Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives
[4] Laravel Documentation, "Laravel Official Documentation", Laravel, 2021 Sách, tạp chí
Tiêu đề: Laravel Official Documentation
[5] W. Jason Gilmore, "SQL: Visual QuickStart Guide", Peachpit Press, 2018 Sách, tạp chí
Tiêu đề: SQL: Visual QuickStart Guide
[6] Arda Kılıỗdağı, "Laravel Design Patterns and Best Practices", Packt Publishing, 2014 Sách, tạp chí
Tiêu đề: Laravel Design Patterns and Best Practices
[7] Eric Gamma, Richard Helm, Ralp Johnson, John Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley Professional, 1994 Sách, tạp chí
Tiêu đề: Design Patterns: Elements of Reusable Object-Oriented Software

HÌNH ẢNH LIÊN QUAN

Sơ đồ 3.1. Use case chức năng quản lý tài khoản - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.1. Use case chức năng quản lý tài khoản (Trang 34)
Bảng 3.2. Đặc tả use case chức năng  quản lý combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.2. Đặc tả use case chức năng quản lý combo (Trang 39)
Sơ đồ 3.3. Use case chức năng quản lý món ăn trong combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.3. Use case chức năng quản lý món ăn trong combo (Trang 40)
Bảng 3.3. Đặc tả use case chức năng quản lý món ăn - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.3. Đặc tả use case chức năng quản lý món ăn (Trang 42)
Bảng 3.4. Đặc tả use case chức năng quản lý đơn đặt hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.4. Đặc tả use case chức năng quản lý đơn đặt hàng (Trang 44)
Bảng 3.5. Đặc tả use case chức năng thống kê, phân tích doanh thu đơn hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.5. Đặc tả use case chức năng thống kê, phân tích doanh thu đơn hàng (Trang 46)
Bảng 3.7. Đặc tả use case chức năng đặt hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.7. Đặc tả use case chức năng đặt hàng (Trang 49)
Sơ đồ 3.8. Use case chức năng thành viên - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.8. Use case chức năng thành viên (Trang 50)
Bảng 3.8. Đặc tả use case chức năng thành viên  3.3. Sơ đồ hoạt động - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Bảng 3.8. Đặc tả use case chức năng thành viên 3.3. Sơ đồ hoạt động (Trang 52)
Sơ đồ 3.12. Sơ đồ hoạt động quản lý đơn đặt hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.12. Sơ đồ hoạt động quản lý đơn đặt hàng (Trang 55)
Sơ đồ 3.13. Sơ đồ hoạt động chức năng thống kê phân tích doanh thu đơn hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.13. Sơ đồ hoạt động chức năng thống kê phân tích doanh thu đơn hàng (Trang 56)
Sơ đồ 3.14. Sơ đồ hoạt động chức năng tính toán chỉ số TDEE - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.14. Sơ đồ hoạt động chức năng tính toán chỉ số TDEE (Trang 57)
Sơ đồ 3.16. Sơ đồ hoạt động chức năng thành viên - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.16. Sơ đồ hoạt động chức năng thành viên (Trang 59)
Sơ đồ 3.17. Mô hình thực thể kết hợp - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Sơ đồ 3.17. Mô hình thực thể kết hợp (Trang 60)
Hình 4.2. Giao diện modal thêm tài khoản - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.2. Giao diện modal thêm tài khoản (Trang 62)
Hình 4.6. Kết quả tìm kiếm tài khoản - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.6. Kết quả tìm kiếm tài khoản (Trang 64)
Hình 4.10. Giao diện modal thêm combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.10. Giao diện modal thêm combo (Trang 66)
Hình 4.12. Giao diện modal chỉnh sửa combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.12. Giao diện modal chỉnh sửa combo (Trang 67)
Hình 4.14. Thông báo xác nhận xóa combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.14. Thông báo xác nhận xóa combo (Trang 68)
Hình 4.16. Giao diện trang quản lý món ăn - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.16. Giao diện trang quản lý món ăn (Trang 69)
Hình 4.17. Giao diện thêm món ăn vào trong combo - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.17. Giao diện thêm món ăn vào trong combo (Trang 69)
Hình 4.20. Giao diện các món ăn sau khi import thành công - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.20. Giao diện các món ăn sau khi import thành công (Trang 71)
Hình 4.23. Giao diện thống kê và phân tích dữ liệu - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.23. Giao diện thống kê và phân tích dữ liệu (Trang 73)
Hình 4.25. Giao diện biểu đồ tổng đơn hàng  4.1.2. Trang khách hàng - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.25. Giao diện biểu đồ tổng đơn hàng 4.1.2. Trang khách hàng (Trang 74)
Hình 4.34. Giao diện cổng thanh toán điện tử VNPAY - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.34. Giao diện cổng thanh toán điện tử VNPAY (Trang 79)
Hình 4.35. Giao diện nhập mã OTP để thanh toán - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.35. Giao diện nhập mã OTP để thanh toán (Trang 79)
Hình 4.36. Giao diện thanh toán VNPAY thành công - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.36. Giao diện thanh toán VNPAY thành công (Trang 80)
Hình 4.38. Giao diện thông tin cá nhân - thiết kế hệ thống eatclean sử dụng công nghệ reactjs và laravel
Hình 4.38. Giao diện thông tin cá nhân (Trang 81)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w