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

Bài tập lớn môn phần mềm mã nguồn mở Haui

78 261 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 4,7 MB

Cấu trúc

  • Chương 1: Tổng quan (6)
    • 1.1 Lý do chọn đề tài (6)
    • 1.2 Giải pháp (7)
      • 1.2.1 Công cụ (7)
      • 1.2.2 Cở sở dữ liệu (Database) (18)
      • 1.2.3 Tên miền(Hosting Heroku) (20)
    • 1.3 Đề xuất khác (21)
  • Chương 2: Phân tích, thiết kế (21)
    • 2.1 Khảo sát yêu cầu người dùng (21)
      • 2.1.1 Phỏng vấn trực tiếp (21)
      • 2.1.2 Khảo sát qua Google Form (26)
      • 2.1.3 Kết quả khảo sát (28)
    • 2.2 Phân tích thiết kế OOAD (29)
      • 2.2.1 Biểu đồ Usecase (29)
      • 2.2.2 Biểu đồ ERD (48)
      • 2.2.3 Biểu đồ trình tự (48)
      • 2.2.4 Biểu đồ lớp (52)
    • 2.3 Thiết kế UI/UX (54)
  • Chương 3: Cài đặt, thử nghiệm và kết luận (57)
    • 3.1 Cài đặt (57)
      • 3.1.1 Giao diện Front-End (57)
      • 3.1.2 Giao diện bên Backend (61)
    • 3.2 Thử nghiệm (66)

Nội dung

NGHIÊN CỨU MÃ NGUỒN MƠ LARAVEL VÀ ỨNG DỤNG XÂY DỰNG WEBSITE BÁN NƯỚC HOA, khảo sát khách hàng, khảo sát thực tế, phân tích thiết kế hệ thống, Phân tích thiết kế OOAD biểu đồ UC, biểu đồ ERD, biểu đồ trình tự, thiết kế cơ sở dữ liệu

Tổng quan

Lý do chọn đề tài

Trong hoạt động kinh doanh, thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của một công ty hoặc doanh nghiệp Đối với một công ty muốn bán được nhiều sản phẩm, quảng bá sản phẩm của mình được nhiều người biết tới thì sẽ thật thiếu sót nếu chúng ta không có một website bán hàng, nó là một trong những yếu tố quyết định dẫn tới thành công của cá nhân hay một tổ chức kinh doanh, nhưng song song với đó, là làm sao để có thể quản lý và điều hành website một cách dễ dàng và hiệu quả để thu được kết quả như mong muốn

Việc xây dựng và duy trì một website riêng cho doanh nghiệp được coi là một trong những chiến lược quan trọng hàng đầu của doanh nghiệp, vì chúng mang lại rất nhiều lợi ích:

- Giúp cho việc quảng cáo là đơn giản, dễ dàng, tiện dụng và rộng rãi, phổ biến một cách nhanh chóng

- Website cho phép dễ dàng có thông tin phản hồi từ phía khách hàng, giúp nắm bắt xu hướng và nhu cầu của khách hàng một cách nhanh chóng

- Việc kinh doanh có thể mở cửa và tiến hành liên tục 24 tiếng một ngày, và vào tất cả các ngày trong năm Điều này có nghĩa là không phải đóng cửa vào ngày lễ tết.

- Cải tiến hệ thống liên lạc: doanh nghiệp có thể liên hệ với nhân viên, nhà cung cấp, các đối tác thông qua website Mọi thay đổi đều có hiệu lực ngay lập tức.

Trong học phần này chúng em được giảng viên hướng dẫn các kiến thức cơ bản nhất để có thể làm nên một website cơ bản dựa trên những kiến thức từ những học phần trước đó Chúng em được học về cách đưa dữ liệu từ giao diện về server hay ngược lại, kết nối với cơ sở dữ liệu và các kỹ năng lập trình khác.

Với kiến thức đã được học nhóm em sẽ thực hiện đề tài “Xây dựng wensite bán nước hoa” với một vài chức năng quản trị cơ bản bằng mã nguồn mở Laravel của ngôn ngữ lập trình PHP Đề tài thực hiện được trên sự tìm hiểu nội dung, hợp tác của các thành viên trong nhóm Qua đề tài này nhóm em hiểu rõ hơn về cách một website được tạo ra như thế nào cũng như tích lũy thêm kỹ năng làm việc nhóm của các thành viên.

