TỔNG QUAN
Giới thiệu đề tài: Website bán hàng
Ngày nay, công nghệ thông tin và tin học hóa đóng vai trò quyết định trong hoạt động của chính phủ, tổ chức và doanh nghiệp, tạo ra những bước đột phá mạnh mẽ Sự phát triển không ngừng của kỹ thuật máy tính và mạng điện tử đã giúp công nghệ thông tin chinh phục nhiều đỉnh cao mới Internet trở thành công cụ thiết yếu, là nền tảng cho việc truyền tải và trao đổi thông tin toàn cầu Với chỉ một máy tính kết nối internet, người dùng có thể dễ dàng truy cập vào thông tin phong phú về mọi vấn đề quan tâm Nhờ internet, công việc được thực hiện nhanh chóng và tiết kiệm chi phí hơn so với phương thức truyền thống, thúc đẩy sự phát triển của thương mại điện tử và chính phủ điện tử, từ đó làm biến đổi văn hóa và nâng cao chất lượng cuộc sống.
Trong bối cảnh sản xuất và kinh doanh hiện nay, thương mại điện tử đóng vai trò quan trọng trong việc thúc đẩy sự phát triển của doanh nghiệp Để cửa hàng có thể quảng bá và giới thiệu sản phẩm mới đến khách hàng, việc xây dựng một website là điều cần thiết Nhóm chúng tôi đã thực hiện dự án “Xây dựng Website bán hàng” đơn giản, giúp chủ cửa hàng đưa sản phẩm lên website và quản lý dễ dàng Khách hàng có thể tham khảo và đặt mua sản phẩm trực tiếp trên website mà không cần đến cửa hàng.
Lý thuyết và nghiên cứu của nhóm về đề tài
Chủ cửa hàng cung cấp đa dạng sản phẩm từ điện tử đến quần áo với quy mô vừa phải Nhờ vào lượng khách hàng ngày càng tăng, cửa hàng đang phát triển mạnh mẽ và mở rộng mặt hàng kinh doanh.
Sự gia tăng số lượng doanh nghiệp và mong muốn mở rộng cửa hàng đã thúc đẩy chủ cửa hàng tiến hành tin học hóa các quy trình quản lý và kinh doanh Tuy nhiên, do diện tích cửa hàng hạn chế, việc trưng bày đầy đủ sản phẩm gặp khó khăn, dẫn đến một số hạn chế trong hoạt động bán hàng.
- Hàng hóa rất nhiều nhưng lại không có đủ không gian để trưng bày dẫn đến khách không thể tiếp cận được mặt hàng họ cần
- Tra cứu thông tin về hàng hóa cũng rất khó khăn và khách hàng mất nhiều thời gian cũng như đôi khi không chính xác
-Lưu trữ thông tin về nhập xuất hàng hoá, về thu chi cần nhiều loại giấy tờ nên cồng kềnh và không đạt hiệu quả
- Nhân viên thường mắc một vài lỗi trong quá trình làm việc
- Nhân viên mất nhiều thời gian phân công trong công việc, rắc rối
Việc cập nhật thông tin hàng ngày thường tốn nhiều thời gian và gặp khó khăn trong việc thực hiện báo cáo thống kê, đặc biệt khi có sự kiện đột xuất Do đó, cần thiết phải xây dựng một hệ thống thông tin mới, hoàn thiện hơn để đáp ứng các yêu cầu cơ bản một cách hiệu quả.
-Giảm khối lượng ghi chép nhằm lưu trữ thông tin
-Cập nhật dữ liệu nhanh chóng, chính xác và kịp thời
-Thống kê được số lượng hàng hoá nhập xuất,thu chi và tình hình doanh thu của cửa hàng
-Tự động in các hoá đơn cần thiết như:Đơn hàng của khách, hoá đơn nhập hàng, phiếu thu, phiếu chi
-Có khả năng lưu trữ thông tin lâu dài, đảm bảo truy vấn nhanh khi cần thiết
- Công việc làm có hệ thống, quy luật rõ ràng
Tất cả các hoạt động chính của cửa hàng đều được chủ thực hiện và quản lý trực tiếp, trong khi nhân viên chỉ thực hiện các công việc như tra cứu mặt hàng, tra cứu thông tin khách hàng và tra cứu hóa đơn.
Hoạt động quản lý của chủ cửa hàng bao gồm các nhiệm vụ quan trọng như quản lý nhập xuất hàng hóa, theo dõi khách hàng đã truy cập website, và quản lý đơn hàng trực tuyến Bên cạnh đó, việc thống kê hàng tồn kho và doanh thu theo tháng, quý, và năm cũng rất cần thiết Cuối cùng, việc kết xuất báo cáo định kỳ giúp chủ cửa hàng nắm bắt tình hình kinh doanh hiệu quả.
Website gồm các chức năng:
-Trưng bày các sản phẩm của cửa hàng
- Quản lý thông tin như: id loại hàng, tên tiếng anh, tên tiếng việt
- Quản lý các thông tin như: id sản phẩm, tên, loại hàng , số lượng giá cả, ngày sản xuất
- Quản lý các thông tin như: mã khách hàng , họ tên email, số điện thoại, địa chỉ,…
- Quản lý các thông tin như: mã hóa đơn, ngày đặt hàng số lượng , đơn giá…
- Thống kê mặt hàng tồn kho, doanh thu theo tháng năm quý…
CÁC CÔNG NGHỆ SỬ DỤNG TRONG PHẦN MỀM
Giới thiệu ASP.NET
ASP.Net là nền tảng phát triển web do Microsoft phát hành lần đầu vào năm 2002, phục vụ cho việc tạo ra các ứng dụng web-based Phiên bản đầu tiên, ASP.Net 1.0, đã được triển khai, và phiên bản mới nhất hiện nay là 4.6 Nền tảng này được thiết kế tương thích với giao thức HTTP, giao thức chuẩn cho tất cả các ứng dụng web.
Các ứng dụng ASP.NET có thể được phát triển bằng nhiều ngôn ngữ NET khác nhau, bao gồm C#, VB.Net và J# Dưới đây, Bizfly Cloud sẽ trình bày một số nền tảng cơ bản của ASP.NET.
ASP là viết tắt của Active Server Pages, trong khi NET đại diện cho Network Enabled Technologies Spring cung cấp các tính năng chính cho việc phát triển ứng dụng Java Desktop, ứng dụng di động và Java Web Một trong những mục tiêu hàng đầu của Spring là đơn giản hóa quá trình phát triển ứng dụng J2EE thông qua mô hình POJO (Plain Old Java Object).
Cấu trúc của Net framework dựa trên các thành phần cơ bản sau:
1 Language/Ngôn ngữ: Có rất nhiều ngôn ngữ lập trình khác nhau tồn tại trong net framework Các ngôn ngữ này là VB.net và C #, có thể được sử dụng để phát triển các ứng dụng web
2 Library/Thư viện: NET Framework gồm có một bộ các lớp library chuẩn Library phổ biến nhất được sử dụng cho các ứng dụng web trong net là Web library Web library bao gồm tất cả các thành phần cần thiết sử dụng trong phát triển các ứng dụng web-based
3 Common Language Runtime/Thời gian chạy ngôn ngữ lập trình thông thường hay CLR: Common Language Infrastructure - Cơ sở hạ tầng ngôn ngữ lập trình phổ thông hay CLI là một nền tảng dùng để chạy các chương trình Net Trong đó, CLR sẽ thực hiện các tác vụ chính bao gồm xử lý các trường hợp cá biệt và thu gom rác.
Giới thiệu Bootstrap
Bootstrap giúp thiết kế website nhanh chóng và dễ dàng nhờ vào các thành phần cơ bản như typography, forms, buttons, tables, grids, navigation và image carousels Hãy cùng Mắt Bão khám phá những tính năng và lợi ích mà Bootstrap mang lại cho lập trình viên!
Bootstrap là bộ công cụ mã nguồn mở miễn phí giúp tạo mẫu website hoàn chỉnh Với các thuộc tính giao diện như kích thước, màu sắc, độ cao và độ rộng được quy định sẵn, Bootstrap cho phép các designer sáng tạo sản phẩm mới mẻ, đồng thời tiết kiệm thời gian trong quá trình thiết kế giao diện website.
Bootstrap cung cấp nhiều yếu tố cơ bản như typography, forms, buttons, tables, navigation, modals, và image carousels Ngoài ra, Bootstrap còn tích hợp nhiều Component và Javascript, giúp việc thiết kế responsive trở nên dễ dàng, thuận tiện và nhanh chóng hơn.
Giới thiệu HTML
HTML, viết tắt của Hypertext Markup Language, là ngôn ngữ dùng để tạo và cấu trúc các thành phần trên trang web hoặc ứng dụng Nó cho phép người dùng phân chia các đoạn văn, tiêu đề, liên kết, và các khối trích dẫn một cách hiệu quả.
HTML không phải là ngôn ngữ lập trình, vì vậy nó không thể tạo ra các chức năng động Thay vào đó, HTML giống như Microsoft Word, được sử dụng để bố cục và định dạng các trang web.
Khi làm việc với HTML, chúng ta sử dụng cấu trúc mã đơn giản gồm các thẻ và thuộc tính để đánh dấu nội dung trên trang web Để tạo một đoạn văn, chúng ta lưu tài liệu HTML với đuôi html hoặc htm Những tệp này có thể được mở bằng bất kỳ trình duyệt web nào như Google Chrome, Safari hoặc Mozilla Firefox Trình duyệt sẽ đọc các tệp HTML và hiển thị nội dung lên internet, giúp người dùng dễ dàng truy cập và xem.
Một trang web thường bao gồm nhiều trang HTML riêng biệt như trang chủ, trang giới thiệu và trang liên hệ Mỗi trang HTML được cấu thành từ các thẻ (elements), tạo nên các khối xây dựng cho trang web Cấu trúc của nó giống như một cây thư mục, bao gồm các phần như section, paragraph, heading và các khối nội dung khác Hầu hết các thẻ HTML đều có cấu trúc mở và đóng, ví dụ như , với văn bản được đặt giữa cặp thẻ mở và đóng như
và
.Giới thiệu về Spring MVC
Spring MVC là một mô hình ứng dụng phân tách thành nhiều lớp riêng biệt, mỗi lớp có nhiệm vụ đặc trưng, giúp phát triển ứng dụng web nhanh chóng và tiện lợi Được xây dựng theo cấu trúc MVC (Model-View-Controller), Spring MVC cung cấp các API hỗ trợ việc xây dựng ứng dụng web dễ dàng và có quy tắc hơn.
Model là lớp chứa thông tin của các đối tượng (Dữ liệu), tương tác với
Database Trong Spring MVC nó gồm các file POJO, Service, DAO thực Hiện truy cập database, xử lý business
Hình 2 1 Mô hình hoạt động Spring MVC
View là phần hiển thị nội dung và tương tác với người dùng trong ứng dụng Spring Khi làm việc với Spring, người dùng thường sử dụng các template engine mã nguồn mở để tái sử dụng các thành phần chung giữa các trang web, đồng thời hỗ trợ nhiều loại ngôn ngữ như HTML, XML, Javascript và CSS.
Controller là thành phần tiếp nhận và xử lý các yêu cầu từ người dùng, sau đó xây dựng dữ liệu cho view (model) và chọn view phù hợp để trả về kết quả Trong quá trình này, Dispatcher Controller, Handler Mapping và Controller đóng vai trò quan trọng trong việc quản lý và điều phối các yêu cầu.
Thành phần chính của controller trong Spring MVC là:
Một annotation @Controller được khai báo cùng với định nghĩa của lớp
HomeController và một annotation @RequestMapping được khai báo cùng với định nghĩa của phương thức home()
Phương thức home() trong lớp HomeController trả về chuỗi “home”, xác định tên view hiển thị kết quả cho người dùng Biến model chứa dữ liệu cần thiết cho view “home”, trong khi biến locale của đối tượng Locale lấy thông tin về ngày giờ của server đang chạy web.
THIẾT KẾ CƠ SỞ DỮ LIỆU
Mô hình USE CASE tổng quát
Mô hình Sequence Diagram
Hình 3.2 Sequence diagram đặt hàng
Mô hình Class diagram
Mô hình ERD
Cơ sở dữ liệu của hệ thống
3.5.1 Thiết kế cơ sở dữ liệu
Dữ liệu nhóm em thiết kế gồm 8 bảng dữ liệu với nội dung như sau:
Các bảng dữ liệu(thuộc tính gạch chân là khóa chính)
Bảng biểu dữ liệu Customer
Tên trường Kiểu dữ liệu Mô tả
Id nvarchar(100) Tên tài khoản
Fullname nvarchar(50) Họ và tên
Provider varchar(15) Nơi đăng ký tài khoản
OneTimePassword nvarchar(100) Mật khẩu được tạo một lần
OtpTime datetime Thời gian mã otp tồn tại
Bảng biểu Bảng biểu dữ liệu Categories
Tên trường Kiểu dữ liệu Mô tả
Name nvarchar(50) Tên tiếng anh
NameVN nvarchar(50) Tên tiếng việt
Bảng biểu dữ liệu thuộc tính Orders
Tên trường Kiểu dữ liệu Mô tả
Id bigint Mã hóa đơn
CustomerId nvarchar(100) Mã khách hàng
Bảng biểu dữ liệu OrderDetails
OrderDate datetime Ngày đặt hàng
Amount float Tổng số tiền
Tên trường Kiểu dữ liệu Mô tả
Id bigint Mã chi tiết hóa đơn
OrderId bigint Mã hóa đơn
ProductId int Mã sản phẩm
Bảng biểu dữ liệu Products
Tên trường Kiểu dữ liệu Mô tả
Id int Mã sản phẩm
Name nvarchar(100) Tên sản phẩm
Image nvarchar(50) Tên ảnh sản phẩm
ProductDate date Ngày nhập sản phẩm
Special bit Sản phẩm đặc biệt
Latest bit Sản phẩm mới nhất
ClickCount int Sản phẩm nhiều người xem nhất
Description nvarchar(MAX) Mô tả
Bảng biểu dữ liệu Roles
Tên trường Kiểu dữ liệu Mô tả
Bảng biểu 2 1 Bảng biểu dữ liệu RoleDetails
3.5.2 Quan hệ giữa các bảng và nội dung
Mô hình quan hệ dữ liệu (Database Diagrams)
Tên trường Kiểu dữ liệu Mô tả
Id int Mã chi tiết quyền
CustomerId nvarchar(100) Mã khách hàng
Hình 3.12 Mối quan hệ dữ liệu Database Diagrams
HƯỚNG DẪN SỬ DỤNG
Giao diện chương trình
Trang chủ mà nhóm em thiết kế được lấy cảm hứng từ các trang web nổi tiếng như yame.vn, thegioididong.vn và cellphones.com.vn, với giao diện đơn giản và trực quan, giúp người dùng dễ dàng tìm kiếm thông tin.
4.1.2 Giao diện chi tiết sản phẩm
Hình 3 2 Chi tiết sản phẩm
Khi truy cập vào một trang web, để tìm hiểu thêm về một sản phẩm, người dùng thường nhấp vào sản phẩm đó để xem thông tin chi tiết như tên sản phẩm, thương hiệu, ngày sản xuất, mô tả và đánh giá Ngoài ra, trang web cũng cung cấp các sản phẩm liên quan để người dùng có thêm sự lựa chọn.
Hình 3 3 Trang chủ quản lí của Admin
Trang này dành riêng cho quản trị viên và nhân viên có quyền truy cập, chỉ cho phép các tài khoản được phân quyền Tất cả các thao tác liên quan đến cơ sở dữ liệu (CSDL) đều được thực hiện tại đây, với các chức năng quản lý đa dạng.
+ QUẢN LÍ: quản lí đơn hàng, quản lí mặt hàng, quản lí tồn kho, quản lí khách hàng và quản lí phân quyền
+THỐNG KÊ: thống kê hàng tồn kho, thống kê doanh thu theo tháng năm +KẾT XUẤT: Kết xuất báo cáo ra file excel
4.1.3 Giao diện quản lý sản phẩm
Hình 3 5 Danh sách sản phẩm
Hiển trị danh sách sản phẩm có trong CSDL lên trang web
4.1.4 Giao diện quản lý khách hàng
Hình 3 7 Danh sách khách hàng
4.1.5 Giao diện quản lý đơn hàng
4.1.5.1 Form quản lý đơn hàng
Hình 3 8 Quản lí đơn hàng
4.1.5.2 Danh sách quản lý đơn hàng
Hình 3 9 Danh sách đơn hàng
4.1.6 Giao diện quản lý loại sản phẩm
4.1.6.1 Form quản lý loại sản phẩm
Hình 3 10 Form quản lí loại sản phẩm
4.1.6.2 Danh sách loại sản phẩm
Hình 3 11 Danh sách loại sản phẩm
4.1.7 Giao diện chức năng đăng nhập
Hình 3 2 Giao diện form đăng nhập
4.1.8 Giao diện chức năng đăng ký
Hình 3 3 Giao diện form đăng ký
Khi khách hàng muốn đặt hàng, họ cần đăng ký tài khoản bằng cách nhập thông tin cá nhân Sau khi hoàn tất, admin sẽ phê duyệt và cấp quyền cho khách hàng Đối với nhân viên, admin cũng sẽ phân quyền để họ có thể quản lý trang web, tuy nhiên một số chức năng sẽ bị hạn chế.
4.1.9 Giao diện chức năng quên mật khẩu
Hình 3 4 Giao diện form quên mật khẩu
Khi khách hàng hoặc nhân viên quên mật khẩu đăng nhập, họ có thể truy cập trang "Quên mật khẩu" để khôi phục mật khẩu Sau khi nhập địa chỉ email đã đăng ký, hệ thống sẽ gửi lại mật khẩu đến email đó.
4.1.10 Giao diện chức năng cập nhật tài khoản
Hình 3 5 Giao diện form cập nhật tài khoản
4.1.11 Giao diện chức năng đổi mật khẩu
Hình 3 6 Giao diện form đổi mật khẩu
4.1.12 Giao diện chức năng đặt hàng
Hình 3 7 Giao diện nút đặt hàng
Khi khách hàng chọn sản phẩm để xem, trang sẽ hiển thị thông tin chi tiết về sản phẩm đó Để thực hiện việc mua hàng, khách hàng chỉ cần nhấn vào nút mua hàng có biểu tượng giỏ hàng, và giỏ hàng của họ sẽ tự động được cập nhật.
4.1.13 Giao diện chức năng sản phẩm yêu thích
Hình 3 8 Giao diện sản phẩm yêu thích
Trang web cũng cung cấp tiện ích lưu lại những món hàng yêu thích giúp khách có thể dễ dàng lựa chọn nhiều món hàng theo ý mình
4.1.14 Giao diện chức năng chia sẻ cho người thân
Hình 3 9 Giao diện form chia sẻ với người thân
Một trong những chức năng quan trọng của website là khả năng chia sẻ sản phẩm với người thân và bạn bè Khách hàng có thể dễ dàng chọn một sản phẩm và gửi thông tin sản phẩm đó qua email đến những người mà họ muốn chia sẻ.
CHƯƠNG IV KẾT LUẬN CHUNG
Kết quả đạt được và tồn tại
Qua 1 tháng tìm hiều, nghiên cứu Website bán hàng đã được hoàn hành trên mức cơ bản:
Các chức năng của hệ thống bao gồm trưng bày hàng hóa, đăng nhập, đăng ký, quản lý thông tin, đặt hàng, hóa đơn, thanh toán, quản lý hàng hóa, đơn hàng và thống kê kết xuất cơ bản đã được hoàn thành Tất cả các chức năng này hoạt động ổn định, đúng như mô tả và bản thiết kế, với hình ảnh sống động.
Về các yêu cầu phi chức năng thì điều đáp ứng được như tính ổn định, tính toán, hiệu quả,…
+ Các chức năng khác thì đã và đang được hoàn thành, tối ưu và đúng với các phần mềm hiện nay
Qua quá trình nghiên cứu nhóm đã đạt được những thành quả :
Học cách tự tìm kiếm tài liệu học tập và thiết kế từ nhiều nguồn khác nhau giúp bạn lọc ra những thông tin cốt lõi và cần thiết cho bản thân.
+ Nắm được cách thức làm ra một website đơn giản, thiết thực, có ích cho cuộc sống
+ Khả năng làm việc nhóm và phân công công việc cho phù hợp với ưu điểm của bản thân Cũng như học hỏi lẫn nhau về nhiều khía cạnh
Do thời gian và năng lực hạn chế, nhóm chỉ tập trung vào việc nghiên cứu và mô phỏng các chức năng cơ bản cần thiết cho một website bán hàng phục vụ cho cửa hàng vừa và nhỏ Những chức năng này được thiết kế đơn giản, phù hợp với quy mô và lượng khách hàng của một cửa hàng thông thường Việc áp dụng phần mềm này cho các cửa hàng lớn có thể gây ra một số lỗi Hiện tại, nhóm đang tiếp tục tối ưu và hoàn thiện các chức năng để đáp ứng tốt hơn nhu cầu của khách hàng.