CƠ SỞ LÝ THUYẾT
Tìm hiểu về ngôn ngữ mô hình hóa UML
UML( Unified Modeling Language ) - Ngôn ngữ mô hình hóa thống nhất – là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng.
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin.
UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements) Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams) Có các loại sơ đồ UML chủ yếu sau:
- Sơ đồ lớp (Class Diagram).
- Sơ đồ đối tượng (Object Diagram).
- Sơ đồ tình huống sử dụng (Use Cases Diagram).
- Sơ đồ trình tự (Sequence Diagram).
- Sơ đồ cộng tác (Collaboration Diagram hay Composite Structure Diagram).
- Sơ đồ trạng thái (State Machine Diagram).
- Sơ đồ thành phần (Component Diagram).
- Sơ đồ hoạt động (Activity Diagram).
- Sơ đồ triển khai (Deployment Diagram).
- Sơ đồ gói (Package Diagram).
- Sơ đồ liên lạc (Communication Diagram).
- Sơ đồ tương tác (Interaction Overview Diagram – UML 2.0).
- Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0).
Các phần tử của UML:
- View: Theo các phương diện khác nhau của hệ thống cần phân tích, thiết kế Dựa vào các quan sát để thiết lập kiến trúc cho hệ thống cần phát triển (Có 5 loại View).
- Diagram: Đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối quan hệ của chúng Biểu đồ chứa đựng các nội dung của các quan sát dưới các góc độ khác nhau, một thành phần của hệ thống có thể xuất hiện trong một hay nhiều biểu đồ, có 9 loại biểu đồ khác nhau và được sử dụng kết hợp với nhau trong các trường hợp để cung cấp tất cả các hướng nhìn của một hệ thống.
- Model element: Các khái niệm được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một ý nghĩa và một kí hiệu.
- Relationship : Thể hiện mối quan hệ giữa các Class với nhau Trong UML có các quan hệ thường sử dụng như:
Tìm hiểu về ngôn ngữ lập trình PHP
PHP – viết tắt của “Hypertext Preprocessor”.
PHP là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã Hyper Text Markup Language (HTML) trên client Nó được sử dụng để quản lý nội dung động, Database, Session traccking, … Nó được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Microsoft SQL Server.
PHP vay mượn một số cú pháp từ C, Pert, Shell và Java Nó là một ngôn ngữ lai, lấy các tính năng tốt nhất từ ngôn ngữ khác vào tạo ra một ngôn ngữ kịch bản (script language): dễ sử dụng và mạnh mẽ Mã nguồn (code) PHP được sử dụng với nhiều mục đích trong đó: đặc biệt thích hợp cho phát triển web và có thể được nhúng vào các mã HTML.
PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối tượng phân phối (COM và CORBA).
PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web,với cách viết mã rõ ràng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL, và hệ điều hành Linux (LAMP).
- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
- MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (PostgreSQL, Oracle, SQL server, …) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.
- Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver. Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu…
2.1 Các đặc điểm của PHP
PHP là một ngôn ngữ lập trình web rất được ưa chuộng, hiện là ngôn ngữ lập trình web phổ biến nhất Nhờ vào một số đặc điểm sau:
- PHP dễ học và linh động.
- Rất nhiều hàm hỗ trợ và nhiều phần mở rộng phong phú.
- Đặc biệt mã nguồn mở, thường xuyên nâng cấp, chạy được trên nhiều máy chủ web, nhiều hệ điều hành (đa nền tảng).
- Cộng đồng sử dụng và hỗ trợ đông đảo.
- Ngoài phần code chính (thường được gọi là code thuần), các phần mở rộng cũng rất phong phú mà lại miến phí như nhiều frame work, nhiều CMS.
- Các mã nguồn chia sẻ trên mạng tìm được rất nhiều và dễ dàng.
- Được tích hợp và sử dụng ổn định trong một mô hình LAMP = Linux + Apache + MySQL + PHP, mã nguồn mở, chi phí thấp.
- Các hosting hỗ trợ nhiều.
Khi người sử dụng gọi trang PHP, Web Server sẽ gọi PHP Engine để thông dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới.
Hình II.1: Mô hình hoạt động PHP
2.3 Các công cụ cần thiết
- Phần mềm tạo môi trường (hay còn gọi là máy chủ offline – server offline).
- Trình soạn thảo mã nguồn (hay con gọi là editor).
- Một số phần mềm tạo môi trường để thực thi mã PHP như: Wamp, Xampp,Vertrigoserv, AppServ, phpstorm, Notepad++, Dreamweaver, …
Tìm hiểu về Laravel Framework
Laravel là một open source, là một framework dùng để xây dựng web application phổ biến nhất hiện nay, được thiết kế dựa trên mô hình MVC (Model, Controller, View) Với các ưu điểm vượt trội như: thừa hưởng ưu điểm và thế mạnh từ những framework đi trước, cộng đồng sử dụng lớn, sử dụng ORM để thao tác với database tích hợp composer làm công cụ quản lý, sử dụng blade template engine …
Phiên bản đầu tiên được phát hành vào tháng 5/2011 Từ đó đến nay đã trải qua nhiều lần update Phiên bản mới nhất tính đến thời điểm này là 5.4.
Luồng hoạt động của Laravel: hoạt động theo mô hình MVC như sau:
Hình II.2: Luồng hoạt động của Laravel
Khi người dùng gửi một yêu cầu lên hệ thống, hệ thống sẽ gửi về cho Controller xử lý các yêu cầu của người dùng Trong quá trình làm việc đó, Controller sẽ phải thông qua lớp Model nếu muốn làm việc với cơ sở dữ liệu (DataBase) Sau khi xử lý xong, Model sẽ đưa dữ liệu về cho Controller, Controller tiếp tục đưa sang View vàView hiển thị lại cho người dùng kết quả cuối cùng. Ưu điểm của Laravel so với các framework khác
- Đơn giản: các chức năng của Laravel rất dễ hiểu và thực hiện.
- Ngắn gọn: hầu hết các chức năng của Laravel hoạt động liên tục với cấu hình rất nhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat.
- Trình bày hợp lý: hướng dẫn sử dụng Laravel rất đầy đủ và luôn cập nhật Nhà lập trình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra một phiên bản mới, đảm bảo những người học lập trình luôn luôn có những tài liệu mới nhất.
3.2 Lợi ích của Laravel Framework
- Tổ chức file và cấu trúc code rõ ràng.
- Hệ thống thư viện và công cụ phong phú.
- Code ít hơn, nhưng làm được nhiều việc hơn.
- Mô hình MVC rõ ràng, dễ bảo trì.
- Thích hợp làm việc nhóm và phân chia công việc.
- Chức năng hỗ trợ bảo mật, validate dữ liệu, SQL Injection…
- Template phong phú, thư viện form helper giúp xây dựng form nhanh và bảo mật.
- Hỗ trợ đường dẫn thân thiện (Friendly Url).
3.3 Yêu cầu khi cài đặt Laravel
- Mcrypt PHP Extension (Laravel dùng nó để mã hóa tăng tính bảo mật).
Tìm hiểu về hệ quản trị cơ sở dữ liệu MySQL
4.1 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet MySQL miễn phí hoàn toàn cho nên có thể tải MySQL về từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS …
MySQL là một trong những ví dụ rất cơ bản về Hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụng cho việc bổ trợ Perl, PHP và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl, …
4.2 Mục đích sử dụng cơ sở dữ liệu
Mục đích sử dụng cơ sở dữ liệu gồm các chức năng: lưu trữ, truy cập, tổ chức, xử lý.
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ CSDL này sang CSDL khác, nếu sử dụng trong quy mô nhỏ, có thể chọn
- CSDL nhỏ như Microsoft Excel, Microsoft Access, MySQL, … Nếu là quy mô lớn hơn thì có thể chọn Oracle, SQL Server…
- Truy cập: Truy cập dữ liệu thuộc vào mục đích và yêu cầu của người sử dụng, ở mức độ mang tính cục bộ, truy cập CSDL ngay trong CSDL với nhau, nhằm trao đổi hay xử lý dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài CSDL, nên cần có các phương thức truy cập CSDL giữa các CSDL với nhau như Microsoft Access với SQL Server hay SQL Server với Oracle, …
- Tổ chức: Tổ chức CSDL phụ thuộc vào mô hình CSDL, phân tích và thiết kế CSDL, tức là tổ chức CSDL phụ thuộc vào đặc điểm của từng ứng dụng Tuy nhiên khi tổ chức CSDL cần tuân theo một số tiêu chuẩn của hệ thống CSDL nhằm tăng tính tối ưu khi truy cập và xử lý.
- Xử lý: Tùy vào nhu cầu tính toán và truy vấn CSDL với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của CSDL để xuất ra kết quả như yêu cầu Để thao tác hay xử lý dữ liệu bên trong chính CSDL ta sử dụng nhóm ngôn ngữ lập trình như PHP, C++, Java, Visual Basic…
4.3 Đặc điểm nổi bật của MySQL
Nơi tin cậy để lưu trữ web và dữ liệu.
Phát triển ứng dụng hỗn hợp.
Mã nguồn mở tự do và hỗ trợ xuyên suốt.
4.4 Công cụ hỗ trợ của MySQL
- Database Master – MySQL Management Tool.
PHÂN TÍCH THIẾT KẾ
Đặc tả hệ thống
Phân tích làm rõ quy trình nghiệp vụ của Website bán mỹ phẩm của cửa hàng MINISHOP gồm các chức năng:
+ Quản lý sản phẩm: cho phép người dùng tìm kiếm, thêm, sửa, xóa sản phẩm. + Quản lý danh mục sản phẩm: cho phép tìm kiếm, thêm, sửa, xóa danh mục sản phẩm.
+ Thống kê, báo cáo: thống kê báo cáo doanh thu,…
+ Quản lý nhân viên: cho phép người dùng tìm kiếm, thêm, sửa, xóa thông tin nhân viên.
+ Quản lý tài khoản: cho phép thêm, sửa, xóa, tìm kiếm, phân quyền tài khoản. + Quản lý đặt hàng: cho phép thêm, sửa, xóa số lượng đơn hàng.
Frontend của website thực hiện các chức năng:
+ Hiển thị các sản phẩm mới, sản phẩm theo các loại sản phẩm trên hệ thống. + Cho phép tìm kiếm, xem sản phẩm được đăng trên website.
+ Cho phép để lại bình luận cho từng sản phẩm.
+ Cho phép đặt hàng và thanh toán.
1.2 Đối tượng sử dụng hệ thống
Website quản lý điện máy này hoạt động chủ yếu phục vụ cho bốn đối tượng chính: admin (quản trị hệ thống), nhân viên và khách hàng, khách vãng lai
- Admin có quyền thực hiện quản lý tất cả các chức năng trong hệ thống như quản lý sản phẩm, quản lý danh mục sản phẩm, quản lý tài khoản, quản lý nhà cung cấp, quản lý nhân viên, báo cáo thống kê, quản lý khách hàng, quản lý đặt hàng. Để thực hiện các chức năng này admin phải đăng nhập hệ thống.
- Nhân viên có quyền quản lý các chức năng liên quan đến khách hàng như quản lý bán hàng, thống kê báo cáo Để thực hiện các chức năng này, nhân viên kho phải đăng nhập hệ thống.
- Khách hàng có quyền tìm kiếm, xem sản phẩm, đăng ký tài khoản, đặt hàng,….
- Khách vãng lai có quyền đăng ký tài khoản, xem thông tin sản phẩm, tìm kiếm
- Giao diện đẹp, hình ảnh phong phú thu hút người dùng.
- Các sản phẩm luôn được cập nhật.
- Đảm bảo vận hành tốt khi có nhiều người dùng cùng tương tác tại cùng một thời điểm.
1.4 Yêu cầu phi chức năng
Mục Tên yêu cầu Mô tả yêu cầu
1 Giao diện Giao diện hệ thống phải dễ sử dụng, trực quan, thân thiện với mọi người dùng.
2 Tốc độ xử lý Hệ thống phải xử lý nhanh chóng và chính xác.
3 Tương thích Tương thích với đa phần các trình duyệt web hiện tại.
Bảng III.1: Các yêu cầu phi chức năng của hệ thống
Phân tích
Hình III.1: Biểu đồ use case của hệ thống
- Tác nhân: Thành viên, Quản trị viên, Nhân viên
- Chức năng: Đăng nhập tài khoản
- Đầu vào: Nhập Tài khoản và Mật khẩu
- Bước 1: Người dùng nhập tài khoản và mật khẩu sau đó nhấn nút đăng nhập
- Bước 2: Hệ thống kiểm tra thông tin đăng nhập có tồn tại hay không
- Tài khoản đúng: Hệ thống thông báo đăng nhập thành công
- Ngược lại hệ thống thông báo thất bại
Hình III.2: Biểu đồ use case đăng nhập
- Tác nhân : Khách vãng lai
- Chức năng: Đăng ký thành viên
- Đầu vào: Kích chuột vào ô đăng ký thành viên và nhập đầy đủ thông tin: Họ tên, giới tính, ngày sinh, email, số điện thoại, địa chỉ, ID, mật khẩu.
- Bước 1: Khách hàng chọn đăng ký thành viên và nhập đầy đủ thông tin(họ tên, tài khoản,địa chỉ ,email,số điện thoại,mật khẩu )
- Bước 2: Hệ thống kiểm tra và tiếp nhận thông tin
- Không có sai sót: Hệ thống trả về thông báo kết quả đăng ký thành công.
- Ngược lại hệ thống thông báo đến chỗ bị sai sót cho người dùng biết và sửa đổi thông tin.
Hình III.3: Biểu đồ use case đăng ký
2.2.3 Use case cập nhật thông tin cá nhân
- Chức năng: Thay đổi thông tin cá nhân
- Đầu vào: Điền thông tin cần cập nhật và thông tin cần chỉnh sửa
- Bước 1: Người dùng điền thông tin cần cập nhật
- Bước 2: Hệ thống sẽ kiểm tra và lưu thông tin
- Đầu ra: Thông báo kết quả cập nhật
Hình III.4: Biểu đồ use case cập nhật thông tin cá nhân
2.2.4 Use case xem thông tin sản phẩm
- Tác nhân: Khách vãng lai, thành viên, quản trị viên.
- Chức năng: Xem thông tin chi tiết sản phẩm
- Đầu vào: Chọn sản phẩm mình muốn xem.
- Bước 1: ở giao diện trang chủ khách hàng có thể bấm vào nút “chi tiết sản phẩm” ở dưới ảnh sản phẩm.
- Bước 2: hệ thống kiểm tra thông tin và hiển thị.
- Đầu ra: Thông tin sản phẩm được hiển thị
2.2.5 Use case tìm kiếm sản phẩm
- Tác nhân: khách vãng lai, thành viên
- Đầu vào: Nhập tên sản phẩm muốn tìm kiếm
- Bước 1: người dùng nhập dữ liệu vào ô tìm kiếm, hệ thống sẽ tiến hành lọc và tìm kiếm những thông tin liên quan với dữ liệu mà người dùng nhập.
- Bước 2: nhấn nút tìm kiếm, hệ thống xử lý và đưa ra kết quả
- Hiển thị ra những sản phẩm mà người dùng tìm kiếm.
- Ngược lại hệ thống sẽ thông báo không có sản phẩm mà người dùng tìm kiếm.
2.2.6 Use case cập nhật giỏ hàng
- Chức năng: Cập nhật lại số lượng
- Đầu vào: Thành viên có tài khoản
- Các sản phẩm nằm trong giỏ hàng, khách hàng có thể thực hiện các chức năng thêm, tăng số lượng sản phẩm
- Đầu ra: giỏ hàng được cập nhật
- Chức năng: Đặt các sản phẩm muốn mua
- Đầu vào: Đưa sản phẩm vào giỏ hàng
- Bước 1: khách hàng hoàn tất việc điểu chỉnh giỏ hàng và nhấn nút đặt hàng
- Bước 2: Hệ thống chuyển sang trang xác nhận
- Bước 3: Tại đây khách hàng xác nhận thông tin giao hàng và nhấn nút đặt hàng
- Đầu ra: Hệ thống thông báo đặt hàng thành công và hiển thị ra thông tin đơn hàng vừa đặt.
2.2.8 Use case quản lý sản phẩm
- Tác nhân: Quản trị viên, nhân viên
- Chức năng: Thêm, sửa, xóa sản phẩm
- Đầu vào: Nhấn nút thêm sản phẩm bạn muốn thêm
- Bước 1: Quản trị viên có thể thêm mới sản phẩm, sửa đổi thông tin sản phẩn, xóa sản phẩm
- Bước 2: Hệ thống xác nhân, và lưu thông tin
- Đầu ra: Thông báo cập nhật sản phẩm thành công
2.2.9 Use case quản lý nhập hàng
- Chức năng: Nhập số lượng sản phẩm
- Đầu vào: Thông tin sản phẩm
- Bước 1: nhân viên có thể thêm, xóa hoặc cập nhật số lượng sản phẩm
- Bước 2: hệ thống cập nhật và lưu lại
- Đầu ra: Hệ thống thông báo cập nhật thành công
Hình III.5: Biểu đồ lớp chi tiết
2.4 Bảng cơ sở dữ liệu
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Mã khách hàng
2 Name varchar(191) NOT NULL Tên khách hàng
3 Email varchar(191) NOT NULL Email khách hàng
4 Address varchar(100) NOT NULL Địa chỉ khách hàng
5 Phone int(11) NOT NULL SĐT khách hàng
6 Email_verified_at timestamp NULL Ngày xác thực
7 Password varchar(191) NOT NULL Mật khẩu của KH
8 Remember_token varchar(100) NULL Token quên mật khẩu
9 Created_at timestamp NULL Ngày khởi tạo
10 Updated_at timestamp NULL Ngày cập nhật
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã đơn hàng
2 Total int(11) NOT NULL Tổng hóa đơn
3 Tax int(11) NOT NULL Thuế
4 Discount int(11) Null Khuyến mãi
5 Payment_id int(11) Khóa ngoại Mã thanh toán
6 User_id int(11) Khóa ngoại Mã khách hàng
7 Status tinyint(1) Null Trạng thái ĐH
8 Total_pay int(11) Not Null Tổng thanh toán
9 Created_at timestamp Null Ngày khởi tạo
10 Updated_at timestamp Null Ngày cập nhật
11 Approver_id int(11) Null Mã phê duyệt ĐH
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Mã chi tiết ĐH
2 Bill_id int(11) Khóa ngoại Mã đơn hàng
3 Product_id int(11) Khóa ngoại Mã sản phẩm
4 Qty int(11) NOT NULL Số lượng CTĐH
5 Total int(11) NOT NULL Tổng CTĐH
6 Created_at timestamp NULL Ngày khởi tạo CTĐH
7 Updated_at timestamp NULL Ngày cập nhật CTĐH
Bảng III.4: Bảng BILLS_DETAIL
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã danh mục
2 Name varchar(191) NOT NULL Tên danh mục
3 Slug varchar(100) NOT NULL Đường dẫn danh mục
4 Parent_id int(11) Khóa ngoại Mã danh mục cha
5 Status tinyint(1) NOT NULL Trạng thái danh mục
6 Created_at timestamp NULL Ngày khởi tạo DM
7 Updated_at timestamp NULL Ngày cập nhật DM
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã bình luận
2 Content varchar(191) NOT NULL Nội dung bình luận
3 user_id varchar(191) Khóa ngoại Mã khách hàng
4 product_id varchar(191) Khóa ngoại Mã sản phẩm
5 created_at timestamp NULL Ngày khởi tạo BL
6 updated_at timestamp NULL Ngày cập nhật BL
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Permission_id bigint(20) Khóa ngoại Mã phân quyền
2 model_type varchar(191) NOT NULL Đường dẩn file model
3 model_id bigint(20) Khóa ngoại Mã người dùng
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 role_id bigint(20) Khóa ngoại Mã phân quyền
2 model_type varchar(191) NOT NULL Đường dẩn file model
3 model_id bigint(20) Khóa ngoại Mã người dùng
Bảng III.7: Bảng MODEL_HAS_ROLES
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã tin tức
2 Title varchar(100) NOT NULL Tiêu đề tin tức
3 Preview varchar(255) NOT NULL Mô tả tin tức
4 Detail Text NOT NULL Chi tiết tin tức
5 Thumbnail varchar(191) NOT NULL Hình ảnh chi tiết
6 created_at Timestamp NULL Ngày khởi tạo tin tức
7 updated_at Timestamp NULL Ngày cập nhật tin tức
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
8 user_id int(11) NOT NULL Mã khách hàng
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã thanh toán
2 pay_ment varchar(100) NOT NULL Loại hình thanh toán
3 created_at Timestamp NULL Ngày khởi tạo thanh toán
4 updated_at Timestamp NULL Ngày cập nhật thanh toán
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã quyền
2 Name varchar(191) NOT NULL Tên quyền
3 guard_name varchar(191) NOT NULL Xác thực logic (code)
4 created_at Timestamp NULL Ngày tạo
5 updated_at Timestamp NULL Ngày cập nhập
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã sản phẩm
2 Name varchar(191) NOT NULL Tên sản phẩm
3 Slug varchar(191) NOT NULL Đường dẫn sản phẩm
4 Qty int(11) NOT NULL Số lượng sản phẩm
5 Sale int(11) NOT NULL Giảm giá sản phẩm
6 Price int(11) NOT NULL Giá bán sản phẩm
7 Preview varchar(255) NOT NULL Mô tả sản phẩm
8 Detail Text NOT NULL Chi tiết sản phẩm
9 Thumbnail varchar(100) NOT NULL Hình ảnh chi tiết SP
10 Images Text NOT NULL Hình ảnh sản phẩm
11 Category_id int(11) Khóa ngoại Mã danh mục
12 Created_at Timestamp NULL Ngày khởi tạo SP
13 Updated_at Timestamp NULL Ngày cập nhật SP
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã phân quyền
2 Name varchar(191) NOT NULL Tên phân quyền
3 guard_name varchar(191) NOT NULL Xác thực logic (code)
4 created_at Timestamp NULL Ngày tạo
5 updated_at Timestamp NULL Ngày cập nhập
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 permission_id bigint(20) Khóa ngoại Mã quyền
2 role_id varchar(191) NOT NULL Mã phân quyền
Bảng III.13: Bảng ROLE_HAS_PERMISSIONS
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint(20) Khóa chính Mã slide
2 Title varchar(191) NOT NULL Tiêu đề
3 Preview varchar(191) NOT NULL Mô tả
4 Thumbnail varchar(191) NOT NULL Hình ảnh
5 Created_at timestamp NULL Ngày tạo
6 Updated_at timestamp NULL Ngày cập nhập
7 User_id int(11) Khóa ngoại Id người tạo
XÂY DƯNG CHƯƠNG TRÌNH
Giao diện quản trị
Hình IV.1: Giao diện trang quản trị
Giao diện đăng nhập hệ thống của admin
Hình IV.2: Giao diện đăng nhập hệ thống của admin
Giao diện danh mục sản phẩm
Hình IV.3: Giao diện danh mục sản phẩm
Giao diện danh sách sản phẩm
Hình IV.4: Giao diện danh sách sản phẩm
Giao diện danh sách đặt hàng
Hình IV.5: Giao diện danh sách đặt hàng
Giao diện danh sách tài khoản
Hình IV.6: Giao diện danh sách tài khoản
Giao diện đăng nhập
Hình IV.7: Giao diện đăng nhập
Giao diện đăng ký
Hình IV.8: Giao diện đăng ký
Giao diện xác thực gmail khách hàng
Hình IV.9: Giao diện xác thực gmail khách hàng
Giao diện trang chủ website
Hình IV.10: Giao diện trang chủ website
Giao diện chi tiết sản phẩm
Hình IV.11: Giao diện chi tiết sản phẩm
Giao diện giỏ hàng
Hình IV.12: Giao diện giỏ hàng
Giao diện thanh toán trực tiếp
Hình IV.13: Giao diện thanh toán trực tiếp
Giao diện thanh toán online
Hình IV.14: Giao diện thanh toán online
Giao diện thông tin khách hàng
Hình IV.15: Giao diện thông tin khách hàng
Giao diện tin tức
Hình IV.16: Giao diện tin tức