Giải pháp

 Laravel được phát triển bởi Taylor Otwell với phiên bản cho ra mắt đầu tiên là vào tháng 6 năm 2011 Đây là một framework có mã nguồn mở miễn phí cùng với cú pháp mạch lạc, rõ ràng Laravel ra đời nhằm mục đích hỗ trợ cho các ứng dụng web, lấy cốt lõi dựa theo mô hình MVC (Model – View –

Laravel sở hữu rất nhiều mặt ưu điểm để thu hút các nhà lập trình chắc chắn không thể bỏ qua như :

- Việc dùng Laravel 5 sẽ hỗ trợ các lập trình viên có thể tiếp cận đến các tính năng mới nhất mà PHP cung cấp

- Nguồn tài nguyên tài liệu sẵn có vô cùng đa dạng và phong phú, thân thiện với các lập trình viên

- Tốc độ xử lý dữ liệu nhanh chóng: Laravel hỗ trợ tối đã trong việc thiết lập trang web hay các dự án lớn trong vòng thời gian ngắn hạn.

- Dễ sử dụng: Cho dù kiến thức PHP của bạn có hạn hẹp đi chăng nữa thì bạn vẫn có thể phát triển website một cách nhanh chóng

- Di chuyển Database dễ dàng : Laravel cho phép bạn duy trì cấu trúc cơ sở dữ liệu mà không cần phải tạo lại Thay vì sử dụng SQL, bạn có thể dùng PHP để kiểm soát dữ liệu Bên cạnh đó, bạ cũng có thể khôi phục được những thay đổi gần nhất của Database.

- Tính năng bảo mật cao: Laravel sử dụng PDO nhằm để chống lại sự tấn công SQL Injection, cộng với field token ẩn để chống lại tấn công kiểu CSRF Điều này sẽ giúp cho người dùng có thể hoàn toàn tập trung vào việc phát triển sản phẩm.

Mặc dù sở hữu nhiều ưu điểm vượt trội nhưng Laravel cũng khó tránh khỏi một số khuyết điểm như :

- Thiếu sự liên kết giữa các phiên bản làm cho ứng dụng dễ bị phá vỡ hoặc gián đoạn khi cập nhật code

- Dung lượng nặng dẫn đến quá trình tải trang trở nên chậm chạp

- Không sở hữu tính năng thanh toán

 Các tính năng nổi bật

Tính quản lý phụ thuộc Đây có thể nói là tính năng tốt nhất của Laravel giúp quản lý các class phụ thuộc, loai bỏ bớt những class được lập trình cứng và dễ bị tấn công bằng cách sử dụng một số công cụ như composer.

Bạn có thể sử dụng cách phân chia các logic nghiệp vụ ra thành nhiều module khác nhau Toàn bộ sẽ cùng hoạt động nhằm giúp trang web duy trì hoạt động ổn định Nhờ sở hữu tính năng này, bạn có thể phát triển ứng dụng với quy mô lớn một cách dễ dàng.

Tính xác thực Đây được xem là một tính năng chắc chắn không thể thiếu , cho dù với bất kỳ trang web hiện đại nào Riêng đối với Laravel, để có thể tạo hệ thống xác thực bao gồm đầy đủ các chức năng thì chỉ cần bạn chạy một lệnh đơn giản là được.

Caching (bộ nhớ đệm) là một dạng kỹ thuật lưu trữ dữ liệu tạm thời , đồng thời có thể lấy ra một cách dễ dàng, nhanh chóng Tính năng này được dùng để cải tiến, nâng cao hiệu suất của website Laravel cung cấp khả năng lưu trữ hầu hết tất cả dữ liệu từ View đến routes Nhờ vậy nó sẽ giúp Laravel giảm được thời gian xử lý mà còn có thể tăng hiệu suất.

Tính định tuyến (Routing) Định tuyến Laravel được dùng để có thể dễ dàng tạo ra ứng dụng tĩnh, cho phép bạn phân nhóm các routes, đặt tên cho chúng và áp dụng các bộ lọc, đồng thời liên kết mô hình dữ liệu của bạn với chúng Các routes của Laravel còn được dùng để tạo ra các URL thân thiện với công cụ tìm kiếm nhờ đặc tính linh hoạt và khả năng kiểm soát tối đa.

Kiểm thử và gỡ lỗi

Laravel được kết hợp cùng với với PHPUnit có thể giúp kiểm thử các ứng dụng Laravel được xây dựng cùng khả năng kiểm thử đơn vị, vì vậy nó hỗ trợ người dùng kiểm thử và gỡ lỗi.

Tính năng này của Laravel cung cấp cách thức để tạo các truy vấn cơ sở dữ liệu thuận tiện hơn Nó đi kèm với vô số chức năng hữu hiệu giúp bạn có thể sử dụng để lọc dữ liệu của mình.

Laravel còn hỗ trợ nhiều hệ thống thông tin Bạn có thể lựa chọn hệ thống mà mình muốn sử dụng bằng cách thay đổi các tùy chọn trong tệp config/filesystems.php.

Bạn cũng có thể chạy các tác vụ phổ biến trên máy chủ từ xa trong ứng dụng của mình Hơn nữa nó cũng cho phép bạn có thể thiết lập các task để deploy.

Tính năng địa phương hóa

Laravel giúp bạn tạo được các ứng dụng đa ngôn ngữ khi xây dựng website của mình Bạn được quyền truy cập chuỗi các ngôn ngữ khác nhau bằng cách sử dụng trình trợ giúp trans().

MVC là chữ viết tắt của Model - View - Controller, đây là một mô hình kiến phần mềm được tạo ra với mục đích quản lý và xây dựng dự án phần mềm có hệ thống hơn Mô hình này được dùng khá rộng rãi và đặc biệt là trong các ngôn ngữ lập trình web Trong PHP hiện tại có khá nhiều

Framework và tất cả đều xây dựng từ mô hình MVC

Trong mô hình này thì:

Phân tích, thiết kế

Khảo sát yêu cầu người dùng

Người được hỏi : Nguyễn Văn A Người phỏng vấn: Trần Thị

B Địa chỉ: Công ty Perfumista® Inc, thành phố Hồ Chí Minh, Việt Nam

Thời gian hẹn: 10-7-2022 Thời điểm bắt đầu: 8h30 am Thời điểm kết thúc: 9h am Đối tương: nhân viên bán hàng

+ Giao diện tương tác với trang web

+ Trí tuệ nhân tạo trong gợi ý sản phẩm

+ Những mong muốn khi sử dụng trang website

Các yêu cầu đòi hỏi:

-Vai trò: Nhân viên bán hàng chính

-Kinh nghiệm: Bán hàng lâu nhất trong cửa hàng

* Tổng quan về dự án

* Tổng quan về phỏng vấn

* Chủ đề sẽ đề cập, Xin phép được ghi âm Ước lượng thời gian

Câu hỏi 1: Giao diện trang web có trực quan, sinh động không?

Câu hỏi 2: Các chức năng đơn giản dễ thao tác không?

Câu hỏi 1: Mức độ trí tuệ nhân tạo gợi ý các mặt hàng cho khách hàng khi quay lại website ?

Câu hỏi 2: Độ chính xác của

Câu hỏi 1: Hệ thống có bị tắc nghẽn trong quá trình hoạt động không?

Câu hỏi 2: Dữ liệu sau khi sử lí có cho kết quả như mong đợi không?

Câu hỏi 1: Những điều khác hàng không thích khi sử dụng website là gì ?

Câu hỏi 2: Khách hàng mong muốn gì khi sử dụng website ?

Câu hỏi 3: Những điều nhân viên không thích khi sử dụng website là gì?

Câu hỏi 4: Nhân viên mong muốn gì khi sử dụng website ?

* Tổng hợp các nội dung chính, ý kiến của người hỏi.

Dự kiến tổng cộng: 35 phút

PHIẾU PHỎNG VẤN NHÂN VIÊN BÁN HÀNG VỀ HOẠT ĐỘNG

BÁN HÀNG CỦA CÔNG TY

Dự án: xây dựng một website giới thiệu và bán hàng

Tiểu dự án: giới thiệu và bán hàng

Người được hỏi: Nguyễn Văn A Người hỏi: Trần Thị B

Câu 1: Giao diện trang web có trực quan, sinh động không?

Câu 2: Các chức năng đơn giản dễ thao tác không?

D Khó sử dụng Quan sát:

Câu 3: Mức độ trí tuệ nhân tạo gợi ý các mặt hàng cho khách hàng khi quay lại website ?

Câu 4: Độ chính xác của AI chatbots ?

B Trả lời còn hạn chế

D Trả lời sai Quan sát:

Câu 5: Hệ thống có bị tắc nghẽn trong quá trình hoạt động không?

D Thường xuyên tắc nghèn Quan sát:

Câu 6: Dữ liệu sau khi sử lí có cho kết quả như mong đợi không ?

Câu 8: Những điều khác hàng không thích khi sử dụng website là gì ?

Câu 9: Khách hàng mong muốn gì khi sử dụng website ?

Câu 10: Những điều nhân viên không thích khi sử dụng website là gì?

Câu 10: Nhân viên mong muốn gì khi sử dụng website ?

Quan sát: Đánh giá chung: Cuộc phỏng vấn diễn ra khá suôn sẻ, 2 bên vui vẻ Nhân viên bán hàng đã có hiểu biết tương đối đầy đủ về phương thức hoạt động và những ưu nhược điểm của hệ thống kinh doanh online của cửa hàng nhưng một số câu hỏi còn chưa hoàn toàn chính xác Cần điều tra kĩ hơn về phía khách hàng.

2.1.2 Khảo sát qua Google Form

Hình 2 Phiếu khảo sát Google Form

Quá trình khảo sát thực tế các website bán hàng và các chức năng cơ bản của người dùng, ta được các thông tin đầu vào, đầu ra như sau

- Khi khách hàng muốn mua hàng thì chọn vào sản phẩm cần mua, sản phẩm sẽ được đi tới giỏ hàng, khi thanh toán khách hàng phải nhập thông tin như họ tên, địa chỉ, điện thoại, email, những thông tin này sẽ được lưu trong DonHang

- Ngoài ra những thông tin về đơn hàng như số lượng, tên sản phẩm, giá cũng được lưu trong ChiTietDonHang

- Những thông tin này sẽ được lưu lại để thống kê theo hàng ngày, từng tháng

- Dựa vào thông tin đã được lưu trong DonHang và ChiTietDonHang, sẽ thống kê được doanh thu theo hàng ngày, hàng tháng, số đơn hàng được duyệt, chưa được duyệt, nhóm sản phẩm nào bán chạy

- Admin: có quyền cao nhất thực hiện toàn bộ chức năng của hệ thống, thực hiện thêm sửa xóa danh mục sản phẩm, sản phẩm, bài viết, phiếu nhập hàng, đơn hàng, quản lý các tài khoản của nhân viên

- Nhân viên: Chỉ cho phép thêm, sửa xóa phiếu nhập hàng, đơn hàng

Phân tích thiết kế OOAD

QL Phieu Nhap Nhan Vien

Thong Ke Email He THong

Hình 3 Biểu đồ Usecase hệ thống

Hình 4 Mô hình Usecase Backend

Hình 5 Mô hình Usecase Frontend

Mô tả chia tiết Usecase

 Mô tả use case Mua Hàng

1 Tên use case: Mua Hàng

2 Mô tả vắn tắt: Use case này cho phép khách hàng mua hàng

1 Use case này bắt đầu khi khách hàng kích vào sản phẩm cần mua, khi đó hệ thống sẽ lấy tên sản phẩm, giá, số lượng, hình ảnh, tình trạng từ bảng PRODUCT để hiển thị lên màn hình Khi khách hàng kích vào nút “Add to card” sản phẩm sẽ được thêm vào giỏ hàng với số lượng mặc định là 1

2 Khi khách hàng kích vào nút “Thanh Toán” hệ thống sẽ hiển thị form nhập thông tin họ, tên, số điện thoại, địa chỉ, email

3 Khi kích vào nút “Xác nhận” hệ thống sẽ lưu họ, tên, số điện thoại, địa chỉ, email, tên sản phẩm, giá, số lượng vào bảng ORDER Use case kết thúc

1 Tại bước 2 của luồng cơ bản nếu khách hàng nhập thông tin không hợp lệ, hệ thống sẽ báo yêu cầu nhập lại

2 Tại bước 2 ở luồng cơ bản nếu sản phẩm không còn thì hệ thống sẽ thông báo lỗi và yêu cầu nhập lại

3 Tại bất kỳ bước nào trong luồng cơ bản nếu không kết nối được với CSDL thì hệ thống sẽ thông báo lỗi và use case kết thúc

4 Các yêu cầu đặc biệt: Không

 Mô tả use case quản lý sản phẩm

1 Tên use case: Quản lý sản phẩm

2 Mô tả vắn tắt: Use case cho phép người quản trị có thể xem, thêm, sửa, xóa các sản phẩm trong bảng SanPham.

1 Use case này bắt đầu khi người quản trị kích vào nút “Sản Phẩm” trên menu quản trị Hệ thống sẽ hiển thị “Thêm sản phẩm” và “Xem chi tiết sản phẩm”

2 Thêm sản phẩm a) Nếu người quản trị kích vào nút “Thêm mới” thì hệ thống sẽ hiển thị màn hình yêu cầu nhập thông tin chi tiết cho sản phẩm gồm Tên sản phẩm, Giá, Giới Tính, Danh Mục, Giảm Giá, Mô Tả, Ảnh b) Người quản trị nhập thông tin chi tiết của sản phẩm: Tên sản phẩm, Giá, Giới Tính, Danh Mục, Giảm Giá, Mô Tả, Ảnh (Thuộc tính Mã Sản Phẩm tự tăng) Hệ thống sẽ tự sinh ra một mã sản phẩm mới và kích vào nút “Thêm mới”.

