Sơ đồ hoạt động thêm sản phẩm vào giỏ hàng .... Sơ đồ hoạt động xóa sản phẩm trong giỏ hàng .... Giao diện trang đăng nhập quản trị viên .... Giao diện trang quản lý tài khoản khách hàng
TỔNG QUAN
Lời mở đầu
Trong những năm gần đây, nhờ sự phát triển vượt bậc của khoa học kỹ thuật, đặc biệt là ngành công nghệ thông tin, các ứng dụng công nghệ thông tin ngày càng đóng vai trò quan trọng trong nhiều lĩnh vực của cuộc sống, giúp nâng cao hiệu quả, tiết kiệm thời gian và thúc đẩy sự tiến bộ của xã hội.
Trong nhịp sống ngày càng phát triển, nhu cầu tinh thần của người dân đô thị và nhân viên văn phòng ngày càng tăng cao Một tách cà phê sáng không chỉ giúp tỉnh táo mà còn trở thành phần không thể thiếu trong đời sống tinh thần của họ, góp phần xây dựng không khí tích cực bắt đầu ngày mới.
Nhiều người không có thời gian đến các quán cà phê, vì vậy website quản lý quán cà phê Bảo Bảo ra đời để đáp ứng nhu cầu mua hàng trực tuyến của khách hàng mọi lúc mọi nơi có internet Đồng thời, hệ thống giúp chủ quán cà phê dễ dàng quản lý và vận hành quán của mình một cách thuận tiện và hiệu quả hơn.
- Laravel là một PHP Framework mã nguồn mở miễn phí, được phát triển bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm
2011 Laravel ra đời nhằm mục đích hỗ trợ phát triển các ứng dụng web, dựa trên mô hình MVC (Model – View – Controller)
- Laravel hiện được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub
Dù ra đời muộn hơn các đối thủ, Laravel đã nhanh chóng tạo thành một làn sóng lớn trong cộng đồng phát triển web Với đánh giá cao về tính linh hoạt và dễ sử dụng, Laravel hiện là framework PHP phổ biến nhất và được sử dụng rộng rãi trên thị trường.
1.2.2 Những điều khiến Laravel trở nên khác biệt
Bundles là các gói mở rộng dành cho Laravel, tương tự như PEAR dành cho PHP, giúp mở rộng chức năng của hệ thống một cách dễ dàng Laravel đi kèm với công cụ dòng lệnh gọi là Artisan, hỗ trợ quản lý và cài đặt các gói một cách thuận tiện, nâng cao hiệu quả phát triển ứng dụng.
- Eloquent ORM: là file thực thi PHP Active Record tiên tiến nhất hiện có
- Migrations:_ trog laravel, migrations được xây dựng trong framework, chúng có thể thực hiện thông quan Artisan command-line
Laravel là framework dễ sử dụng, phù hợp cho người mới bắt đầu học lập trình web Ngay cả khi chỉ có kiến thức sơ qua về PHP, bạn vẫn có thể phát triển một website chuyên nghiệp gồm 5 trang chỉ trong vài giờ Đây là lý do tại sao Laravel trở thành lựa chọn phổ biến cho các lập trình viên mới bắt đầu.
- Framework Laravel với mã nguồn mở miễn phí, cho phép bạn xây dựng ứng dụng web lớn và phức tạp một cách nhanh chóng, dễ dàng
- Tất cả điều bạn cần làm ở đây là cài đặt PHP, cộng với một trình soạn thảo văn bản để bắt đầu
- Trường hợp bạn mắc kẹt với những bug khó nhằn, nhưng có người đã trải qua và hướng dẫn bạn thì không còn gì tuyệt hơn
- Laravel có một hệ thống thư viện hỗ trợ vô cùng lớn và mạnh hơn hẳn các Framework khác
- Nếu bạn report lỗi hoặc vi phạm bảo mật trong Framework, phản hồi của cộng đồng sẽ rất nhanh chóng
Framework Laravel duy trì cấu trúc MVC và lập trình hướng đối tượng OOP, giúp tối ưu việc phát triển và quản lý mã nguồn Điều này đảm bảo việc cung cấp tài liệu rõ ràng hơn và nâng cao hiệu suất hoạt động của ứng dụng Được xây dựng dựa trên những Framework hiệu quả nhất, Laravel mang lại sự ổn định và khả năng mở rộng cao cho các dự án phát triển phần mềm.
Laravel, mặc dù ra đời muộn hơn các framework khác, nhưng đã kế thừa và phát huy được nhiều ưu điểm nổi bật, đặc biệt là hệ thống định tuyến mạnh mẽ, giúp tối ưu hóa quá trình phát triển ứng dụng Ví dụ tiêu biểu, Laravel tận dụng một số thành phần tốt nhất của Symfony để nâng cao hiệu suất và tính linh hoạt của hệ thống routing.
Di chuyển Database dễ dàng
- Di chuyển Database là một trong những tính năng trọng yếu của
Laravel Nó cho phép bạn duy trì cấu trúc cơ sở dữ liệu ứng dụng mà không nhất thiết phải tạo lại
Di chuyển Database cho phép bạn viết mã PHP để kiểm soát Database thay vì dựa vào SQL, giúp tối ưu hóa quá trình quản lý dữ liệu Ngoài ra, chức năng này còn hỗ trợ khôi phục những thay đổi gần đây nhất trong Database để đảm bảo dữ liệu luôn được bảo vệ và khôi phục nhanh chóng khi cần thiết.
Tính năng bảo mật hoàn thiện
- Ứng dụng của bạn sẽ an toàn khi dùng Framework Laravel Kỹ thuật ORM của Laravel sử dụng PDO, chống chèn SOL
Laravel tích hợp tính năng bảo vệ chống tấn công CSRF, giúp ngăn chặn các yêu cầu giả mạo từ trang web khác Tính năng này tự động loại bỏ bất kỳ mã HTML nào truyền qua các tham số xem, đảm bảo an toàn khỏi các cuộc tấn công kịch bản chéo.
- Điều bạn cần thực hiện ở đây là sử dụng các thành phần thích hợp của khuôn khổ.
Framwork Laravel
Sau khi tìm hiểu thực tế, đã xác định được một số tác nhân sử dụng ứng dụng như sau:
- Admin: Người quản trị toàn bộ hệ thống
- Người dùng: Người mua hàng bằng Website
Các chức năng chính của Website được phát biểu như sau:
Người dùng có thể xem danh sách các sản phẩm với thông tin cơ bản như tên, giá, hình ảnh, giúp dễ dàng lựa chọn và mua hàng Họ có thể thêm sản phẩm vào giỏ hàng, chỉnh sửa số lượng hoặc xóa sản phẩm nếu muốn Thanh toán có thể thực hiện qua hình thức thanh toán trực tiếp hoặc lựa chọn phương thức phù hợp Sau khi đặt hàng, người dùng có thể xem lịch sử đơn hàng, hủy đơn nếu không hài lòng và đánh giá chất lượng sản phẩm cũng như dịch vụ giao hàng sau khi nhận hàng Các đơn hàng có thể ở các trạng thái như Shipped, Delivered, hoặc Cancelled, được cung cấp mã vận đơn, tổng tiền, danh sách sản phẩm và thời gian giao nhận Người dùng cũng có khả năng cập nhật thông tin cá nhân như tên hiển thị, địa chỉ email, địa chỉ giao hàng và mật khẩu để đảm bảo trải nghiệm mua sắm thuận tiện và an toàn.
Quản trị viên (Admin) có quyền quản lý toàn diện hệ thống, bao gồm khả năng quản lý tất cả các tài khoản người dùng, sản phẩm và đơn hàng Tài khoản quản trị giúp duy trì và kiểm soát mọi hoạt động trong nền tảng, đảm bảo vận hành trơn tru và an toàn Việc quản lý chuyên nghiệp của quản trị viên là yếu tố quan trọng để nâng cao trải nghiệm người dùng và tối ưu hóa hoạt động kinh doanh trực tuyến.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Mô tả yêu cầu
Sau khi tìm hiểu thực tế, đã xác định được một số tác nhân sử dụng ứng dụng như sau:
- Admin: Người quản trị toàn bộ hệ thống
- Người dùng: Người mua hàng bằng Website
Các chức năng chính của Website được phát biểu như sau:
Người dùng có thể xem danh sách các sản phẩm gồm tên, giá, hình ảnh và thông tin cơ bản để lựa chọn mua hàng Họ có thể thêm sản phẩm vào giỏ hàng, chỉnh sửa số lượng hoặc xóa sản phẩm khỏi giỏ Thanh toán có thể thực hiện trực tiếp, và sau đặt hàng, người dùng có thể theo dõi, hủy đơn nếu không ưng ý Khi hàng được giao, họ có thể đánh giá sản phẩm và chất lượng dịch vụ giao hàng Các đơn hàng gồm trạng thái Shipped, Delivered hoặc Cancelled, với mã vận đơn, tổng tiền, danh sách sản phẩm và thời gian Người dùng cũng có thể cập nhật các thông tin cá nhân như tên hiển thị, email, địa chỉ giao hàng và mật khẩu.
Quản trị viên (Admin) có quyền quản lý toàn diện hệ thống, bao gồm các tài khoản người dùng, sản phẩm và đơn hàng Với tài khoản quản trị, bạn có thể kiểm soát tất cả các tài khoản người dùng để đảm bảo hoạt động suôn sẻ Quản trị viên cũng có thể quản lý và cập nhật tất cả các sản phẩm trên nền tảng, giúp duy trì sự phong phú và chính xác của danh mục Thêm vào đó, quản trị viên có khả năng theo dõi và xử lý mọi đơn hàng để đảm bảo quá trình mua hàng diễn ra thuận tiện và hiệu quả.
Bảng phạm vi chức năng của dự án
1 Bảng phạm vi chức năng
Tên chức năng cấp 1 Tên chức năng cấp 2 Tên chức năng cấp 3
Thêm sản phẩm Cập nhật thông tin sản phẩm Xóa thông tin sản phẩm Hiển thị danh sách liên hệ của khách hàng Hiển thị lịch sử giao dịch
Hiển thị danh sách các sản phẩm Chỉnh sửa thông tin đơn hàng Xóa đơn hàng
Xem danh sách tài khoản Chỉnh sửa thông tin tài khoản Tạo tài khoản mới
Xóa tài khoản Xem thông tin cá nhân Xem lịch sử mua hàng Xem giỏ hàng
Thêm sản phẩm vào giỏ hàng Chỉnh sửa số lượng sản phẩm trong giỏ hàng Xóa sản phẩm trong giỏ hàng
1 Hỗ trợ trực tuyến Chưa có chức năng hỗ trợ trực tuyến ngay trên website
2 Thống kê Chưa có hiển thị thống kê doanh thu cho website
3 Thanh toán Chưa tích hợp thanh toán online
Những chức năng chưa làm được
Quản trị viên Khách hàng
Bảng phạm vi chức năng
STT Những chức năng làm được
Sơ đồ UserCase
Hình 1 Sơ đồ UseCase cho khách hàng
Hình 2 Sơ đồ UseCase Quản trị viên
Sơ đồ hoạt động
Hình 3 Sơ đồ hoạt động đăng nhập
Hình 4 Sơ đồ hoạt động đăng ký
2.4.3 Thêm sản phẩm vào giỏ hàng
Hình 5 Sơ đồ hoạt động thêm sản phẩm vào giỏ hàng
2.4.4 Xóa sản phẩm trong giỏ hàng
2.4.5 Cập nhật số lượng trong giỏ hàng
Hình 7 Sơ đồ hoạt động cập nhật số lượng trong giỏ hàng
Hình 8 Sơ đồ hoạt động thanh toán
Bảng dữ liệu
- Bảng này dùng để lưu trữ tài khoản của quản trị viên accounts
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
ID bigint 20 No PK Id tự tăng
Username varchar 191 No Tên đăng nhập
Displayname varchar 191 Yes Tên hiển thị
Password varchar 191 No Mật khẩu
Gender varchar 191 Yes Giới tính
Address varchar 191 Yes Địa chỉ
Ngaysinh varchar 191 Yes Ngày sinh
ImageAcc varchar 191 Yes Hình đại diện
TypeAccount int 11 No Điện thoại created_at timestamp No Ngày tạo updated_at timestamp Yes Ngày cập nhật
- Bảng này dùng để lưu trữ tài khoản của người dùng. users
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
ID int 11 No PK Id tự tăng
Ten varchar 255 Yes Tên hiển thị
NgaySinh varchar 255 Yes Ngày sinh
DiaChi text Yes Địa chỉ
GioiTinh varchar 255 Yes Giới tính
TenDN varchar 255 No Tên đăng nhập
MatKhau varchar 255 No Mật khẩu
ImageUser text Yes Hình đại diện created_at timestamp No Ngày tạo updated_at timestamp Yes Ngày cập nhật
- Bảng này dùng để lưu trữ danh mục sản phẩm
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
ID int 11 No PK Id tự tăng
Name varchar 255 Yes Tên danh mục
UrlTitle varchar 255 Yes Đường dẫn danh mục food
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
Khóa Mô tả thêm id bigint 20 No PK Id tự tăng
Name varchar 191 No Tên sản phẩm
UrlTile varchar 191 No Đường dẫn sản phẩm
IDCategory int 11 No Id danh mục
Description varchar 191 No Mô tả
ImageFood varchar 191 No Hình ảnh sản phẩm
Quality int 11 No Số lượng
Detail varchar 191 No Chi tiết sản phẩm
- Bảng feedback lưu trữ thông tin sản phẩm
- Bảng này dùng để lưu trữ thông tin đơn hàng created_at timestamp Yes Ngày tạo updated_at timestamp Yes Ngày cập nhật orders
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
ID int 11 No PK Id tự tăng created_at datetime Yes Ngày tạo updated_at datetime Yes Ngày cập nhật
CustomerID int 11 No Id người đặt hàng
Name varchar 255 No Tên người nhận hàng
Phone varchar 255 Yes Số điện thoại
Address text Yes Địa chỉ
Passcode varchar 255 Yes Mã giảm giá
TotalPrice decimal 18 No Tổng số tiền
Payment varchar 255 No Phương thức thanh toán
Status int 11 No Trạng thái đơn hàng
- Bảng này dùng để lưu trữ thông tin chi tiết đơn hàng orderinfo
Tên cột Kiểu dữ liệu cho cột Length phép Cho NULL
OrderID int 11 No FK Id tự tăng
FoodID int 11 No FK Ngày tạo
Quantity int 11 Yes Ngày cập nhật
Price decimal 8 Yes Id người đặt hàng
CHỨC NĂNG WEBSITE
Trang dành cho khách hàng
Hình 9 Giao diện trang chủ
Hình 10 Giao diện trang menu
Hình 11 Giao diện trang liên hệ
Hình 12 Giao diện trang đăng nhập
Hình 13 Giao diện trang đăng ký
Hình 14 Giao diện trang giỏhàng
Trang dành cho quản trị viên
Hình 16 Giao diện trang đăng nhập quản trị viên
3.2.2 Trang giao diện quản trị
3.2.3 Trang quản lý tài khoản khách hàng
Hình 18 Giao diện trang quản lý tài khoản khách hàng
3.2.4 Trang quản lý tài khoản quản trị viên
Hình 19 Giao diện trang quản lý tài khoản quản trị viên
3.2.5 Trang quản lý sản phẩm
Hình 20 Giao diện trang quản lý sản phẩm
3.2.6 Trang quản lý đơn hàng
Hình 21 Giao diện trang quản lý đơn hàng
- Cơ bản nắm được các bước xây dựng một website bán hàng trực tuyến, thực hiện đúng quy trình
- Xây dựng được bố cục trang web hợp lí, bước đầu thực hiện được nghiệp vụ của hệ thống…
- Kết hợp được nhiều loại kỹ thuật giúp website hoạt động nhanh và ổn định
1.2 Hạn chế của đề tài
- Chưa được thử nghiệm ở thực tế
- Website nhỏ , mang tính chất mô phỏng
- Chưa có chức năng thanh toán trực tuyến
- Chưa kết hợp được chức năng giao hàng.
2 Hướng phát triển của đề tài
- Tiến hành nâng cấp website cho phù hợp với nhu cầu thực tế
- Cập nhật chức năng phân quyền , tối ưu hóa chức năng quản trị
- Thêm chức năng thanh toán trực tuyến qua thẻ ATM hoặc các hệ thống thanh toán khác
- Tối ưu hóa cơ sở dữ liệu.