Lí do chọn đề tài Ngày nay kinh tế Việt Nam đang trên đà phát triển, nhiều gia đình Việt sau khi nuôi thú cưng được một thời gian và có kinh tế, họ sẽ suy nghĩ đến chuyện mở bán kinh doa
CƠ SỞ LÝ THUYẾT
Tổng quan về ngôn ngữ Dart
HTML tạm dịch là ngôn ngữ đánh dấu siêu văn bản Người ta thường sử dụng HTML trong việc phân chia các đoạn văn, heading, links, blockquotes,…
Một website thường bao gồm nhiều trang con, mỗi trang có tập tin HTML riêng Cần lưu ý rằng HTML không phải là ngôn ngữ lập trình, do đó nó không thể thực hiện các chức năng động Hiểu một cách đơn giản, HTML chỉ có tác dụng bố cục và định dạng trang web, tương tự như phần mềm Microsoft Word Khi kết hợp với CSS và JavaScript, HTML tạo thành nền tảng vững chắc cho thế giới mạng.
1.1.2 Lịch sử hình thành HTML
HTML, được phát minh bởi Tim Berners-Lee, nhà vật lý học tại CERN, đã trở thành tiêu chuẩn Internet do tổ chức W3C (World Wide Web Consortium) quản lý và phát triển Để cập nhật thông tin mới nhất về HTML, bạn có thể truy cập trang web của W3C bất kỳ lúc nào.
HTML ra đời lần đầu vào năm 1991 với 18 thẻ cơ bản Phiên bản HTML 4.01 được phát hành vào năm 1999, và vào năm 2000, XHTML đã thay thế HTML Đến năm 2014, HTML5 được giới thiệu với nhiều thẻ mới, giúp xác định rõ ràng nội dung như , , và .
Theo Mozilla Developer Network, hiện tại HTML Element Reference có hơn 140 thẻ, nhưng một số thẻ trong số đó đã bị tạm ngưng do không còn được hỗ trợ bởi các trình duyệt hiện hành.
HTML được sử dụng để tạo cấu trúc trang web Nó có một số ưu điểm như sau:
Có nhiều tài nguyên hỗ trợ với động đồng người dùng lớn
Có thể hoạt động mượt mà trên hầu hết các trình duyệt hiện nay
Học HTML khá đơn giảm xii
Các markup sử dụng trong HTML thường ngắn gọn, có độ đồng nhất cao
Sử dụng mã nguồn mở hoàn toàn miễn phí
HTML là chuẩn web được vận hành bởi W3C
Dễ dàng tích hợp mọi ngôn ngữ backend khác (PHP,Node.js,…)[2]
Chỉ áp dụng được chủ yếu cho web tĩnh Nếu muốn các tính năng động, lập trình viên phải dùng thêm Javascript hoặc ngôn ngữ backend (Ví dụ PHP)
Mỗi trang HTML cần được tạo riêng biệt, ngay khi có yếu tố trùng lặp như header, footer
Một vài trình duyệt còn cập nhật chậm để hỗ trợ tính năng mới củaHTML
Tổng quan về CSS
CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ dùng để tìm kiếm và định dạng các phần tử do các ngôn ngữ đánh dấu tạo ra Nói một cách đơn giản, CSS giúp tạo phong cách cho trang web, bổ sung cho vai trò của HTML trong việc định dạng các phần tử như đoạn văn, tiêu đề và bảng Bằng cách sử dụng CSS, người dùng có thể thay đổi bố cục, màu sắc trang, màu chữ, font chữ và cấu trúc của các phần tử HTML.
1.2.2 Bố cục và cấu trúc một đoạn CSS
Bố cục CSS thường chủ yếu dựa vào hình hộp và mỗi hộp đều chiếm những khoảng trống trên trang của bạn với các thuộc tính như:
Padding: Gồm không gian xung quanh nội dung
Border: Là đường liền nằm ngay bên ngoài phần đệm
Marign: Là khoảng cách xung quanh bên ngoài phần tử
1.2.3 Ưu và nhược điểm của CSS Ưu điểm của Flutter
- Khả năng tiết kiệm thời gian xiii
- Khả năng tải trang nhanh chóng
- Dễ dàng thực hiện bảo trì
- Sở hữu thuộc tính rộng
- Khả năng tương thích tốt
- CSS hoạt động khác biệt cho từng trình duyệt
- Khá khó khăn cho người mới
- Định dạng web có khả năng
Tổng quan về ngôn ngữ Javascript
JavaScript, thường được viết tắt là JS, là một ngôn ngữ lập trình kịch bản phía máy khách, được sử dụng rộng rãi trong các ứng dụng web và là một trong ba công nghệ cốt lõi của World Wide Web, cùng với HTML và CSS Ngôn ngữ này được hỗ trợ trên hầu hết các trình duyệt như Firefox, Chrome và cả các trình duyệt di động Ban đầu, JavaScript được biết đến với tên gọi Mocha, sau đó đổi thành LiveScript trước khi chính thức mang tên JavaScript do sự nổi bật của Java vào thời điểm đó Netscape đã chuyển giao JavaScript cho ECMA International để chuẩn hóa, từ đó tạo ra tên gọi ECMAScript, và phần lõi của ngôn ngữ này đã được tích hợp vào hầu hết các trình duyệt như Netscape, Internet Explorer, Chrome và Firefox.
JavaScript là ngôn ngữ lập trình quan trọng cần được tích hợp vào tài liệu HTML để trình duyệt có thể thông dịch Việc nhúng JS vào HTML giúp website trở nên sống động hơn và cho phép kiểm soát hành vi trang web hiệu quả hơn JavaScript được sử dụng rộng rãi và linh hoạt, từ các slideshow, pop-up quảng cáo, đến các form điền thông tin, bản đồ tương tác và đồ họa 2D, 3D Đây là lớp công nghệ thứ ba trong bộ ba công nghệ web tiêu chuẩn, sau HTML và CSS, trong đó HTML cung cấp cấu trúc nội dung, CSS định dạng kiểu dáng, và JavaScript tạo ra nội dung động và kiểm soát đa phương tiện.
Sun Microsystems đã phát minh ra ngôn ngữ Java, một ngôn ngữ phức tạp và mạnh mẽ, phù hợp nhất cho các lập trình viên có kinh nghiệm và các công việc phức tạp Nhận thấy nhu cầu về một ngôn ngữ dễ sử dụng hơn, Netscape Communications đã phát triển LiveScript, một ngôn ngữ cho phép thiết kế các trang web tương tác mà không yêu cầu nhiều kinh nghiệm lập trình LiveScript, mặc dù chỉ là một ngôn ngữ phát thảo, đã tạo ra niềm tin vào khả năng tương tác tốt hơn Được thiết kế để xây dựng các trang web, LiveScript có tính khả dụng cao và hợp tác với Sun để ra mắt JavaScript Microsoft cũng đã phát triển phiên bản của JavaScript, gọi là Jscript, nhưng chưa tham chiếu đến các đặc tả chính thức của JavaScript.
JavaScript được thiết kế để cung cấp cho các nhà phát triển web khả năng kiểm soát và tương tác với chức năng của trang web Mã JavaScript có thể được nhúng vào tài liệu HTML, cho phép điều khiển nội dung và xác thực dữ liệu người dùng nhập Khi trang web hiển thị trên trình duyệt, các câu lệnh JavaScript sẽ được thông dịch và thực thi Là một ngôn ngữ lập trình dựa trên đối tượng, JavaScript hỗ trợ phát triển ứng dụng Internet cho cả client và server Được sáng tạo vào tháng 5 năm 1995 bởi Brendan Eich, một lập trình viên nổi bật của Netscape và đồng sáng lập Mozilla, JavaScript đã trở thành một phần không thể thiếu trong phát triển web hiện đại.
Ngôn ngữ Javascript cơ bản đóng vai trò quan trọng trong việc xây dựng website, cùng với hai ngôn ngữ chính khác là HTML và CSS Javascript chịu trách nhiệm lập trình chức năng và quản lý các yếu tố tương tác của người dùng, bao gồm trang liên hệ, cửa sổ pop-up, ghi nhận thông tin, biểu thức, hình động, bản đồ và trình phát video tương tác.
Ngôn ngữ Javascript hỗ trợ hoạt động trên nhiều trình duyệt và nền tảng khác nhau, giúp người dùng giảm thiểu công việc kiểm tra thủ công khi truy cập vào hệ cơ sở dữ liệu.
Tương tác tốt: Khi sử dụng ngôn ngữ này, lập trình viên có thể dễ dàng tạo các giao diện phản ứng khi người dùng sử dụng.
Javascript giúp giảm tải tương tác với máy chủ bằng cách thực hiện các tác vụ trực tiếp trên vi bộ xử lý của người dùng, từ đó tiết kiệm lưu lượng máy chủ.
Javascript là một ngôn ngữ lập trình dễ học và thân thiện với người dùng, cho phép lập trình viên nhanh chóng bắt đầu với các bài tập cơ bản.
Tạo nhiều tính năng bổ sung: Ngôn ngữ Javascript giúp bạn dễ dàng mở rộng tính năng của website thông qua bên thứ ba
1.3.4 Ưu điểm và nhược điểm của Javascript Ưu điểm của Javascript
JavaScript là ngôn ngữ lập trình đa nền tảng, tương thích với tất cả các trình duyệt, bao gồm cả trình duyệt trên thiết bị di động Điều này cho phép các lập trình viên sử dụng JavaScript để phát triển web game và ứng dụng di động một cách hiệu quả.
JavaScript nhanh và nhẹ hơn nhiều ngôn ngữ lập trình khác, cho phép người dùng xác nhận đầu vào trước khi gửi dữ liệu tới Server Điều này giúp tiết kiệm lưu lượng tải cho Server, giảm thiểu khối lượng công việc mà Server phải xử lý.
Từ đó, JS trở thành ngôn ngữ nhanh và nhẹ hơn các ngôn ngữ lập trình khác[6].
Tăng cường tương tác cho website bằng cách thiết kế giao diện thân thiện, cho phép người dùng dễ dàng tương tác chỉ với vài cú click chuột hoặc chạm vào màn hình.
JavaScript hỗ trợ việc phát triển các ứng dụng tương tác, cho phép khách hàng nhận phản hồi ngay lập tức mà không cần tải lại trang web, giúp họ dễ dàng nhận biết thông tin còn thiếu.
JavaScript cho phép bạn tạo ra giao diện phong phú hơn với các tính năng như kéo và thả (Drag and Drop) và các con trượt (Slider), mang đến trải nghiệm tương tác tốt hơn cho người dùng trên trang web của bạn Là một ngôn ngữ lập trình thông dịch nhẹ, JavaScript giúp bạn xây dựng khả năng tương tác cho các trang HTML tĩnh một cách dễ dàng.
JavaScript nổi bật với lợi thế không cần công cụ phát triển đắt tiền Bạn có thể dễ dàng bắt đầu lập trình với một trình soạn thảo văn bản đơn giản như Notepad Hơn nữa, vì JavaScript là ngôn ngữ thông dịch hoạt động trong trình duyệt web, bạn không cần phải đầu tư vào một bộ biên dịch.
Javascript cho phép lập trình viên triển khai tập lệnh phía máy khách một cách dễ dàng, tích hợp liền mạch vào HTML, giúp website tương tác và phản hồi người dùng ngay lập tức, đồng thời tạo ra giao diện phong phú hơn Ngoài ra, Javascript còn giúp đơn giản hóa các thành phần của ứng dụng, từ đó làm cho việc phát triển các ứng dụng web phức tạp trở nên dễ dàng hơn.
Thiết kế web responsive: JavaScript cho phép thiết kế web responsive – tối ưu trên cả máy tính và thiết bị di động chỉ với một bộ mã.
Tổng quan về PHP
PHP viết hồi qui của "PHP: Hypertext Preprocessor".
PHP là ngôn ngữ lập trình kịch bản phía máy chủ, cho phép nhúng mã vào HTML Ngôn ngữ này thường được sử dụng để quản lý nội dung động, xử lý cơ sở dữ liệu và theo dõi phiên làm việc.
Nó được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server.
PHP hoạt động hiệu quả, đặc biệt khi được biên dịch dưới dạng Apache Module trên hệ điều hành Unix MySQL Server có khả năng thực thi các truy vấn phức tạp với các tập hợp kết quả lớn trong thời gian kỷ lục Ngoài ra, PHP hỗ trợ nhiều giao thức phổ biến như POP3, IMAP và LDAP, trong khi PHP4 còn cung cấp hỗ trợ cho Java cùng các cấu trúc đối tượng phân phối như COM và CORBA.
Cú pháp PHP là giống C.[5]
5 đặc trưng quan trọng làm PHP trở thành ngôn ngữ khá tiện lợi:
1.4.3 Lợi ích khi thiết kế web bằng PHP
PHP được phát triển liên tục bởi các lập trình viên toàn cầu, làm cho nó trở nên thân thiện và ngày càng hoàn thiện Nếu bạn cần một kịch bản cụ thể, có khả năng cao là đã có người dùng khác tạo ra giải pháp tương tự Hãy khám phá cộng đồng PHP để tiết kiệm thời gian trong việc phát triển và tối ưu hóa thiết kế web của bạn.
Ngôn ngữ lập trình PHP là một trong những lựa chọn phổ biến nhất cho thiết kế web tại Việt Nam, nhờ vào việc miễn phí và dễ sử dụng Sự thân thiện với các hệ thống máy chủ và trình duyệt, cùng với thời gian thiết kế nhanh chóng và chi phí thấp, đã khiến PHP trở thành sự lựa chọn tối ưu cho các doanh nghiệp vừa và nhỏ trong việc phát triển web.
Tổng quan về framework Laravel
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC.
Framework là một thư viện chứa các tài nguyên sẵn có cho lập trình viên, giúp họ tiết kiệm thời gian thiết kế Với framework, lập trình viên chỉ cần tìm hiểu và khai thác các tài nguyên này, kết nối chúng lại để hoàn thiện sản phẩm Mỗi lập trình viên trong từng lĩnh vực cần xây dựng các lớp chương trình nhằm phát triển phần mềm và ứng dụng hoàn chỉnh.
PHP framework là thư viện hỗ trợ phát triển ứng dụng web bằng ngôn ngữ PHP một cách hiệu quả Nó cung cấp cấu trúc cơ bản giúp tăng tốc độ phát triển ứng dụng, tiết kiệm thời gian và nâng cao tính ổn định Đồng thời, PHP framework cũng giảm thiểu việc phải viết lại mã nguồn cho lập trình viên.
1.5.2 Lịch sử phát triển của Laravel
Laravel, được phát triển bởi Taylor Otwell vào tháng 6 năm 2011, đã trở thành một giải pháp thay thế mạnh mẽ cho CodeIgniter Framework này cung cấp cho lập trình viên nhiều tính năng mới, hiệu quả và dễ sử dụng, giúp tối ưu hóa quá trình phát triển ứng dụng.
Cho đến nay, Laravel đã được phát triển đến phiên bản 5.8 với nhiều cải tiến mới mẻ hơn.[6]
1.5.3 Ưu và nhược điểm của Laravel Ưu điểm của Laravel
Utilizing the latest features of PHP, Laravel enables developers to access cutting-edge functionalities such as Namespaces, Interfaces, Overloading, Anonymous Functions, and a more concise array syntax.
Laravel cung cấp một nguồn tài nguyên phong phú và dễ tiếp cận cho lập trình viên, bao gồm nhiều tài liệu tham khảo đa dạng Mỗi phiên bản phát hành đều đi kèm với tài liệu phù hợp, giúp người dùng áp dụng hiệu quả trong các ứng dụng của mình.
Laravel tích hợp dễ dàng với dịch vụ mail nhờ vào API sạch của thư viện SwiftMailer, cho phép bạn gửi email qua các dịch vụ đám mây hoặc từ máy chủ cục bộ.
Laravel nổi bật với tốc độ xử lý nhanh, giúp việc tạo lập website và các dự án lớn trở nên hiệu quả trong thời gian ngắn Chính vì lý do này, nó được nhiều công ty công nghệ và lập trình viên ưa chuộng để phát triển sản phẩm của mình.
Laravel là một framework PHP dễ sử dụng, cho phép người dùng nhanh chóng bắt đầu các dự án nhỏ chỉ trong vài giờ, ngay cả với kiến thức lập trình cơ bản Sự phổ biến của Laravel đến từ tính đơn giản và hiệu quả trong việc phát triển ứng dụng web.
Laravel mang đến tính bảo mật cao với các tính năng mạnh mẽ, giúp người dùng hoàn toàn yên tâm tập trung vào việc phát triển sản phẩm của mình.
Sử dụng PDO để chống lại tấn công SQL Injection. xxi
Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF.
Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do đó có thể tránh được tấn công XSS [6]
So với các PHP framework khác, Laravel có ít nhược điểm hơn, nhưng vấn đề lớn nhất là sự thiếu liên kết giữa các phiên bản, có thể gây gián đoạn hoặc phá vỡ ứng dụng khi cập nhật code Thêm vào đó, Laravel cũng nặng nề cho ứng dụng di động, dẫn đến việc tải trang chậm chạp.
1.5.4 Những tính năng của Laravel
Những tính năng tuyệt vời có thể kể đến của Laravel là:
Composer: sử dụng để nâng cấp, cài đặt…
Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản.
Restful API: hỗ trợ biến Laravel thành một web service API.
Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.
View: giúp code sạch sẽ hơn rất nhiều.
Migrations hỗ trợ việc tạo các trường trong cơ sở dữ liệu, thêm cột vào bảng, và thiết lập mối quan hệ giữa các bảng, đồng thời giúp quản lý cơ sở dữ liệu hiệu quả.
Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu…
Unit Testing: hỗ trợ test lỗi để sửa chữa.
PhpAdmin
PhpMyAdmin là phần mềm mã nguồn mở, được phát triển bằng ngôn ngữ PHP, cho phép quản lý cơ sở dữ liệu MySQL thông qua giao diện web Đến nay, phpMyAdmin đã thu hút hàng triệu người dùng và con số này vẫn tiếp tục gia tăng.
1.6.2 Tính năng của PhpAdmin xxii
Quản lý user(người dùng): thêm, xóa, sửa(phân quyền).
Quản lý cơ sở dữ liệu: tạo mới, xóa, sửa, thêm bảng, hàng, trường, tìm kiếm đối tượng.
Nhập xuất dữ liệu(Import/Export): hỗ trợ các định dạng SQL, XML và CSV.
Thực hiện các truy vấn MySQL, giám sát quá trình và theo dõi
Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu đề tài
Dự án "Nghiên cứu, xây dựng website thương mại dành cho thú cưng sử dụng công nghệ Laravel theo mô hình MVC" nhằm phát triển một nền tảng trực tuyến giúp khách hàng dễ dàng tiếp cận các sản phẩm cho thú cưng Website sẽ cung cấp đầy đủ thông tin về sản phẩm, bao gồm hình ảnh, giá cả, cùng với bình luận và đánh giá từ người dùng, mang lại trải nghiệm mua sắm thuận tiện và hiệu quả.
… Từ đó người dùng có thể chọn lựa được các sản phẩm dành cho thú cưng một cách nhanh chóng, phù hợp nhất.
Người dùng cần đăng nhập vào hệ thống để truy cập nhiều chức năng và quản lý thông tin hiệu quả Họ có thể đăng nhập bằng tài khoản mạng xã hội như Facebook, Google hoặc tạo tài khoản mới bằng email và mật khẩu Đối với quản trị viên, họ có quyền tạo tài khoản quản trị, thêm sản phẩm, xem thống kê và quản lý đơn hàng.
Hệ thống có chức năng ủy quyền người dùng, do đó: Đối với người dùng:
Được đăng ký tài khoản, đăng nhập bằng các tài khoản mạng xã hội ( Facebook và Google).
Được xem thông tin sản phẩm.
Được đặt cọc, thuê phòng trống trên hệ thống.
Được đặt hàng, thanh toán tiền hàng.
Được gửi đánh giá, bình luận sau khi mua hàng.
Được nhận thông báo khi có mã khuyến mãi mới.
Quản lí tài khoản của mình. Đối với người quản trị:
Được tạo tài khoản quản trị.
Được quản lý thông tin sản phẩm, thêm sửa xóa sản phẩm
Được quản lý phí giao hàng
Được quản lý mã khuyến mãi
Được quản lý ảnh banner
Được quản lý thống kê theo ngày tháng năm
Được quản lý các đơn hàng
Được in hóa đơn đơn hàng
Quản lí tài khoản của mình.
Đặc tả hệ thống
Bảng 1: Đặc tả hệ thống
Người quản trị website có quyền kiểm soát toàn bộ hệ thống, sử dụng tất cả các chức năng mà website cung cấp, và điều hành mọi hoạt động của website một cách hiệu quả.
Người dùng trên website có thể là những người truy cập mà không cần đăng ký làm thành viên, nhưng họ chỉ được hưởng một số quyền hạn nhất định trong việc sử dụng các tính năng của website.
Sơ đồ usecase
Biểu đồ ca sử dụng (use case diagram) thể hiện các ca sử dụng, tác nhân và mối quan hệ giữa chúng, cung cấp cái nhìn tĩnh về hệ thống từ góc độ người sử dụng Những biểu đồ này đóng vai trò quan trọng trong việc nắm bắt các chức năng của hệ thống.
Bước đầu tiên trong phân tích yêu cầu là xác định các ca sử dụng của hệ thống, mà mỗi ca sử dụng thể hiện một tương tác giữa hệ thống và môi trường Tập hợp các ca sử dụng mô tả toàn bộ hệ thống cần xây dựng, với mỗi ca sử dụng tương ứng với một chức năng từ góc nhìn của người sử dụng Ca sử dụng có thể lớn hoặc nhỏ và chỉ ra cách mà hệ thống đáp ứng các mục tiêu của người sử dụng Cần phân biệt rõ giữa mục tiêu mà người sử dụng mong đợi và các tương tác của họ với hệ thống, trong đó mục tiêu là điều mà người sử dụng kỳ vọng, còn tương tác là kỹ thuật giúp đạt được mục tiêu đó.
Thực tế, chúng ta xác định các mục tiêu trước, sau đó chọn tập hợp các tương tác đáp ứng các mục tiêu đó. b Tác nhân (Actor)
Tác nhân là một thực thể bên ngoài tương tác với hệ thống, khác với người sử dụng, người mà trực tiếp thao tác với hệ thống Việc phân biệt giữa tác nhân và người sử dụng là cần thiết để hiểu rõ vai trò của mỗi bên trong quá trình tương tác.
- Nhiều người sử dụng có thể tương ứng một tác nhân
Một người sử dụng có thể tương tác với nhiều tác nhân khác nhau, không chỉ là con người Tác nhân có thể bao gồm môi trường, các hệ thống khác, hoặc các thực thể bên ngoài tương tác với hệ thống cụ thể Việc đặc tả ca sử dụng là rất quan trọng để hiểu rõ hơn về các tác nhân này.
- Ca sử dụng: tên ca sử dụng thường bắt đầu bởi động từ
- Các tác nhân: danh sách các tác nhân liên quan
- Mô tả: tóm tắt các xử lý cần thực hiện Đặt tả ca sử dụng có thể thêm:
- Tham chiếu (reference) đến mục liên quan trong đặc tả yêu cầu.
- Điều kiện trước và điều kiện sau khi thực hiện ca sử dụng
Trong việc xây dựng kịch bản hành động cho ca sử dụng, chúng ta cần mô tả các sự kiện xảy ra, bao gồm các sự kiện chính và sự kiện ngoại lệ Các sự kiện này được chia thành hai luồng: một luồng tương ứng với các tác nhân và một luồng tương ứng với hệ thống Biểu đồ ca sử dụng sẽ giúp hình dung rõ ràng các mối quan hệ và quy trình giữa các sự kiện.
Biểu đồ ca sử dụng mô tả quan hệ giữa các tác nhân và các ca sử dụng của một hệ thống Ký hiệu như sau:
Hình 1: Các kí hiệu của biểu đồ ca sử dụng. xxvi
2.3.1 Sơ đồ usecase tổng quát khách hàng
Hình 2.3.1 Sơ đồ usecase tổng quát khách hàng
2.3.2 Sơ đồ usecase tổng quát admin
Hình 2.3.2 Sơ đồ usecase tổng quát admin xxvii
2.3.3 Sơ đồ usecase đăng nhập
Hình 2.3.3 Sơ đồ usecase đăng nhập
- Mục đích: Người dùng có thể tích hợp thêm đăng nhập bằng google,facebook và đăng nhập bằng email.
- Điều kiện: Click vào nút đăng nhập để thực hiện.
2.3.4 Sơ đồ usecase đăng xuất
Hình 2.3.4 Sơ đồ usecase đăng xuất
- Mục đích: Người dùng có thể đăng xuất ra khỏi hệ thống.
- Điều kiện: Click vào nút đăng xuất xxviii
2.3.5 Sơ đồ usecase đăng ký
Hình 2.3.5 Sơ đồ usecase đăng ký
- Mục đích: Người dùng đăng kí buộc nhập phải đủ 6 form tên,số điện thoại,email,mật khẩu,xác nhận mật khẩu,chọn thành phố.
- Điều kiện: Click vào nút đăng kí
2.3.6 Sơ đồ usecase đánh giá, bầu chọn sản phẩm
Hình 2.3.6 Sơ đồ usecase đánh giá, bầu chọn sản phẩm xxix
Để người dùng có thể đánh giá sản phẩm, họ cần nhấn vào sản phẩm trên trang chi tiết, tuy nhiên, yêu cầu bắt buộc là phải đăng nhập và đã mua sản phẩm đó trước.
- Điều kiện: Click vào nút đánh giá sao
2.3.7 Sơ đồ usecase thanh toán
Hình 2.3.7 Sơ đồ usecase thanh toán
Để hoàn tất quá trình thanh toán, người dùng cần đăng nhập và trải qua hai bước quan trọng: chọn địa chỉ giao hàng và cung cấp thông tin cá nhân Ngoài ra, nếu có mã giảm giá, người dùng có thể nhập mã để nhận ưu đãi và lựa chọn phương thức thanh toán bằng tiền mặt.
- Điều kiện: Click vào nút thanh toán
2.3.8 Sơ đồ usecase thay đổi mật khẩu xxx
Hình 2.3.8 Sơ đồ usecase thay đổi mật khẩu
- Mục đích: Người dùng nhấn thay đổi mật khẩu thì nhập email để form đến email để thực hiện xác nhận mật khẩu
- Điều kiện: Click vào nút thay mật khẩu
2.3.9 Sơ đồ usecase quản lý đơn đặt hàng
Hình 2.3.9 Sơ đồ usecase quản lý đơn đặt hàng xxxi
Admin có thể quản lý đơn hàng hiệu quả bằng cách cập nhật trạng thái đơn hàng, bao gồm đơn hàng đang giao, đã giao và hủy đơn hàng Ngoài ra, admin cũng có khả năng in hóa đơn cho khách hàng để đảm bảo tính chính xác và minh bạch trong quy trình giao dịch.
- Điều kiện: Click vào đơn hàng.
2.3.10 Sơ đồ usecase quản lý khách hàng
Hình 2.3.10 Sơ đồ usecase quản lý khách hàng
- Mục đích: Admin quản lí người dùng có thể quản lí nhiều thông tin của người dùng, admin có chức năng thêm,sửa,xóa người dùng.
- Điều kiện: Click vào thông tin người dùng xxxii
2.3.11 Sơ đồ usecase thông tin cá nhân
Hình 2.3.11 Sơ đồ usecase thông tin cá nhân
Khách hàng có thể dễ dàng sửa đổi thông tin cá nhân của mình, bao gồm thay đổi ảnh đại diện, chỉnh sửa tên, cập nhật quê quán, sửa số điện thoại, thay đổi địa chỉ và điều chỉnh giới tính.
- Điều kiện: Click vào thông tin người dùng
2.3.12 Sơ đồ usecase tìm kiếm sản phẩm
Hình 2.3.12 Sơ đồ usecase tìm kiếm sản phẩm xxxiii
- Mục đích: Người dùng có chức năng tìm kiếm sản phẩm theo tên và giá.
- Điều kiện: Click vào tìm kiếm sản phẩm
2.3.13 Sơ đồ usecase bình luận , đánh giá , yêu thích
Hình 2.3.13 Sơ đồ usecase bình luận , đánh giá , yêu thích
Để người dùng có thể truy cập vào thông tin chi tiết sản phẩm, bao gồm bình luận, đánh giá và danh sách yêu thích, việc đăng nhập là bắt buộc.
- Điều kiện: Click vào bình luận,đánh giá,yêu thích xxxiv
2.3.14 Sơ đồ usecase quản lý thương hiệu
Hình 2.3.14 Sơ đồ usecase quản lý thương hiệu
- Mục đích: Người dùng quản lí thương hiệu có chức năng thêm thương hiệu,tìm kiếm thương hiệu,sửa thương hiệu và xóa thương hiệu
- Điều kiện: Click vào thương hiệu xxxv
2.3.15 Sơ đồ usecase quản lý phí giao hàng
Hình 2.3.15 Sơ đồ usecase quản lý phí giao hàng
- Mục đích: Người dùng quản lí phí giao hàng có chức năng tìm kiếm,sửa tên,sửa mô tả,sửa giá,thêm thành phố và xóa giao hàng
- Điều kiện: Click vào phí giao hàng xxxvi
2.3.16 Sơ đồ usecase quản lý kho
Hình 2.3.16 Sơ đồ usecase quản lý kho
Người dùng có thể quản lý kho hiệu quả với các chức năng tìm kiếm, sửa đổi tên kho, tên sản phẩm, số lượng sản phẩm trong kho, số sản phẩm đang trong quá trình giao, số sản phẩm đã giao và theo dõi trạng thái kho hàng.
- Điều kiện: Click vào kho hàng
2.3.17 Sơ đồ usecase quản lý danh mục bài đăng xxxvii
Hình 2.3.17 Sơ đồ usecase quản lý danh mục bài đăng
- Mục đích: Người dùng quản danh mục bài đăng có chức năng tìm kiếm,xóa bài đăng ,sửa tên,sửa mô tả và thêm danh mục bài đăng
- Điều kiện: Click vào danh mục bài đăng
2.3.18 Sơ đồ usecase quản lý lượt xem sản phẩm
Hình 2.3.18 Sơ đồ usecase quản lý lượt xem sản phẩm
- Mục đích: Người dùng quản lí xem sản phẩm có chức năng đẩy thành file excel,tìm kiếm sản phẩm đã xem,xem sản phẩm
- Điều kiện: Click vào quản lí số lượt xem sản phẩm xxxviii
2.3.19 Sơ đồ usecase quản lý sản phẩm
Hình 2.3.19 Sơ đồ usecase quản lý sản phẩm
Người dùng có thể quản lý sản phẩm hiệu quả bằng cách theo dõi số lượng sản phẩm đã bán, thông tin kho hàng, số lượt xem, bình luận và đánh giá sản phẩm Hệ thống hỗ trợ xuất dữ liệu lên Excel và nhập thông tin từ Excel, giúp tìm kiếm, thêm, sửa đổi thương hiệu, tiêu đề, giá, mã giảm giá, mô tả và hình ảnh sản phẩm Ngoài ra, người dùng cũng có thể xóa sản phẩm và điều chỉnh số lượng sản phẩm hiển thị trên trang chủ.
- Điều kiện: Click vào sản phẩm xxxix
2.3.20 Sơ đồ usecase phân quyền
Hình 2.3.20 Sơ đồ usecase phân quyền
- Mục đích: Chức năng phân quyền người dùng admin có quyền chỉnh sửa cho người dùng 2 quyền đó là user và admin
- Điều kiện: Click vào phân quyền
2.3.21 Sơ đồ usecase quản lý bình luận
Hình 2.3.21 Sơ đồ usecase quản lý bình luận xl
- Mục đích: Người dùng quản lí bình luận sản phẩm có chức năng tìm kiếm,trả lời bình luận, xóa bình luận
- Điều kiện: Click vào bình luận
2.3.22 Sơ đồ usecase quản lý bài đăng
Hình 2.3.22 Sơ đồ usecase quản lý bài đăng
Người dùng có thể quản lý bài đăng hiệu quả với các chức năng như tìm kiếm, thêm mới, sửa tiêu đề, chỉnh sửa nội dung, cập nhật danh mục, thay đổi hình ảnh, xóa bài đăng và xuất dữ liệu ra định dạng Excel.
- Điều kiện: Click vào quản lí bài đăng xli
2.3.23 Sơ đồ usecase quản lý đánh giá sản phẩm
Hình 2.3.23 Sơ đồ usecase quản lý đánh giá sản phẩm
- Mục đích: Người dùng quản lí đánh giá sản phẩm có đẩy lên excel,tìm kiếm đánh giá sản phẩm, xóa đánh giá
- Điều kiện: Click vào quản lí đánh giá sản phẩm
2.3.24 Sơ đồ usecase quản lý mã khuyến mãi xlii
Hình 2.3.24 Sơ đồ usecase quản lý mã khuyến mãi
Người dùng mã giảm giá có thể tìm kiếm và thêm mã giảm giá mới, cũng như chỉnh sửa thông tin như mã code, ngày hết hạn và giá trị của mã giảm giá Họ còn có khả năng xóa mã giảm giá không còn hiệu lực và gửi email thông báo về các chương trình khuyến mãi đến khách hàng thường và khách hàng VIP.
- Điều kiện: Click vào mã khuyến mãi
2.3.25 Sơ đồ usecase thống kê doanh thu theo ngày, tháng, năm xliii
Hình 2.3.25 Sơ đồ usecase thống kê đơn đặt hàng theo tháng
- Mục đích: Người dùng quản lí thống kê doanh thu, sản phẩm, đơn hàng bán được, tổng tiền bán được theo ngày, tháng, năm
- Điều kiện: Click vào thống kê
2.3.26 Sơ đồ usecase quản lý Banner xliv
Hình 2.3.26 Sơ đồ usecase quản lý banner
- Mục đích: Người dùng quản lí slider có chức năng tìm kiếm,thêm banner,chọn ảnh,sửa tiêu đề,tên logo,mô tả,xóa banner.
- Điều kiện: Click vào banner
2.3.27 Sơ đồ usecase chia sẻ sản phẩm
Hình 2.3.27 Sơ đồ usecase chia sẻ sản phẩm
- Mục đích: Người dùng vào trang sản phẩm chi tiết có chức năng chia sẻ thông tin sản phẩm đến facebook
- Tác nhân: Khách hàng xlv
- Điều kiện: Click vào nút chia sẻ facebook
2.3.28 Sơ đồ usecase xuất hóa đơn
- Mục đích: Người dùng vào quản lí đơn hàng có chức năng xuất hóa đơn
- Điều kiện: Click vào quản lí đơn hàng
2.3.29 Sơ đồ usecase thêm sản phẩm vào giỏ hàng
Hình 2.3.29 Sơ đồ usecase thêm sản phẩm vào giỏ hàng
Người dùng cần đăng nhập để truy cập trang sản phẩm chi tiết, nơi có các chức năng như thêm sản phẩm vào giỏ hàng, điều chỉnh số lượng sản phẩm và thực hiện thanh toán.
- Điều kiện: Click vào giỏ hàng
Sơ đồ tuần tự
Biểu đồ tuần tự (sequence diagram) thể hiện sự tương tác giữa các đối tượng, nhấn mạnh thứ tự trao đổi thông điệp Nó bao gồm các đối tượng cùng với thông điệp mà chúng trao đổi Mỗi đối tượng trong biểu đồ có một đường sinh tồn (lifeline) thể hiện thời gian tồn tại của nó.
2.4.1 Sơ đồ tuần tự đăng nhập
Hình 2.4.1 Sơ đồ tuần tự đăng nhập
2.4.2 Sơ đồ tuần tự quên mật khẩu
Hình 2.4.2 Sơ đồ tuần tự quên mật khẩu xlvii
2.4.3 Sơ đồ tuần tự quản lý đơn đặt hàng
Hình 2.4.3 Sơ đồ tuần tự quản lý đơn đặt hàng 2.4.4 Sơ đồ tuần tự quản lý sản phẩm
Hình 2.4.4 Sơ đồ tuần tự quản lý sản phẩm xlviii
2.4.5 Sơ đồ tuần tự đăng ký
Hình 2.4.5 Sơ đồ tuần tự đăng ký
2.4.6 Sơ đồ tuần tự tìm kiếm sản phẩm
Hình 2.4.6 Sơ đồ tuần tự tìm kiếm sản phẩm xlix
2.4.7 Sơ đồ tuần tự bình luận sản phẩm
Hình 2.4.7 Sơ đồ tuần tự bình luận sản phẩm
2.4.8 Sơ đồ tuần tự đánh giá sản phẩm
Hình 2.4.8 Sơ đồ tuần tự đánh giá sản phẩm l
2.4.9 Sơ đồ tuần tự kho hàng
Hình 2.4.9 Sơ đồ tuần tự kho hàng
2.4.10 Sơ đồ tuần tự quản lý người dùng
Hình 2.4.10 Sơ đồ tuần quản lý người dùng li
2.4.11 Sơ đồ tuần tự quản lý thương hiệu
Hình 2.4.11 Sơ đồ tuần quản lý thương hiệu
2.4.12 Sơ đồ tuần tự admin hủy đơn hàng
Hình 2.4.12 Sơ đồ tuần tự admin hủy đơn hàng lii
2.4.13 Sơ đồ tuần tự admin xác nhận đơn hàng
Hình 2.4.13 Sơ đồ tuần tự admin xác nhận đơn hàng
2.4.14 Sơ đồ tuần tự quản lý sản phẩm
Hình 2.4.14 Sơ đồ tuần tự quản lý sản phẩm
Sơ đồ hoạt động
Phương pháp phân tích và thiết kế truyền thống sử dụng biểu đồ luồng dữ liệu (DFD) để mô tả dòng thông tin trong hệ thống Trong khi đó, phương pháp phân tích và thiết kế hệ thống (HĐT) sử dụng biểu đồ hoạt động để thể hiện các hoạt động của hệ thống liên quan đến một hoặc nhiều ca sử dụng Biểu đồ hoạt động định nghĩa rõ ràng các bước và quy trình trong hệ thống, giúp người dùng hiểu cách thức hoạt động của nó.
Các hoạt động (activity) của hệ thống và của các tác nhân
Thứ tự mà các hoạt động này được thực hiện
Phụ thuộc có thể giữa các hoạt động này
2.5.1 Sơ đồ hoạt động đăng nhập khách hàng / admin
Hình 2.5.1 Sơ đồ hoạt động đăng nhập khách hàng / admin liv
2.5.2 Sơ đồ hoạt động đăng ký khách hàng
Hình 2.5.2 Sơ đồ hoạt động đăng ký
2.5.3 Sơ đồ hoạt động quên mật khẩu
Hình 2.5.3 Sơ đồ hoạt động quên mật khẩu lv
2.5.4 Sơ đồ hoạt động thay đổi mật khẩu
Hình 2.5.4 Sơ đồ hoạt động thay đổi mật khẩu
2.5.5 Sơ đồ hoạt động thay đổi thông tin khách hàng / admin lvi
Hình 2.5.5 Sơ đồ hoạt động thay đổi thông tin khách hàng / amdin
2.5.6 Sơ đồ hoạt động thêm sản phẩm vào giỏ hàng
Hình 2.5.6 Sơ đồ hoạt động thêm sản phẩm vào giỏ hàng lvii
2.5.7 Sơ đồ hoạt động phân quyền
Hình 2.5.7 Sơ đồ hoạt động phân quyền lviii
2.5.8 Sơ đồ hoạt động tìm kiếm sản phẩm
Hình 2.5.8 Sơ đồ hoạt động tìm kiếm sản phẩm lix
2.5.9 Sơ đồ hoạt động cập nhật trạng thái đơn hàng
Hình 2.5.9 Sơ đồ hoạt động cập nhật trạng thái đơn hàng lx
2.5.10 Sơ đồ hoạt động in hóa đơn
Hình 2.5.10 Sơ đồ hoạt động in hóa đơn lxi
2.5.11 Sơ đồ hoạt động quản lý sản phẩm
Hình 2.5.11 Sơ đồ hoạt động quản lý sản phẩm lxii
2.5.12 Sơ đồ hoạt động quản lý ảnh nền
Hình 2.5.12 Sơ đồ hoạt động quản lý ảnh nền lxiii
2.5.13 Sơ đồ hoạt động quản lý thương hiệu
Hình 2.5.13 Sơ đồ hoạt động quản lý thương hiệu
2.5.14 Sơ đồ hoạt động quản lý mã khuyến mãi lxiv
Hình 2.5.14 Sơ đồ hoạt động quản lý mã khuyến mãi lxv
2.5.15 Sơ đồ hoạt động quản lý phí giao hàng
Hình 2.5.15 Sơ đồ hoạt động quản lý phí giao hàng lxvi
2.5.16 Sơ đồ hoạt động quản lý đơn hàng
Hình 2.5.16 Sơ đồ hoạt động quản lý đơn hàng lxvii
2.5.17 Sơ đồ hoạt động quản lý khách hàng
Hình 2.5.17 Sơ đồ hoạt động quản lý khách hàng
2.5.18 Sơ đồ hoạt động quản lý bình luận lxviii
Hình 2.5.18 Sơ đồ hoạt động quản lý bình luận lxix
2.5.19 Sơ đồ hoạt động quản lý số liệu
Hình 2.5.19 Sơ đồ hoạt động quản lý số liệu
2.5.20 Sơ đồ hoạt động quản lý thống kê lxx
Hình 2.5.20 Sơ đồ hoạt động quản lý thống kê
Thiết kế cơ sở dữ liệu
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Customer_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Customer_name Tên khách hàng Varchar(255)
Customer_phon e Số điện thoại Varchar(255) Kí tự phải là số
Customer_pass word Mật khẩu Varchar(255)
Customer_token Token Varchar(255) Đoạn kí tự random dùng để lấy lại mật khẩu Customer_pictu re
Hình ảnh Varchar(255) created_at Ngày tạo Datetime updated_at Ngày cập nhập Datetime
Customer_email Tên email Varchar(255) Kí tự phải có đuôi
Tên cột Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Order_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Customer_id Id khách hàng int
Shipping_id Id đơn hàng Text
Order_status Trạng thái đơn hàng
Created_at Ngày tạo Datetime
Updated_at Ngày cập nhập Datetime
Order_code Mã đơn hàng Varchar(50)
Order_date Ngày tạo đơn Varchar(50)
2.6.3 Bảng chi tiết đơn hàng
Tên cột Giải thích Kiểu dữ liệu Ràng buộc Ghi chú lxxi
Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Product_id Id sản phẩm Int(11)
Order_code Mã đơn hàng Varchar(255)
Product_name Tên sản phẩm Varchar(255)
Product_sales_q uantity Số lượng bán Int(11)
Product_coupon Mã khuyến mãi Varchar(50)
Product_feeship Phí ship Varchar(50)
Created_at Ngày tạo Datetime
Updated_at Ngày cập nhật Datetime
Tên cột Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Coupon_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Coupon_name Tên mã khuyến mãi
Coupon_code Mã khuyến mãi Varchar(255)
Coupon_times Số lần dùng Int(50)
Coupon_conditi on Phương thức giảm Int(11) 1: Giảm theo % 2: Giảm theo tiền Coupon_numbe r
Coupon_status Trạng thái mã khuyến mãi
Coupon_used Id của khách hàng khi dùng mã
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Admin_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống lxxii
Admin_email Tên email Varchar(255) Kí tự phải có đuôi
Admin_name Tên admin Int(11)
Admin_phone Số điện thoại Varchar(255)
Admin_address Địa chỉ Varchar(255)
Admin_avatar Hình ảnh Varchar(255) created_at Ngày tạo Datetime updated_at Ngày cập nhập Datetime
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Banner_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Banner_name Tên ảnh nền Varchar(255)
Banner_desc Mô tả Varchar(255)
Banner_content Nội dung Varchar(255)
Banner_image Hình ảnh Varchar(255)
Banner_status Trạng thái Int(11)
Created_at Ngày tạo Datetime
Updated_at Ngày cập nhập Datetime
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Brand_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Brand_name Tên thương hiệu Varchar(255)
Brand_slug Mô tả Varchar(255)
Brand_desc Nội dung Text
Banner_status Trạng thái Int(11)
Created_at Ngày tạo Datetime
Updated_at Ngày cập nhập Datetime
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Comment_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn lxxiii hệ thống
Comment_name Tên người bình luận
Comment_date Ngày bình luận Timestamp
Id sản phẩm bình luận
Comment_pare nt_comment Trả lời bình luận Int(11)
2.6.9 Bảng sản phẩm yêu thích
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Product_favorit e_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Product_id Id sản phẩm Int(11)
User_id Id người thích Int(11)
Del_flg Cờ xóa Int(11)
Created_at Ngày tạo Timestamp
Updated_at Ngày cập nhật Timestamp
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Fee_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống
Fee_matp Id thành phố Int(11)
Fee_maqh Id quận huyện Int(11)
Fee_xaid Id xã Int(11)
Fee_feeship Giá dịch vụ Varchar(255)
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Gallery _id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Gallery_name Tên thư viện Varchar(255)
Gallery_image Hình ảnh Varchar(255)
Product_id Id sản phẩm Int(11)
Created_at Ngày tạo Timestamp
Updated_at Ngày cập nhật Timestamp lxxiv
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Product _id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Brand_id Id thương hiệu Varchar(255)
Product_name Tên sản phẩm Varchar(255)
Product_slug Tên slug sản phẩm
Product_desc Mô tả sản phẩm Varchar(255)
Product_views Lượt xem sản phẩm
Product_content Nội dung sản phẩm Text
Product_quantit y Số lượng sản phẩm Varchar(255)
Product_sold Số lượng bán Int(11)
Product_tags Tags sản phẩm Text
Product_price Giá tiền Varchar(255)
Product_cost Giá gốc Varchar(255)
Product_image Hình ảnh Varchar(255)
Product_status Trạng thái Int(11)
Product_sale Giảm giá Int(11)
Created_at Ngày tạo Timestamp
Updated_at Ngày cập nhật Timestamp
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Maqh Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Name_quanhuy en Tên quận huyện Varchar(255)
Type Quận hoặc huyện Varchar(30)
Matp Mã thành phố Int(11)
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Matp Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Name_city Tên tỉnh thành Varchar(255)
Type Tỉnh thành Varchar(30) lxxv
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Xaid Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Name_xaphuon g
Maqh Mã quận huyện Int(11)
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Rating_id Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Product_id Id sản phẩm Int(11)
Rating Số sao đánh giá Int(11)
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Id_visitor Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Ip_address Địa chỉ Ip Varchar(100)
Date_visitors Ngày tạo Varchar(100)
Tên trường Giải thích Kiểu dữ liệu Ràng buộc Ghi chú
Id_statistical Mã tự động tạo bigint Khóa chính Duy nhất trong toàn hệ thống Order_date Ngày đặt hàng Varchar(100)
Sales Doanh thu bán Varchar(100)
Profit Doanh thu thực tế
Quantity Số lượng bán Int(11)
Total_order Tổng đơn đặt hàng
CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ
Giao diện đăng nhập và đăng ký khách hàng
Hình 3.2.1 Giao diện đăng ký, đăng nhập người dùng
Hình 3.2.2 Giao diện khi khách hàng đăng nhập thành công
Giao diện đăng nhập admin
Hình 3.2.3 Giao diện đăng nhập admin
Hình 3.2.4 Giao diện khi đăng nhập vào admin
Giao diện quên mật khẩu
Hình 3.2.5 Giao diện lấy lại mật khẩu
Giao diện xác nhận mật khẩu
Hình 3.2.6 Giao diện xác nhận mật khẩu lxxvii
Hình 3.2.7 Mail xác nhận lấy lại mật khẩu
Giao diện đăng xuất
Khi đã đăng nhập thì giao dện như này
Hình 3.2.8 Giao diện khi đang đăng nhập Khi đã đăng xuất
Hình 3.2.9 Giao diện khi khách hàng đăng xuất
Giao diện trang chủ
Hình 3.2.10 Giao diện trang chủ
Giao diện chi tiết sản phẩm
Hình 3.2.11 Giao diện chi tiết sản phẩm
Giao diện này khách hàng có thể biết được thông tin sản phẩm,các tags liên quan, trạng thái của sản phẩm, lượt đánh giá ,…
Giao diện sản phẩm liên quan
Hình 3.2.12 Giao diện sản phẩm liên quan
Giao diện thương hiệu sản phẩm
Hình 3.2.13 Giao diện thương hiệu sản phẩm
Giao diện thêm sản phẩm vào giỏ hàng
Hình 3.2.14 Giao diện khi thêm sản phẩm vào giỏ hàng
Giao diện lịch sử xem hàng
Hình 3.2.15 Giao diện lịch sử đơn hàng lxxviii
Giao diện giỏ hàng
Hình 3.2.16 Giao diện giỏ hàng
Giao diện thanh toán
Hình 3.2.17 Xem lại giỏ hàng
Hình 3.2.18 Địa chỉ giao hàng để tính phí ship
Hình 3.2.19 Thông tin cá nhân khách hàng
Giao diện xác nhận đơn hàng
Hình 3.2.20 Giao diện xác nhận đơn hàng
Giao diện thông tin đơn hàng
Hình 3.2.21 Giao diện thông tin đơn hàng
Giao diện hóa đơn
Giao diện ảnh nền
Hình 3.2.23 Giao diện ảnh nền lxxix
Giao diện sản phẩm
Hình 3.2.24 Giao diện sản phẩm
Giao diện quản lý khách hàng
Hình 3.2.25 Giao diện quản lý khách hàng
Giao diện quản lý mã khuyễn mãi
Hình 3.2.26 Giao diện quản lý mã khuyến mãi
Giao diện quản lý phí giao hàng
Hình 3.2.27 Giao diện quản lý phí giao hàng
Giao diện quản lý bình luận
Hình 3.2.28 Giao diện quản lý bình luận
Giao diện quản lý thương hiệu sản phẩm
Hình 3.2.29 Giao diện quản lý thương hiệu
Giao diện quản lý thống kê
Hình 3.2.30 Giao diện quản lý thống kê lxxx
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong lần thực tập này, chúng em coi đây là cơ hội và thử thách để học hỏi và rèn luyện các ngôn ngữ lập trình cũng như framework mới Qua việc thực hành, chúng em nhận thấy sự thú vị và đặc trưng của từng ngôn ngữ như C++, HTML, CSS, mà chúng em đã được học từ thầy cô Những kiến thức này trở thành nền tảng vững chắc cho hành trình tự tìm tòi và học hỏi của em Đồng thời, khả năng phân tích, thiết kế hệ thống và giải quyết vấn đề cũng được củng cố và áp dụng linh hoạt trong nghiên cứu Việc xây dựng cơ sở dữ liệu trong quá trình phân tích hệ thống giúp em viết chương trình hiệu quả hơn, đồng thời chú trọng tìm hiểu cấu trúc hệ thống để mang lại trải nghiệm tốt nhất cho người dùng.
Xây dựng một trang web thương mại điện tử cho thú cưng bằng framework Laravel, nhằm tối ưu hóa trải nghiệm khách hàng trong việc tiếp cận sản phẩm một cách nhanh chóng và thông minh, đồng thời góp phần hiện đại hóa hoạt động kinh doanh trực tuyến.
2 Hạn chế của đề tài
Do thời gian nghiên cứu có hạn, hệ thống mà chúng em phân tích và thiết kế vẫn còn nhiều hạn chế:
- Chưa tạo được mạng xã hội dành cho thú cưng, dành cho các chủ kinh doanh.
- Hệ thống còn load chậm, cần phải nâng cấp nhiều
- Chưa thực hiện đầy đủ các chức năng của người quản trị.
- Tính bảo bảo mật cho hệ thống chưa hoàn chỉnh.
Chương trình hiện tại vẫn còn hạn chế về kiến thức thực tế và lập trình, dẫn đến tính chuyên nghiệp chưa cao Một số lỗi vẫn chưa được phát hiện và một số tính năng chưa được tối ưu hóa.
Để phát triển hệ thống một cách hoàn thiện và thân thiện với người sử dụng, cần bổ sung các tính năng và công nghệ mới nhằm khắc phục những hạn chế hiện tại.