Hệ thống sẽ tạo ra một sản phẩm mới trong bảng sản phẩm và hiển thị danh sách các sản phẩm đã được cập nhật

3 Sửa sản phẩm a) Người quản trị kích vào nút “Xem chi tiết bảng” trên menu quản trị hệ thống sẽ hiển thị danh sách các sản phẩm b) Người quản trị kích vào nút “Edit” trên một dòng sản phẩm Hệ thống sẽ lấy thông tin cũ của sản phẩm được chọn gồm Mã Sản Phẩm, Tên Sản Phẩm, Giá, Danh Mục, Giới Tính, Giảm Giá, Ảnh, Mô tả từ bảng SanPham và hiện thị lên màn hình c) Người quản trị nhập thông tin mới cho tên sản phẩm, Giá, Danh Mục, Giới Tính, Giảm Giá, Ảnh, Mô Tả… mới và kích vào nút “Chỉnh sửa” Hệ thống sẽ sửa thông tin của sản phẩm được chọn trong bảng SanPham và hiển thị danh sách các sản phẩm đã được cập nhật

4 Xóa sản phẩm a) Người quản trị kích vào nút “Delete” trên một dòng sản phẩm Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa b) Người quản trị kích vào nút “Đồng ý” Hệ thống sẽ xóa sản phẩm được chọn khỏi bảng SanPham và hiển thị danh sách các sản phẩm đã cập nhật

