Website cũng có cácchức năng cho người quản trị để họ có thể quản lý sản phẩm, phân loại sản phẩm,quản lý khách hàng, quản lý các bình luận từ khác hàng về các sản phẩm cũng nhưthống kê
Giới thiệu đề tài
Theo thống kê của Bộ Y tế tháng 4/2019, khoảng 15% dân số Việt Nam có vấn đề về sức khỏe tâm thần: rối loạn lo âu, stress, trầm cảm… Theo báo cáo Fitch Solutions Macro Research 2019, Việt Nam cũng là nước có tỷ lệ thừa cân béo phì tăng nhanh nhất Đông Nam Á trong 5 năm tính từ 2014 (38%).
Việc giữ gìn sức khỏe từ khi nào đã trở thành vấn đề được ưu tiên hàng đầu Theo báo cáo của Younet Kedia, có nhiều nguyên nhân dẫn đến nhu cầu theo đuổi healthy lifestyle (phong cách sống lành mạnh) trên mạng xã hội hiện nay, dẫn đầu chính là để tăng cường sức khỏe (50.27%) Đối với người đi làm ít vận động, lối sống lành mạnh giúp họ hạn chế tình trạng béo phì, ngăn ngừa bệnh tật Và hơn cả, duy trì một vóc dáng đẹp và khỏe mạnh đang là ưu tiên hàng đầu của cả nam lẫn nữ trong thời kỳ “nhà nhà người người đi gym” như hiện nay.
Phân tích dự án
Hiện trạng
Health Power là một hệ thống các cửa hàng bán lẻ trên khắp cả nước Việt nam,kinh doanh đa dạng các mặt hàng về thực phẩm chức năng, thực phẩm bổ sung dinh dưỡng và sức khỏe Hiện cửa hàng chưa có website giới thiệu các sản phẩm đến người tiêu dùng và phục vụ khách hàng có nhu cầu mua hàng trực tuyến Họ cũng không thu nhận được các phản hồi từ người tiêu dùng về các mặt hàng để cải tiến và nâng cao chất lượng nhằm phục vụ khách hàng ngày một tốt hơn.
Yêu cầu hệ thống
Healthy Power mong muốn sở hữu một trang web để giới thiệu sản phẩm, lắng nghe ý kiến khách hàng về các sản phẩm đang kinh doanh Trang web còn hỗ trợ người quản trị quản lý các sản phẩm, phân loại sản phẩm, quản lý khách hàng, quản lý bình luận của khách hàng về các sản phẩm và thống kê hàng hóa theo loại Ngoài ra, trang web còn có chuyên mục bài viết chia sẻ thông tin sức khỏe, kinh nghiệm sử dụng sản phẩm, nâng cao hiểu biết người tiêu dùng.
Yêu cầu cụ thể được đặt ra như sau:
Website bán hàng dành cho người tiêu dùng:
- Cấu trúc chúng của tất cả các trang web trong website phải:
+ Chứa danh mục loại hàng hóa để khách hàng dễ dàng tìm kiếm hàng hóa theo từng loại.
+ Tìm kiếm hàng hóa theo tên.
+ Hiển thị danh sách các mặt hàng được quan tâm nhiều nhất (được xem nhiều nhất).
+ Đăng nhập/thông tin người tiêu dùng sau khi đã đăng nhập.
- Trưng bày các mặt hàng đặc biệt được nhân viên quản trị chỉ định Các mặt hàng đặc biệt có thể được trình bày theo cách nào đó sao cho dễ nhìn (có thể sử dụng slideshow).
- Trang trưng bày hàng hóa.
- Khi người dùng chọn loại hàng hoặc tìm kiếm theo tên thì danh sách hang hóa thỏa mãn yêu cầu được hiện ra Mỗi mặt hàng cần hiển thị hình ảnh, tên, đơn giá và giảm giá nếu có Khi người dùng nhấp vào hình của hàng hóa thì sẽ chuyển đến trang hiển thị chi tiết hàng hóa đồng thời tăng số lần xem.
- Chi tiết hàng hóa Yêu cầu của trang web này như sau:
+ Thông tin chi tiết của mặt hàng được chọn.
+ Danh sách các mặt hàng cùng loại với mặt hàng được chọn.
+ Cho phép khách hàng gửi bình luận về sản phẩm.
+ Các bài viết nổi bật.
+ Bài viết theo chuyên mục.
- Các trang quản lý tài khoản sử dụng
+ Cập nhật thông tin tài khoản.
Website quản trị dành cho người quản trị:
+ Các trang này cần được trang bị các chức năng xem, thêm, xóa, sửa, tìm kiếm và phân trang một cách hợp lý.
+ Quản lý xuất nhập kho.
+ Quản lý danh mục sản phẩm.
+ Quản lý nhà cung ứng.
+ Quản lý khuyến mãi và giảm giá.
+ Quản lý danh mục bài viết.
+ Quản lý bình luận và đánh giá sao về sản phẩm.
+ Quản lý bình luận bài viết.
+ Quản lý quản trị viên.
+ Thống kê hàng hóa theo loại, cho phép hiển thị dưới dạng biểu đồ.
+ Thống kê bình luận theo hàng hóa.
Yêu cầu về bảo mật:
- Tất cả các form nhập phải được kiểm soát dữ liệu một cách hợp lý.
- Khách hàng chưa đăng nhập không được phép gửi bình luận về hàng hóa cũng như đổi mật khẩu, cập nhật thông tin tài khoản.
- Chỉ có các nhân viên quản trị và các cấp trên mới được phép thực hiện các chức năng quản trị.
Yêu cầu về môi trường và công nghệ:
- Website phải được xây dựng với PHP và MySQL.
Use Case
Use case là sơ đồ mô tả các tình huống sử dụng của người dùng trong hệ thống. Theo yêu cầu của website, chúng ta có thể phác thảo sơ đồ use case như sau:
3.1.1 Chức năng dành cho khách hàng
- Cấu trúc chung của trang web: Hiển thị danh mục loại hàng, form tìm kiếm theo tên, 6 mặt hàng được xem nhiều nhất và form đăng nhập, thông tin khách hàng sau khi đã đăng nhập Nếu người đăng nhập là nhân viên thì hiển thị liên kết đến trang quản trị.
Tìm kiếm hàng hóa thuận tiện với chức năng lọc theo loại Khách hàng dễ dàng duyệt danh mục sản phẩm đa dạng, được sắp xếp theo các nhóm cụ thể Mỗi kết quả tìm kiếm cung cấp đầy đủ thông tin, bao gồm tên sản phẩm, hình ảnh và giá bán Nhấp vào liên kết để truy cập trang thông tin chi tiết về từng sản phẩm, giúp khách hàng nắm rõ các đặc điểm và thông số kỹ thuật trước khi đưa ra quyết định mua hàng.
- Tìm hàng theo tên: Liệt kê các mặt hàng theo tên hàng hoặc tên loại theo yêu cầu tìm kiếm của khách hàng Thông tin mỗi mặt hàng gồm tên, ảnh và đơn giá Liên kết đến trang chi tiết hàng hóa.
- Xem thông tin chi tiết: Hiển thị thông tin chi tiết của mặt hàng được chọn bởi khách hàng và các mặt hàng cùng loại có gắn liên kết đến trang chi tiết hàng hóa để khách hàng có thể xem luôn mà không cần phải trở lại trang liệt kê hàng hóa.
- Gửi bình luận và đánh giá về sản phẩm: Gửi bình luận và đánh giá sao về mặt hàng đang xem, chức năng này chỉ được thực hiện sau khi khách hàng đã đăng nhập Các bình luận về mặt hàng cũng được liệt kê ra để khách hàng có thể xem.
Số sao của sản phẩm cũng được hiển thị ngay trên mục bình luận để khách hàng đánh giá.
+ Đăng ký: Đăng ký thành viên mới với vai trò là khách hàng, tức không được phép sử dụng các chức năng trong phần quản trị.
+ Đăng nhập: Đăng nhập để có thể thực hiện các chức năng: gửi bình luận, đổi mật khẩu, cập nhật thông tin tài khoản, đặt hàng, thanh toán đơn hàng.
+ Đăng xuất: Chọn chức năng này để trở thành người dùng không tên, tức không được phép gửi bình luận, đổi mật khẩu, cập nhật thông tin tài khoản cũng như đặt hàng hay thanh toán đơn hàng.
+ Đổi mật khẩu: Thay đổi mật khẩu khi cần thiết để đảm bảo độ bảo mật của mình.
+ Quên mật khẩu: Tìm lại mật khẩu dựa vào tên đăng nhập và email Sau khi xác định đúng sẽ gửi mật khẩu qua email đã đăng ký trước đó để đảm bảo độ bảo mật.
+ Cập nhật thông tin tài khoản: Cập nhật lại thông tin tài khoản của mình (không cho phép cập nhật tên đăng nhập).
- Xem và gửi bình luận về bài viết: Xem và gửi bình luận bài viết đang xem, chức năng này chỉ được thực hiện sau khi khách hàng đã đăng nhập Các bình luận về bài viết cũng được liệt kê ra để khách hàng có thể xem Ngoài ra, còn hiển thị các bài viết trong cùng chuyên mục để khách hàng có thể tham khảo thêm.
3.1.2 Chức năng dành cho quản trị
- Cấu trúc chung của trang web: Hiển thị danh sách loại hàng, danh sách mặt hàng, danh sách bình luận, form thêm loại hàng, form thêm mặt hàng, form thêm bài viết,… và trang thống kê các loại hàng và mặt hàng.
- Quản lý hàng hóa: Thực hiện được các chức năng xem, thêm, xóa, sửa và phân trang.
- Quản lý loại hàng: Thực hiện được các chức năng xem, thêm, xóa, sửa.
- Quản lý nhà cung ứng: Thực hiện được các chức năng xem, thêm, xóa, sửa.
- Quản lý xuất nhập kho: Thực hiện được các chức năng xem, thêm, xóa, sửa, thống kê hàng hóa xuất, nhập.
- Quản lý tài khoản quản trị: Thực hiện được các chức năng xem, thêm, xóa, sửa, cấp mật khẩu mới Nhân viên quản trị không thể thực hiện xóa chính mình hay nhân viên quản trị khác Chỉ có Cấp trên mới thực hiện việc xóa nhân viên quản trị.
Quản lý tài khoản khách hàng bao gồm các chức năng tra cứu thông tin, bình luận và lịch sử mua hàng của khách hàng Đây là quyền hạn dành riêng cho cấp quản lý Chỉ cấp quản lý mới được phép thực hiện hành động xóa tài khoản khách hàng.
Tổng hợp và quản lý bình luận về sản phẩm yêu cầu tổng hợp và hiển thị chi tiết các bình luận của khách hàng liên quan đến từng mặt hàng Chức năng này cho phép quản trị viên xóa hoặc ẩn các bình luận không chính xác hoặc không phù hợp, góp phần duy trì môi trường thảo luận lành mạnh và phản ánh chính xác trải nghiệm của khách hàng.
- Tổng hợp và quản lý bình luận về bài viết: Tổng hợp và hiển thị chi tiết các bình luận của khách hàng về từng bài viết Cho phép xóa hoặc ẩn các bình luận sai hoặc không phù hợp.
Thiết kế
Mô hình triển khai
Website giới thiệu hàng hóa của Healthy Power sau khi hoàn thành sẽ được triển khai theo mô hình như sơ đồ sau:
Thuê host có hỗ trợ php và mySql để triển khai website healthypower.tk lên đó.
Nhân viên quản trị vào website để quản lý.
Người tiêu dùng sử dụng trình duyệt web để truy cập, tìm kiếm và gửi bình luận về sản phẩm.
Thiết kế CSDL
Dựa vào đặc tả thực thể và cụ thể làm việc với Healthy Power, ta thiết kế sơ đồ quan hệ và chi tiết các thực thể để từ đó có đủ thông tin cài đặt CSDL lên mySQL.
2.1 Sơ đồ quan hệ thực thể
Từ đặc tả thực thể đã xây dựng ở trên, nhóm em tiến hành xây dựng lược đồ quan hệ giữa các thực thể Cụ thể như sau:
2.2 Thiết kế chi tiết các thực thể
Bảng Quản trị viên (acl_users) lưu thông tin quản trị viên có cấu trúc như sau:
The 'admin' table stores information about system administrators The 'id' column is the primary key and auto-increments 'username' is the unique login name, 'password' is the encrypted password, 'fullname' is the administrator's full name, and 'email' is their email address 'avatar' is the file name of the administrator's profile picture, 'code' is an internal identifier, 'job_title' is the administrator's job title, and 'department' is the department they belong to 'manager_id' is the ID of their manager, 'phone' is their phone number, 'address1' and 'address2' are their addresses, 'postal_code' is their postal code, 'remember_token' is a token used for remembering logged-in users, 'active_code' is used for activating new users, and 'status' indicates the activation status of the administrator.
Trạng thái hoạt động created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật
Bảng chức vụ (acl_roles) lưu thông tin về chức vụ của quản trị viên có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chức vụ name varchar(200) NOT NULL Tên chức vụ slug varchar(255) Tên không dấu display_name varchar(255) Tên hiển thị guard_name varchar(255) NOT NULL Tên bảo mật created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật
Bảng quyền hạn (acl_permissions) lưu thông tin về quyền hạn của quản trị viên có cấu trúc như sau:
Bảng `quyền hạn` gồm các cột: `id` (mã số nguyên tự tăng, khóa chính), `name` (tên quyền hạn, không được null), `slug` (tên quyền hạn không dấu), `display_name` (tên hiển thị), `guard_name` (tên bảo mật, không được null), `created_at` (ngày tạo) và `updated_at` (ngày cập nhật).
2.2.4 Chức vụ của quản trị viên
Bảng chức vụ của quản trị viên (acl_user_has_roles) lưu thông tin về chức vụ của quản trị viên cụ thể có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chi tiết role_id bigint(20) NOT NULL, FK Mã chức vụ user_id bigint(20) NOT NULL, FK Mã quản trị viên
2.2.5 Quyền hạn của quản trị viên
Bảng quyền hạn của quản trị viên (user_has_permissions) lưu thông tin về quyền hạn của quản trị viên cụ thể có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chi tiết permission_id bigint(20) NOT NULL, FK Mã quyền hạn user_id bigint(20) NOT NULL, FK Mã quản trị viên
2.2.6 Quyền hạn của chức vụ
Bảng quyền hạn của chức vụ (acl_role_has_permissions) lưu thông tin về quyền hạn của chức vụ cụ thể có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chi tiết permission_id bigint(20) NOT NULL, FK Mã quyền hạn role_id bigint(20) NOT NULL, FK Mã chức vụ
PRO1014 – Nhóm 1 Lớp:WD16201 2.2.7 Cửa hàng
Bảng cửa hàng (shop_stores) lưu thông tin của cửa hàng có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id int PK, NOT NULL, tự tăng ID store_code varchar(200) NOT NULL Mã cửa hàng store_name varchar(200) NOT NULL Tên cửa hàng description tinyint(1) Mô tả image varchar(200) Ảnh đại diện status tinyint(1) As Defined: 1 Trạng thái hoạt động created_at timestamps Ngày tạo updated_at timestamps Ngày cập nhật
Bảng nhập kho (shop_imports) lưu thông tin về việc nhập kho của cửa hàng có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã nhập store_id bigint(20) NOT NULL, FK Mã cửa hàng employee_id bigint(20) NOT NULL, FK Mã nhân viên import_date datetime NOT NULL Ngày nhập created_at timestamps Ngày tạo updated_at timestamps Ngày cập nhật
Bảng chi tiết nhập kho (shop_import_details) lưu thông tin về chi tiết từng đợt nhập kho của cửa hàng có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chi tiết import_id bigint(20) NOT NULL, FK Mã nhập kho product_id bigint(20) NOT NULL, FK Mã sản phẩm quantity decimal(18,4) NOT NULL Số lượng unit_price decimal(19.4) NOT NULL Đơn giá
Bảng xuất kho (shop_exports) lưu thông tin về việc xuất kho của cửa hàng có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã xuất store_id bigint(20) NOT NULL, FK Mã cửa hàng employee_id bigint(20) NOT NULL, FK Mã nhân viên export_date datetime NOT NULL Ngày xuất created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật
Bảng chi tiết xuất kho (shop_export_details) lưu thông tin về chi tiết từng đợt xuất kho của cửa hàng có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng Mã chi tiết export_id bigint(20) NOT NULL, FK Mã xuất kho product_id bigint(20) NOT NULL, FK Mã sản phẩm quantity decimal(18,4) NOT NULL Số lượng unit_price decimal(19.4) NOT NULL Đơn giá
2.2.12 Nhà cung ứng sản phẩm
Bảng nhà cung ứng sản phẩm (shop_suppliers) lưu thông tin của nhà cung ứng sản phẩm có cấu trúc như sau:
Tên cột Kiểu Ràng buộc Ghi chú id bigint(20) PK, NOT NULL, tự tăng ID supplier_code varchar(50) NOT NULL Mã nhà cung ứng supplier_nam e varchar(255) NOT NULL Tên nhà cung ứng supplier_slug varchar(300) NOT NULL Liên kết tĩnh description text Mô tả image varchar(255) Ảnh minh họa status tinyint(1) As Defined: 1 Trạng thái hợp tác position int(10) Thứ tự created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật
PRO1014 – Nhóm 1 Lớp:WD16201 2.2.13 Danh mục sản phẩm
Bảng danh mục sản phẩm lưu thông tin của danh mục sản phẩm có cấu trúc như sau:
The database table named `category` has several columns: `id` (primary key, auto-increment), `category_code` (not null), `category_name` (not null), `category_slug` (not null), `description` (text), `image` (image URL), `status` (1 for active), `position` (sort order), `created_at` (timestamp), and `updated_at` (timestamp).
Bảng sản phẩm (shop_products) lưu thông tin về chi tiết từng sản phẩm có cấu trúc như sau:
The 'Product' table schema comprises several key columns, including: 'id' (primary key), 'product_code' (unique product identifier), 'product_name', 'product_slug' (user-friendly URL), 'image' (product image), 'short_description', 'description' (detailed product information), 'standard_cost', 'list_price', 'quantity_per_unit', 'discontinued' (product availability status), 'is_featured', 'is_new' (product attributes), 'category_id' (foreign key referencing the 'Category' table), 'supplier_id' (foreign key referencing the 'Supplier' table), and 'created_at' (timestamp of product creation).
Trang 35 updated_at timestamp Ngày cập nhật
Bảng giá giảm sản phẩm (shop_product_discounts) lưu thông tin của giá giảm sản phẩm có cấu trúc như sau:
Tạo CSDL trên MySQL
- Tạo cơ sở dữ liệu websuckhoe với các bảng như đã thiết kế:
Từ cơ sở dữ liệu đã tạo, ta có sơ đồ database như sau:
Thiết kế giao diện
Website healthypower.com được chia làm 2 phần dành riêng cho 2 đối tượng khác nhau là khach hàng và nhân viên quản trị.
Phần Site: dành cho khách hàng chứa các trang web chức năng giúp khách hàng dễ dàng tìm kiếm hàng hóa mình cần, xem thông tin, gửi bình luận và quản lý tài khoản của mình
Phần Admin: dành cho nhân viên quản trị gồm các trang web quản lý, thống kê dữ liệu
4.2 Thiết kế phần quản trị
Sau khi thiết kế cơ sỡ dữ liệu và sơ đồ website, ta tiến hành công việc tiếp theo đó là thiết kế giao diện dành cho phần quản trị viên Giao diện dựa trên những nhu cầu trong sơ đồ website
PRO1014 – Nhóm 1 Lớp:WD16201 4.2.1 Cấu trúc chung (layout) và trang chủ (dashboard)
4.2.2 Trang quản lý quản trị viên
Trang quản lý quản trị viên gồm có các mục như sau:
Trong đó, mỗi mục đều có các mục con là: Thêm mới và Danh sách Sau đây là giao diện cụ thể của từng chức năng:
Chức năng thêm mới quản trị viên
Danh sách quản trị viên
Chức năng thêm mới chức vụ và Danh sách chức vụ
Chức năng thêm mới quyền hạn và Danh sách quyền hạn
4.2.3 Trang quản lý sản phẩm
Chức năng quản lý sản phẩm dành cho quản trị viên gồm các chức năng:
Giao diện chức năng thêm mới sản phẩm
Giao diện chức năng danh sách sản phẩm
Các chức năng thêm mới danh mục sản phẩm, thêm mới nhà cung ứng, danh sách danh mục và danh sách nhà cung ứng có cấu trúc tương tự nhau như sau:
4.2.4 Trang quản lý mã giảm giá
Trang quản lý mã giảm giá có các mục như sau:
Chức năng thêm mới mã giảm giá có giao diện như sau:
Danh sách mã giảm giá
4.2.5 Trang quản lý đơn hàng
Chức năng quản lý đơn hàng có cấu trúc như sau:
Mục danh sách đơn hàng có giao diện như sau:
Mục tra cứu phí vận chuyển có giao diện như sau:
4.2.6 Trang quản lý khách hàng
Chức năng quản lý khách hàng có cấu trúc
Giao diện chức năng thêm mới khách hàng
Giao diện xem danh sách khách hàng
4.2.7 Trang quản lý bài viết
Chức năng quản lý bài viết gồm các mục sau:
Giao diện chức năng thêm mới bài viết và giao diện danh sách bài viết
Giao diện của trang thêm danh mục bài viết
Giao diện của trang danh sách danh mục bài viết
4.3 Thiết kế phần khách hàng
4.3.1 Cấu trúc chung (layout) và trang chủ (home)
Trang chi tiết hàng hóa
4.3.3 Trang đăng nhập, đăng ký, quản lý người dùng
Trang quản lý thông tin người dùng
Trang đặt lại mật khẩu
4.3.4 Trang giỏ hàng và thanh toán
Trang tra cứu phí vận chuyển
Trang tạo mới đơn hàng
Thực hiện viết mã
Cấu trúc thư mục và mô hình viết mã dự án
Trong dự án này, nhóm em thực hiện viết mã dự án dựa trên mô hình MVC có cấu trúc thư mục như sau:
- Chức năng của từng thư mục như sau:
+ Thư mục app chứa các controller xử lý yêu cầu, model chứa các đoạn mã xử lý truy vấn cơ sở dữ liệu, view chứa các giao diện tương ứng với từng chức năng. Ngoài ra còn có các thư mục khác để hỗ trợ công việc viết mã.
+ Thư mục configs chứa các đoạn mã khai báo cơ sở dữ liệu, khai báo đường dẫn và khai báo sessions.
+ Thư mục core chứa các đoạn mã xử lý kết nối cơ sở dữ liệu, kết nối controller với model và view, ngoài ra còn có các tệp hỗ trợ công việc viết mã khác.
+ Thư mục lib chứa các thư viện hỗ trợ bên ngoài như: phpmailer, tcpdf,…
+ Thư mục public chức các file javascript, css, hình ảnh của các giao diện quản trị và người dùng.
- Website hoạt động dựa trên sơ đồ sau:
Khai báo cơ sỡ dữ liệu và đường dẫn của website
- Thực hiện khai báo cơ sở dữ liệu:
- Thực hiện xây dựng đường dẫn cho từng site:
Tạo các model truy vấn tới từng bảng trong cơ sở dữ liệu
Thực hiện truy vấn tới các bảng trong cơ sở dữ liệu, mỗi bảng được ánh xạ với một model riêng, chứa các hàm cơ bản: thêm, xóa, sửa, truy vấn tất cả dữ liệu và tìm kiếm dữ liệu theo mã.
- Các hàm trong model được triệu gọi từ Lớp QueryBuilder trong thư mục core Dùng để thực hiện truy vấn cơ sở dữ liệu.
Tạo các View dựa trên giao diện đã xây dựng
- Trong thư mục View gồm các thư mục: blocks, admins, clients, layouts
- Thư mục layout chứa giao diện chính của mỗi phần.
- Thư mục admins chứa các view admin, blocks chứa các khối chung, clients chứa các views của khách hàng Thực hiện viết mã cho các view trên.
Tạo các Controller dựa trên các chức năng đã đề ra
- Thư mục app/controller được chia làm 2 bộ phận:
+ Trong thư mục admins là các controller dành cho phần quản trị Mỗi controller sẽ có các hàm cơ bản là thêm, xem, xóa, sửa.
+ Các controller bên ngoài là các controller dành cho phần người dùng Mỗi controller sẽ có các hàm và các chức năng riêng.
- Thực hiện viết mã các controller dựa trên các chức năng đã đề ra
Kiểm lỗi
Yêu cầu kiểm lỗi
1.1 Kiểm lỗi form thêm mới sản phẩm
Thuộc tính Thêm mới Cập nhật
Tên sản phẩm Không để trống
Khối lượng Không để trống
Giá sản phẩm Không để trống
Nhà cung cấp Không để trống
Loại sản phẩm Không để trống Ảnh minh họa Không để trống, kích thước nhỏ hơn 2MB.
Chiều dài Không để trống
Chiều rộng Không để trống
Chiều cao Không để trống
1.2 Kiểm lỗi form thêm mới danh mục sản phẩm
Thuộc tính Thêm mới Cập nhật
Tên danh mục Không để trống
1.3 Kiểm lỗi form thêm mới nhà cung ứng
Thuộc tính Thêm mới Cập nhật
Tên nhà cung ứng Không để trống
1.4 Kiểm lỗi form thêm mới quản trị viên
Thuộc tính Thêm mới Cập nhật
Họ và tên Không để trống
Email Không để trống Đúng định dạng email: viduemail@amc.com
Không trùng với email đã có trong hệ thống Tên đăng nhập Không để trống
Không trùng với tên đăng nhập đã có trong hệ thống
Mật khẩu Khống để trống
Mật khẩu phải lớn hơn 8 ký tự Loại tài khoản Không được để trống
1.5 Kiểm lỗi form thêm mới chức vụ
Tên chức vụ Không để trống
Tên bảo mật Không để trống
1.6 Kiểm lỗi form thêm mới quyền hạn
Tên quyền hạn Không để trống
Tên bảo mật Không để trống
1.7 Kiểm lỗi form thêm mới bài viết
Thuộc tính Thêm mới Cập nhật
Tiêu đề bài viết Không để trống Ảnh minh họa Không để trống
Nội dung chính Không để trống
Chuyên mục bài viết Không để trống
1.8 Kiểm lỗi form thêm mới danh mục bài viết
Thuộc tính Thêm mới Cập nhật
Tên danh mục Không để trống
1.9 Kiểm lỗi form thêm mới khách hàng
Thuộc tính Thêm mới Cập nhật
Họ và tên Không để trống
Email Không để trống Không trùng với email đã có. Đúng định dạng email: viduemail@amc.com Tên đăng nhập Không để trống
Không trùng với tên đăng nhập đã có trong hệ thống
Mật khẩu Khống để trống
Mật khẩu phải lớn hơn 8 ký tự
1.10 Kiểm lỗi form đăng ký khách hàng
Thuộc tính Thêm mới Cập nhật
Họ và tên Không để trống
Email Không để trống Đúng định dạng email: viduemail@amc.com
Không trùng với email đã có trong hệ thống Tên đăng nhập Không để trống
Không trùng với tên đăng nhập đã có trong hệ thống
Mật khẩu Khống để trống
Mật khẩu phải lớn hơn 8 ký tự Xác nhận mật khẩu Không để trống
Trùng khớp với mật khẩu đã điền
Số điện thoại Không để trống Đúng định dạng 10 số
Không trùng với số điện thoại đã có trong hệ thống Địa chỉ giao hàng Không để trống
1.11 Kiểm lỗi form đăng nhập khách hàng
Thuộc tính Thêm mới Cập nhật
Tên đăng nhập Không để trống Trùng với tên đăng nhập trong hệ thống
Mật khẩu Khống để trống
Trùng khớp với mật khẩu của tên đăng nhập tương ứng
Thực hiện kiểm lỗi
2.1 Kiểm lỗi phần quản lý sản phẩm
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật sản phẩm
Thêm mới (Cập nhật) sản phẩm thành công
- Nhập chiều dài, chiều rộng, chiều cao.
2 Thêm mới, Thêm mới 05/08/2021 - Không nhập tên sản phẩm.
PRO1014 – Nhóm 1 Lớp:WD16201 cập nhật sản phẩm
(Cập nhật) sản phẩm không thành công
- Không chọn nhà cung ứng.
- Nhập chiều dài, chiều rộng, chiều cao.
2.2 Kiểm lỗi danh mục sản phẩm
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật danh mục sản phẩm
Thêm mới (Cập nhật) danh mục sản phẩm thành công
- Không chọn hình minh họa.
2 Thêm mới, cập nhật danh mục sản phẩm
Thêm mới (Cập nhật) danh mục sản phẩm không thành công
05/08/2021 - Nhập tên danh mục trùng với tên đã có trong hệ thống.
3 Thêm mới, cập nhật danh mục sản phẩm
Thêm mới (Cập nhật) danh mục sản phẩm không thành công
05/08/2021 - Không nhập tên danh mục.
2.3 Kiểm lỗi nhà cung ứng
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật nhà cung ứng
Thêm mới (Cập nhật) nhà cung ứng thành công
05/08/2021 - Nhập tên nhà cung ứng.
- Không chọn hình minh họa.
2 Thêm mới, cập nhật nhà cung ứng
Thêm mới (Cập nhật) nhà cung ứng không thành công
05/08/2021 - Nhập tên nhà cung ứng trùng với tên đã có trong hệ thống.
3 Thêm mới, cập nhật nhà cung ứng
Thêm mới (Cập nhật) nhà cung ứng không thành công
05/08/2021 - Không nhập tên nhà cung ứng.
2.4 Kiểm lỗi form thêm mới quản trị viên
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật quản trị viên
Thêm mới (Cập nhật) quản trị viên thành công
- Nhập email mới đăng ký Đúng định dạng viduemail@amc.com
- Nhập mật khẩu lớn hơn 8 ký tự.
2 Thêm mới, cập nhật quản trị viên
Thêm mới (Cập nhật) quản trị viên không thành công
05/08/2021 - Không nhập họ và tên.
- Nhập email mới đăng ký Email sai định dạng viduemail@amc.com
- Nhập mật khẩu nhỏ hơn 8 ký tự.
2.5 Kiểm lỗi phần chức vụ
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật chức vụ
Thêm mới (Cập nhật) chức vụ thành công
2 Thêm mới, cập nhật chức vụ
Thêm mới (Cập nhật) chức vụ không thành công
- Không nhập tên bảo mật.
2.6 Kiểm lỗi phần quyền hạn
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật quyền hạn
Thêm mới (Cập nhật) quyền hạn thành công
2 Thêm mới, Thêm mới 05/08/2021 - Không nhập quyền hạn.
Trang 77 cập nhật quyền hạn
(Cập nhật) quyền hạn không thành công
- Không nhập tên bảo mật.
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật bài viết
Thêm mới (Cập nhật) bài viết thành công
05/08/2021 - Nhập tiêu đề bài viết.
- Chọn danh mục của bài viết.
2 Thêm mới, cập nhật bài viết
Thêm mới (Cập nhật) bài viết không thành công
05/08/2021 - Không nhập tiêu đề bài viết.
- Không nhập nội dung chính.
- Chọn danh mục bài viết.
2.8 Kiểm lỗi danh mục bài viết
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật danh mục bài viết
Thêm mới (Cập nhật) danh mục bài viết thành công
05/08/2021 - Nhập tên danh mục bài viết.
2 Thêm mới, cập nhật danh mục bài viết
Thêm mới (Cập nhật) danh mục bài viết không thành
05/08/2021 - Nhập tên danh mục trùng với tên đã có.
PRO1014 – Nhóm 1 Lớp:WD16201 công
2.9 Kiểm lỗi phần quản lý khách hàng
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật khách hàng
Thêm mới (Cập nhật) khách hàng thành công
- Nhập email mới đăng ký Đúng định dạng viduemail@amc.com
- Nhập mật khẩu lớn hơn 8 ký tự.
2 Thêm mới, cập nhật khách hàng
Thêm mới (Cập nhật) khách hàng không thành công
05/08/2021 - Không nhập họ và tên.
- Nhập email mới đăng ký Email sai định dạng viduemail@amc.com
- Nhập mật khẩu nhỏ hơn 8 ký tự.
2.10 Kiểm lỗi đăng ký khách hàng
Tiêu đề Kết quả Ngày thực hiện
1 Thêm mới, cập nhật khách hàng
Thêm mới (Cập nhật) khách hàng thành công
- Nhập email mới đăng ký Đúng định dạng viduemail@amc.com
- Nhập mật khẩu lớn hơn 8 ký tự.
- Nhập lại mật khẩu trùng
Trang 79 với mật khẩu vừa điền.
- Nhập số điện thoại đúng định dạng: (+84) 968 181 060.
- Nhập địa chỉ giao hàng.
2 Thêm mới, cập nhật khách hàng
Thêm mới (Cập nhật) khách hàng không thành công
05/08/2021 - Không nhập họ và tên.
- Nhập email mới đăng ký Email sai định dạng viduemail@amc.com
- Nhập tên đăng nhập trùng với tên có trong hệ thống.
- Nhập mật khẩu nhỏ hơn 8 ký tự.
- Không nhập lại mật khẩu.
- Không nhập số điện thoại.
- Nhập địa chỉ giao hàng.
2.11 Kiểm lỗi đăng nhập khách hàng
Tiêu đề Kết quả Ngày thực hiện
1 Đăng nhập khách hàng Đăng nhập thành công
05/08/2021 - Nhập tên đăng nhập đã đăng ký.
2 Đăng nhập khách hàng Đăng nhập thất bại Tên đăng nhập không chính xác.
05/08/2021 - Nhập tên đăng nhập chưa đăng ký.
3 Đăng nhập khách hàng Đăng nhập thất bại Mật khẩu không
05/08/2021 - Nhập tên đăng nhập đã đăng ký.
PRO1014 – Nhóm 1 Lớp:WD16201 chính xác.
Đóng gói và triển khai
Export database từ local và import lên host, cập nhật lại database, username và password. Đăng ký domain free
Phân công công việc
STT Họ và tên Chức vụ Nhiệm vụ
1 Huỳnh Tấn Lộc Trưởng nhóm - Thực hiện phân công công việc.
- Viết tài liệu dự án và bài thuyết trình dự án.
- Thiết kế cơ sở dữ liệu.
- Hiệu chỉnh sơ đồ database.
- Thực hiện chức năng quản lý bài viết.
- Thực hiện chức năng quản lý quản trị viên.
- Thực hiện chức năng mã khuyến mãi.
- Thực hiện chức năng tra cứu phí vận chuyển.
- Thực hiện trang danh sách bài viết, chi tiết bài viết trong phần khách hàng.
2 Lê Quang Tuấn Thành viên - Thiết kế cơ sở dữ liệu.
- Vẽ sơ đồ ERD cấp 2.
- Thực hiện chức năng quản lý sản
- Thực hiện chức năng quản lý khách hàng.
- Thực hiện chức năng thông tin website.
- Thực hiện phần đăng ký, đăng nhập khách hàng ở phần người dùng.
- Thực hiện đổ dữ liệu sản phẩm, chi tiết sản phẩm.
- Thực hiện trang thông tin khách hàng và cập nhật thông tin khách hàng ở phần người dùng.
3 Hoàng Gia Khánh Thành viên - Thực hiện chức năng giỏ hàng.
- Thực hiện chức năng thanh toán.
- Thực hiện phần tính phí vận chuyển và mã khuyến mãi ở phần người dùng.
- Thực hiện chức năng quản lý đơn hàng.
- Thực hiện kiểm tra các chức năng.
- Thực hiện đăng nhập, phân quyền quản trị viên.
4 Đinh Tiến Phương Thành viên - Vẽ lược đồ quan hệ giữa các thực thể.
- Vẽ sơ đồ ERD cấp 1.
- Thiết kế và chỉnh sửa giao diện dành cho khách hàng.
- Thực hiện nhập dữ liệu vào cơ sở dữ liệu.