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

tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe

87 0 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống phân phối thực phẩm chăm sóc sức khỏe
Tác giả Nhóm 1
Người hướng dẫn Thầy Nguyễn Văn Long
Trường học Trường Cao Đẳng FPT Polytechnic
Thể loại báo cáo
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 8,76 MB

Cấu trúc

  • 1. Giới thiệu đề tài (5)
  • 2. Lý do chọn đề tài (5)
  • I. Phân tích dự án (6)
    • 1. Hiện trạng (6)
    • 2. Yêu cầu hệ thống (6)
    • 3. Use Case (9)
      • 3.1 Đặc tả chức năng (10)
      • 3.2 Đặc tả các thực thể (12)
  • II. Thiết kế (20)
    • 1. Mô hình triển khai (20)
    • 2. Thiết kế CSDL (21)
      • 2.1. Sơ đồ quan hệ thực thể (21)
      • 2.2. Thiết kế chi tiết các thực thể (32)
    • 3. Tạo CSDL trên MySQL (43)
    • 4. Thiết kế giao diện (47)
      • 4.1. Sitemap (47)
      • 4.2. Thiết kế phần quản trị (47)
      • 4.3. Thiết kế phần khách hàng (59)
  • III. Thực hiện viết mã (65)
    • 1. Cấu trúc thư mục và mô hình viết mã dự án (65)
    • 2. Khai báo cơ sỡ dữ liệu và đường dẫn của website (66)
    • 3. Tạo các model truy vấn tới từng bảng trong cơ sở dữ liệu (67)
    • 4. Tạo các View dựa trên giao diện đã xây dựng (68)
    • 5. Tạo các Controller dựa trên các chức năng đã đề ra (71)
  • IV. Kiểm lỗi (72)
    • 1. Yêu cầu kiểm lỗi (73)
      • 1.1. Kiểm lỗi form thêm mới sản phẩm (73)
      • 1.2. Kiểm lỗi form thêm mới danh mục sản phẩm (73)
      • 1.3. Kiểm lỗi form thêm mới nhà cung ứng (73)
      • 1.4. Kiểm lỗi form thêm mới quản trị viên (73)
      • 1.5. Kiểm lỗi form thêm mới chức vụ (74)
      • 1.6. Kiểm lỗi form thêm mới quyền hạn (74)
      • 1.7. Kiểm lỗi form thêm mới bài viết (74)
      • 1.8. Kiểm lỗi form thêm mới danh mục bài viết (74)
      • 1.9. Kiểm lỗi form thêm mới khách hàng (74)
      • 1.10. Kiểm lỗi form đăng ký khách hàng (74)
      • 1.11. Kiểm lỗi form đăng nhập khách hàng (75)
    • 2. Thực hiện kiểm lỗi (75)
      • 2.1. Kiểm lỗi phần quản lý sản phẩm (75)
      • 2.2. Kiểm lỗi danh mục sản phẩm (76)
      • 2.3. Kiểm lỗi nhà cung ứng (77)
      • 2.4. Kiểm lỗi form thêm mới quản trị viên (77)
      • 2.5. Kiểm lỗi phần chức vụ (78)
      • 2.6. Kiểm lỗi phần quyền hạn (78)
      • 2.7. Kiểm lỗi bài viết (79)
      • 2.8. Kiểm lỗi danh mục bài viết (79)
      • 2.9. Kiểm lỗi phần quản lý khách hàng (80)
      • 2.10. Kiểm lỗi đăng ký khách hàng (80)
      • 2.11. Kiểm lỗi đăng nhập khách hàng (81)
  • V. Đóng gói và triển khai (82)
  • VI. Phân công công việc (82)
  • VII. Kết luận (84)
    • 1. Kết quả đạt được (84)
    • 2. Thuận lợi và khó khăn (84)
      • 2.1. Thuận lợi (84)
      • 2.2. Khó khăn (85)

Nội dung

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.

Ngày đăng: 11/05/2024, 16:13

HÌNH ẢNH LIÊN QUAN

2.2.2. Sơ đồ ERD Cấp 1 - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
2.2.2. Sơ đồ ERD Cấp 1 (Trang 26)
2.2.3. Sơ đồ ERD Cấp 2 - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
2.2.3. Sơ đồ ERD Cấp 2 (Trang 29)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 32)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 32)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 33)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 33)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 34)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 34)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 34)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 35)
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: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
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: (Trang 37)
Bảng đánh giá sản phẩm (shop_products_reviews) lưu thông tin của giá giảm sản phẩm có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
ng đánh giá sản phẩm (shop_products_reviews) lưu thông tin của giá giảm sản phẩm có cấu trúc như sau: (Trang 37)
Bảng mã khuyến mãi (shop_vouchers) lưu thông tin về các mã khuyễn mãi có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng m ã khuyến mãi (shop_vouchers) lưu thông tin về các mã khuyễn mãi có cấu trúc như sau: (Trang 38)
Bảng mã khuyến mãi sản phẩm (shop_vouchers_products) lưu thông tin về các mã khuyễn mãi của sản phẩm có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng m ã khuyến mãi sản phẩm (shop_vouchers_products) lưu thông tin về các mã khuyễn mãi của sản phẩm có cấu trúc như sau: (Trang 38)
Bảng Khách hàng (shop_customer) lưu thông tin của khách hàng có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
ng Khách hàng (shop_customer) lưu thông tin của khách hàng có cấu trúc như sau: (Trang 39)
Bảng đơn hàng (shop_orders) lưu thông tin của đơn hàng có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
ng đơn hàng (shop_orders) lưu thông tin của đơn hàng có cấu trúc như sau: (Trang 40)
Bảng phương thức thanh toán lưu thông tin về các phương thức thanh toán có cấu  trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng ph ương thức thanh toán lưu thông tin về các phương thức thanh toán có cấu trúc như sau: (Trang 40)
Bảng chi tiết đơn hàng (shop_order_details) lưu thông tin về chi tiết của từng đơn  hàng có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng chi tiết đơn hàng (shop_order_details) lưu thông tin về chi tiết của từng đơn hàng có cấu trúc như sau: (Trang 41)
Bảng danh mục bài viết (tbl_blog_categories) lưu thông tin về chi tiết từng danh  mục có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng danh mục bài viết (tbl_blog_categories) lưu thông tin về chi tiết từng danh mục có cấu trúc như sau: (Trang 41)
Bảng bài viết (tbl_blogs) lưu thông tin về bài viết có cấu trúc như sau: - tiểu luận báo cáo dự ánhệ thống phân phối thực phẩm chăm sóc sức khỏe
Bảng b ài viết (tbl_blogs) lưu thông tin về bài viết có cấu trúc như sau: (Trang 42)
w