1 Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập thông tin sản phẩm không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi yêu cầu nhập lại

2 Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào nút “Hủy Bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa tương ứng và hiển thị danh sách các sản phẩm trong bảng SanPham

3 Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút

“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách các sản phẩm trong bảng SanPham

4 Tại bất kì bước nào trong luồng cơ bản nếu không kết nối được với CSDL thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc

4 Yêu cầu đặc biệt: Use case này chỉ cho phép một số vai trò như Người quản trị thực hiện

5 Tiền điều kiện: Người quản trị cần phải đăng nhập với vai trò là Admin thì mới có thể thực hiện Use Case

6 Hậu điều kiện: Nếu Use Case kết thúc thành công thì thông tin sản phẩm sẽ được cập nhật trong CSDL

7 Điểm mở rộng: Không có

 Mô tả use case quản lý danh mục sản phẩm

1 Tên use case: Quản lý danh mục sản phẩm

2 Mô tả vắn tắt: Use case cho phép người quản trị có thể xem, thêm, sửa, xóa các danh mục sản phẩm trong bảng DanhMuc

1 Use case này bắt đầu khi người quản trị kích vào nút “Danh Mục” trên menu quản trị Hệ thống sẽ hiển thị “Thêm Danh Mục” và

“Xem chi tiết Danh Mục”

2 Thêm danh mục a) Nếu người quản trị kích vào nút “Thêm mới” thì hệ thống sẽ hiển thị màn hình yêu cầu nhập thông tin chi tiết cho sản phẩm gồm Tên Danh Mục b) Người quản trị nhập tên danh mục sản phẩm, Hệ thống sẽ tự sinh ra một mã danh mục sản phẩm mới và kích vào nút

“Thêm mới” Hệ thống sẽ thêm một danh mục sản phẩm mới vào bảng CATEGORY và hiển thị danh sách các danh mục sản phẩm đã được cập nhật

3 Sửa danh mục a) Người quản trị kích vào nút “Xem chi tiết bảng” trên menu quản trị hệ thống sẽ hiển thị danh sách các danh mục sản phẩm b) Người quản trị kích vào nút “Edit” trên một dòng danh mục sản phẩm Hệ thống sẽ lấy thông tin cũ của danh mục sản phẩm được chọn gồm Mã Sản Phẩm, Tên Sản Phẩm từ bảng DanhMucSanPham và hiện thị lên màn hình c) Người quản trị nhập thông tin mới cho tên danh mục sản phẩm mới và kích vào nút “Chỉnh sửa” Hệ thống sẽ sửa thông tin của danh mục sản phẩm được chọn, cập nhật lại bảng CATEGORY và hiển thị danh sách các danh mục sản phẩm đã được cập nhật

4 Xóa danh mục sản phẩm a) Người quản trị kích vào nút “Delete” trên một dòng danh mục sản phẩm Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa b) Người quản trị kích vào nút “Đồng ý” Hệ thống sẽ xóa danh mục đó được chọn khỏi bảng CATEGORY và hiển thị danh sách các danh mục sản phẩm đã cập nhật

1 Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập thông tin danh mục sản phẩm không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi yêu cầu nhập lại

2 Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào nút “Hủy Bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa tương ứng và hiển thị danh sách các danh mục sản phẩm trong bảng DanhMucSanPham

3 Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút

“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách các danh mục sản phẩm trong bảng DanhMucSanPham

4 Tại bất kì bước nào trong luồng cơ bản nếu không kết nối được với CSDL thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc

4 Yêu cầu đặc biệt: Use case này chỉ cho phép một số vai trò như Người quản trị thực hiện

5 Tiền điều kiện: Người quản trị cần phải đăng nhập với vai trò là Admin thì mới có thể thực hiện Use Case

6 Hậu điều kiện: Nếu Use Case kết thúc thành công thì thông tin sản phẩm sẽ được cập nhật trong CSDL

7 Điểm mở rộng: Không có

 Mô tả use case quản lý đơn hàng

1 Tên use case: Quản lý đơn hàng

2 Mô tả vắn tắt: Use case cho phép người quản trị có thể xem, thêm, sửa, xóa các đơn hàng trong bảng DONHANG

Thiết kế UI/UX

Hình 15 Hình dung màn hình Usecase Mua hàng

 Use case Quản lý danh mục

Hình 16 Hình dung màn hình Usecase Quản lý danh mục

 Use case Xem chi tiết sản phẩm

Hình 17 Hình dung màn hình Usecase Xem chi tiết sản phẩm

 Use case Quản lý sản phẩm

Hình 18 Hình dung màn hình Usecase Quản lý sản phẩm

Cài đặt, thử nghiệm và kết luận

Cài đặt

Hình 19 Giao diện Trang chủ

Hình 20 Giao diện Cửa hàng

Hình 21 Giao diện Bài viết

Hình 22 Giao diện Chi tiết sản phẩm

Hình 23 Giao diện Giỏ hàng

Hình 24 Giao diện Thanh toán

Hình 26 Giao diện Dashboard Hình 25 Giao diện Đăng nhập

Hình 27 Giao diện Danh mục sản phẩm

Hình 28 Giao diện Xác nhận cập nhật

Hình 29 Giao diện Xác nhận thêm mới

Hình 30 Giao diện Danh sách sản phẩm

Hình 31 Giao diện Hình ảnh bài viết

Hình 32 Giao diện Phiếu đăng nhập

Hình 33 Giao diện Chi tiết phiếu nhập

Hình 34 Giao diện Đơn hàng

Hình 35 Giao diện Chi tiết đơn hàng

Thử nghiệm

Để chuẩn bị cho việc deploy project lên heroku, ta cần chuẩn bị những bước sau đây: o Đăng kí 1 tài khoản trên Heroku (nếu chưa có), link đăng ký: https://signup.heroku.com/ o Chuẩn bị 1 project Laravel muốn deploy lên Heroku

3.2.1 Tạo repository trên Heroku o Sau khi chuẩn bị được những việc cần thiết nói trên, bạn đăng nhập vào tài khoản Heroku của mình Ở trang Dashboard, bạn chọn New và

Create new app ở góc trên bên phải để tạo repository trên Heroku:

Hình 36 Giao diện Các tài khoản đăng nhập o Sau đó ta chọn tên app của mình còn phần Choose a region sẽ để mặc định và ấn Create app: o Sau khi tạo app thành công, Heroku sẽ tự động redirect bạn về trang quản trị của app đó:

3.2.2 Thêm database o Từ trang quản trị của app vừa tạo, ta chọn tab Resources và tìm kiếm add-ons có tên là Heroku Postgres Tuy nhiên bạn chỉ cần bấm chữ "H" là Heroku đã gợi ý luôn cho bạn: o Bạn chọn Heroku Postgres sau đó đợi vài giây sẽ hiện ra bảng cho phép bạn chọn Plan mong muốn Tất nhiên ở đây chúng ta chỉ deploy để demo nên sẽ chọn plan là Hobby Dev - Free: o Sau đó bạn bấm Provision, vài đợi giây lát để Heroku có thể thêm add-ons vào cho app của bạn Khi đã thêm thành công, trong tab Resources, ở bên dưới khung tìm kiếm add-ons mà bạn vừa dùng để tìm Heroku Postgres sẽ xuất hiện add-ons mà bạn vừa thêm vào: o Tiếp đó, ta sẽ click chọn vào Heoku Posgres vừa thêm vào để chuyển qua trang quản trị của CSDL o Tiếp đến bạn sẽ chọn tab Settings để lấy thông tin về cần thiết để điền vào file env để app bạn có thể kết nối đến CSDL này sau khi deploy: o Bạn click chọn View Credentials ở phía bên tay phải sẽ thấy những thông tin config cho file env của Laravel:

3.2.3 Cài đặt Heroku CLI o Sau khi đã chuẩn bị các thao tác cần thiết trên Heroku việc tiếp theo chúng ta cần làm là cài đặt Heroku CLI trên máy tính các nhân để có thế deploy lên Heroku Tùy thuộc vào hệ điều hành mà bạn đang sử dụng, bạn hãy chọn bản tương ứng. o Quay lại với việc cài đặt Heroku CLI, sau khi cài xong bạn mở terminal trên máy tính mình lên và đăng nhập vào tài khoảng Heroku Ở đây mình sẽ sử dụng terminal có sẵn trong VSCode:

3.2.4 Deploy project Laravel o Đầu tiên bạn truy cập vào App mà bạn đã tạo trên Heroku và chọn mục setting: o Tiếp đó bạn chọn Reveal Config Vars nó sẽ mở ra phần cho phép bạn khai báo các biến môi trường tương tự như file env: o $ echo web: vendor/bin/heroku-php-apache2 public/ > Procfile

-> gõ lệnh vào terminal tại folder chứa project o Sau khi thực hiện lệnh trên sẽ tạo cho chúng ta 1 file có tên là Procfile với nội dung như sau: o Nếu project của bạn chưa thực hiện init repository thì sẽ gõ lệnh để tạo repository trước: o Trong trường hợp bạn đã init rồi thì có thể bỏ qua bước trên và đi vào phần sau: o Sau đó ta tiến hành add và commit các thay đổi đã thực hiện bằng các lệnh: o Cuối cùng ta tiến hành deploy lên heroku bằng lệnh: o Sau khi bước trên thành công, ta quay lại trang quản trị của Heroku sẽ thấy hiển thị kết quả của việc build: o Sau khi build thành công, ta sẽ tiến hành tạo các bảng trong CDSL và chạy seeder Ở góc trên bên tay phải, các bạn chọn More và Run console: o Một khung giống như terminal sẽ hiện ra cho phép các bạn gõ lệnh như trên terminal máy tính cá nhân của các bạn Chúng ta tiến hành tạo bảng bằng lệnh: o Cuối cùng chúng ta sẽ thử truy cập vào router nào đó của trang web để xem kết quả Ở góc trên bên phải bạn chọn Open app ở góc trên bên phải heroku sẽ tự đổng mở cửa sổ mới dẫn tới trang web của bạn với tên miền mặc định heroku cung cấp:

Giao diện trang chủ dành cho khách hàng

Giao diện trang chủ dành cho người quản trị

Sau khi Deploy project Laravel, nhận được tên miền của trang web: https://rocky- coast-76658.herokuapp.com/

Link Source code: https://github.com/poseidon259/ban-nuoc-hoa

3.3.1 Những kiến thức kỹ năng học được thông qua bài tập lớn

Bài báo cáo thực hiện nhằm mục đích giúp cho sinh viên được tiếp cận và hiểu rõ hơn về một hệ thống quản lý thông tin được xây dựng bằng ngôn ngữ PHP Trong quá trình thục hiện đề tài, chúng em đã đạt được những kết quả như sau:

- Chúng em đã nắm được kiến thức cơ bản về Lập trình web bằng PHP và cững nắm được các quy trình về quản lý một website bán nước hoa, nắm được cơ bản cách thức xây dựng một phàn mềm quản lý dựa vào ngôn ngữ PHP.

- Giúp chúng em biết cách vận dụng các công cụ để thực hiện như VS Code, Xampp, Appserv, phpmyadmin… và các kiến thúc đã học được trên lớp vào bài tập lớn.

- Được ôn tập lại các kiến thức đã học như: phân tích và đặc tả yêu cầu phần mềm, thiết kế web….

- Giúp chúng em hiểu hơn về quy trình phát triển một phần mềm.

- Kỹ năng làm việc nhóm: Khi làm việc theo nhóm chúng em được chia sẻ ý kiến với nhau, được hỗ trợ giúp đỡ nhau nhằm phát triển và hoàn thiện bài tập lớn.

- Kỹ năng thuyết trình, tư duy phản biện: Là kỹ năng quan trọng trong cuộc sống, cũng là kỹ năng cần thiết phải có trong khi làm việc nhóm Thông qua các cuộc trao đổi thảo luận , mỗi người đưa ra quan điểm của riêng mình thì chúng em có thể lựa chọn được những ý kiến tốt vận dụng vào bài tập

- Kỹ năng lắng nghe và học hỏi: Chúng em cần phải học được cách lắng nghe và học hỏi từ những lời nói của các thành viên khác trong nhóm. Tập trung lắng nghe và lắng nghe có chọn lọc giúp chúng em tìm ra được những ý kiến phù hợp nhất để hoàn thiện bài tập lớn một cách tốt nhất.

- Kỹ năng thiết kế: Chúng em được đóng vai là một lập trình viên, phải phân tích và tìm hiểu những mội dung liên quan đến bài tập lớn Chúng em phải phân tích một phần mềm quản lý bao gồm những gì, việc thiết kế giao diện cũng phải thân thiện và dễ dàng sử dụng cho người dùng nó.

- Kỹ năng tìm kiếm thông tin: trong thời đại thông tin phát triển của internet, việc tìm kiếm cũng trở nên dễ dàng hơn Nhưng không phải thông tin nào cũng có thể có thể tìm kiếm được Khi đó, chũng em cần nhờ đến sự trợ giúp của bạn bè, anh chị để tìm kiếm được các thông tin hữu ích cho bài tập lớn.

Ngày đăng: 30/05/2023, 22:27

TỪ KHÓA LIÊN QUAN

w