Xây Dựng Website E-Commerce: Đồ Án Tốt Nghiệp Khoa Công Nghệ Thông Tin

Xây dựng website thương mại điện tử hiệu quả giúp tăng trưởng doanh số, thu hút khách hàng và nâng cao trải nghiệm mua sắm trực tuyến.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

82
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1. Khảo sát và xác định yêu cầu của hệ thống

1.1.1. Nội dung khảo sát và nắm bắt hiện trạng

1.2. Giới thiệu vấn đề

1.3. Các công cụ sử dụng

1.3.1. Ngôn ngữ lập trình JAVA

1.3.2. Framework Spring boot

1.3.3. Cơ sở dữ liệu MySQL

1.3.4. Ngôn ngữ lập trình VueJs

1.3.5. Docker

1.3.6. Gitlab

1.3.7. CI/CD

1.3.8. Amazone web service

2. CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Xác định các tác nhân

2.2. Biểu đồ use case

2.2.1. Biểu đồ use case của người dùng

2.2.1.1. Biểu đồ use case quản lý thông tin tài khoản
2.2.1.2. Biểu đồ use case quản lý đơn hàng
2.2.1.3. Biểu đồ use case quản lý thông báo
2.2.1.4. Biểu đồ use case quản lý câu hỏi/trả lời
2.2.1.5. Biểu đồ use case mua hàng/đặt hàng
2.2.1.6. Biểu đồ use case đăng ký trở thành người bán
2.2.1.7. Biểu đồ use case bình luận

2.2.2. Biểu đồ use case của người bán hàng

2.2.2.1. Biểu đồ use case quản lý đơn hàng
2.2.2.2. Biểu đồ use case quản lý sản phẩm
2.2.2.3. Biểu đồ use case quản lý doanh thu

2.2.3. Biểu đồ use case người quản trị

2.2.3.1. Biểu đồ use case quản lý người dùng
2.2.3.2. Biểu đồ use case quản lý danh mục
2.2.3.3. Biểu đồ use case quản lý sản phẩm

3. CHƯƠNG 3: TRIỂN KHAI PHẦN MỀM

3.1. Giao diện người dùng và người bán hàng

3.1.1. Trang đăng nhập

3.1.1.1. Trang đăng nhập của người dùng

3.1.2. Màn hình đăng ký của người dùng

3.1.3. Trang landing page

3.1.4. Trang quản lý thông tin tài khoản của người dùng

3.1.5. Trang quản lý đơn mua của người dùng

3.1.6. Trang quản lý thông báo của người dùng

3.1.7. Trang hỏi đáp của người dùng

3.1.8. Trang giỏ hàng của người dùng

3.1.9. Giao diện trang đặt hàng

3.1.10. Giao diện trang thanh toán VNPAY

3.1.11. Giao diện chat

3.1.12. Giao diện chính của kênh người bán

3.1.13. Giao diện quản lý đơn hàng của người bán

3.1.14. Giao diện trang quản lý sản phẩm của người bán

3.1.15. Giao diện thống kê doanh thu người bán

3.2. Giao diện trang quản trị

3.2.1. Giao diện chính trang quản trị

3.2.2. Giao diện quản lý người dùng

3.2.3. Giao diện quản lý danh mục

3.2.4. Giao diện quản lý sản phẩm

3.2.5. Giao diện trang quản lý thông báo

3.2.6. Giao diện quản lý câu hỏi người dùng

3.2.7. Giao diện quản lý danh mục câu hỏi của người dùng

3.2.8. Quản lý bình luận

3.2.9. Quản lý phê duyệt thành người bán

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan đồ án website e commerce Từ ý tưởng đến hiện thực

Việc thực hiện một đồ án tốt nghiệp khoa Công nghệ Thông tin về chủ đề xây dựng website e-commerce là một lựa chọn phổ biến và mang tính thực tiễn cao. Đề tài này không chỉ phản ánh xu hướng phát triển mạnh mẽ của thương mại điện tử mà còn là cơ hội để sinh viên áp dụng toàn diện kiến thức đã học. Một dự án thành công đòi hỏi sự kết hợp nhuần nhuyễn giữa kỹ năng lập trình, khả năng phân tích hệ thống và tư duy quản lý dự án. Tài liệu gốc của sinh viên Phạm Huy Phong về đề tài “Xây dựng website E-Commerce YD” là một minh chứng điển hình. Dự án này xuất phát từ nhu cầu thực tế của thị trường: tối ưu hóa trải nghiệm mua sắm online, nơi người dùng có thể tiếp cận đa dạng sản phẩm từ nhiều người bán trên một nền tảng duy nhất. Mục tiêu chính là xây dựng một hệ thống hoàn chỉnh, bao gồm các chức năng cốt lõi như quản lý sản phẩm, quản lý đơn hàng, giỏ hàng, và đặc biệt là tích hợp thanh toán online. Việc lựa chọn công nghệ phù hợp là bước nền tảng quyết định sự thành công của đồ án. Các công nghệ hiện đại như ReactJS hoặc VueJS cho frontend và NodeJS hoặc Spring Boot cho backend thường được ưu tiên. Cơ sở dữ liệu quan hệ như MySQL vẫn là lựa chọn phổ biến nhờ tính ổn định và cấu trúc rõ ràng. Quá trình thực hiện đồ án không chỉ dừng lại ở việc viết code mà còn bao gồm các giai đoạn quan trọng khác như khảo sát yêu cầu, phân tích thiết kế hệ thống, kiểm thử và cuối cùng là triển khai website lên môi trường thật. Một báo cáo đồ án tốt nghiệp chi tiết và một bài bảo vệ đồ án tốt nghiệp thuyết phục là kết quả cuối cùng thể hiện năng lực của sinh viên.

1.1. Khảo sát hiện trạng và xác định yêu cầu hệ thống

Giai đoạn đầu tiên và quan trọng nhất trong mọi đồ án công nghệ thông tin là khảo sát và xác định yêu cầu. Mục đích là để hiểu rõ bối cảnh nghiệp vụ, nhu cầu của người dùng và các bên liên quan. Như trong đề tài tham khảo, việc khảo sát chỉ ra rằng hình thức mua sắm online đang thay thế dần phương thức truyền thống. Vấn đề đặt ra là các website hiện tại thường chỉ chuyên về một loại mặt hàng, gây bất tiện cho người tiêu dùng. Từ đó, yêu cầu về một website thương mại điện tử tổng hợp, nơi nhiều người bán có thể tham gia, đã được hình thành. Các yêu cầu chức năng cần được liệt kê chi tiết, phân chia theo từng nhóm người dùng: khách hàng, người bán, và quản trị viên. Ví dụ, khách hàng cần các chức năng tìm kiếm, xem sản phẩm, thêm vào giỏ hàng, và thanh toán. Người bán cần công cụ để quản lý sản phẩmquản lý đơn hàng. Quản trị viên cần quyền kiểm soát toàn bộ hệ thống. Các yêu cầu phi chức năng như hiệu năng, bảo mật và khả năng mở rộng cũng cần được xem xét kỹ lưỡng.

1.2. Lựa chọn công nghệ và công cụ phát triển phù hợp

Việc lựa chọn công nghệ ảnh hưởng trực tiếp đến quá trình phát triển và kết quả cuối cùng của đồ án. Đề tài tham khảo đã sử dụng một stack công nghệ bao gồm Java Spring Boot, MySQL, và VueJS. Đây là một lựa chọn mạnh mẽ và phổ biến trong các ứng dụng doanh nghiệp. Tuy nhiên, sinh viên có thể xem xét các phương án khác như sử dụng ReactJSNodeJS để xây dựng một ứng dụng Single-Page Application (SPA) hiện đại. NodeJS với kiến trúc bất đồng bộ phù hợp cho các ứng dụng thời gian thực như chat, thông báo. ReactJS cung cấp một thư viện giao diện người dùng linh hoạt và hiệu suất cao. Về cơ sở dữ liệu, ngoài MySQL, MongoDB cũng là một lựa chọn tốt cho các hệ thống cần sự linh hoạt trong cấu trúc dữ liệu. Các công cụ hỗ trợ như Docker để đóng gói ứng dụng, GitLab cho quản lý mã nguồn và CI/CD để tự động hóa quy trình triển khai cũng là những yếu tố quan trọng, giúp quá trình hướng dẫn làm đồ án trở nên chuyên nghiệp và hiệu quả hơn.

II. Hướng dẫn phân tích và thiết kế hệ thống website bán hàng

Sau khi xác định yêu cầu, giai đoạn phân tích và thiết kế hệ thống là bước cụ thể hóa ý tưởng thành một bản thiết kế chi tiết. Đây là xương sống của toàn bộ dự án xây dựng website e-commerce, quyết định tính logic, khả năng mở rộng và bảo trì của hệ thống. Quá trình này thường sử dụng Ngôn ngữ Mô hình hóa Hợp nhất (UML) để trực quan hóa các khía cạnh khác nhau của phần mềm. Biểu đồ Use Case là công cụ khởi đầu, giúp xác định các tác nhân (người dùng, người bán, quản trị viên) và các hành động mà họ có thể thực hiện trên hệ thống. Tài liệu tham khảo đã phân tích rất chi tiết các use case cho từng tác nhân, từ những hành động cơ bản như 'Quản lý thông tin tài khoản' đến các nghiệp vụ phức tạp như 'Phê duyệt trở thành người bán'. Dựa trên biểu đồ use case, các biểu đồ tuần tự (Sequence Diagram) được phát triển để mô tả luồng tương tác giữa các đối tượng trong một kịch bản cụ thể, ví dụ như luồng xử lý chức năng đăng nhập hay đặt hàng. Biểu đồ hoạt động (Activity Diagram) lại tập trung vào luồng xử lý nghiệp vụ, thể hiện các bước và điều kiện rẽ nhánh. Việc áp dụng mô hình MVC (Model-View-Controller) cũng là một quyết định thiết kế kiến trúc quan trọng, giúp tách biệt logic nghiệp vụ, giao diện người dùng và dữ liệu, làm cho source code website bán hàng trở nên rõ ràng và dễ quản lý hơn. Quá trình này đảm bảo rằng tất cả các yêu cầu đã xác định đều được chuyển hóa thành một bản thiết kế kỹ thuật vững chắc trước khi bắt đầu lập trình.

2.1. Phân tích tác nhân và xây dựng biểu đồ Use Case

Xác định tác nhân là bước đầu tiên trong phân tích. Trong một website thương mại điện tử điển hình, có ba tác nhân chính: Người dùng (khách mua hàng), Người bán hàng, và Quản trị viên. Mỗi tác nhân có một tập hợp các chức năng riêng biệt. Biểu đồ Use Case được sử dụng để mô tả các chức năng này một cách trực quan. Ví dụ, Use Case của Người dùng bao gồm 'Quản lý đơn hàng', 'Mua hàng/đặt hàng', và 'Bình luận sản phẩm'. Use Case của Người bán hàng sẽ bao gồm các chức năng của người dùng cộng thêm 'Quản lý sản phẩm' và 'Quản lý doanh thu'. Quản trị viên có quyền cao nhất, với các Use Case như 'Quản lý người dùng', 'Quản lý danh mục', và 'Quản lý phê duyệt'. Việc xây dựng một biểu đồ Use Case tổng quát giúp cung cấp cái nhìn toàn cảnh về phạm vi của hệ thống, là cơ sở để lập kế hoạch và phân chia công việc trong quá trình phát triển.

2.2. Thiết kế luồng tương tác với biểu đồ tuần tự

Biểu đồ tuần tự (Sequence Diagram) mô tả chi tiết sự tương tác giữa các đối tượng theo thứ tự thời gian. Nó cực kỳ hữu ích để làm rõ luồng xử lý của một chức năng cụ thể. Ví dụ, với chức năng 'Đặt hàng', biểu đồ tuần tự sẽ thể hiện các bước: người dùng gửi yêu cầu từ giao diện, controller nhận yêu cầu, gọi service để xử lý logic (kiểm tra tồn kho, tạo đơn hàng), service tương tác với model để cập nhật dữ liệu vào cơ sở dữ liệu MySQL, và cuối cùng trả về kết quả cho người dùng. Trong tài liệu gốc, có đến hàng chục biểu đồ tuần tự cho các chức năng từ 'đăng ký' đến 'thanh toán online'. Việc thiết kế các biểu đồ này giúp lập trình viên hiểu rõ logic cần cài đặt, giảm thiểu sai sót và đảm bảo các thành phần trong hệ thống phối hợp với nhau một cách chính xác.

III. Bí quyết thiết kế cơ sở dữ liệu và xây dựng Backend API

Trái tim của mọi ứng dụng website thương mại điện tử chính là hệ thống backend và cơ sở dữ liệu. Giai đoạn này tập trung vào việc thiết kế cơ sở dữ liệu một cách tối ưu và xây dựng các RESTful API để client (web hoặc mobile app) có thể tương tác với hệ thống. Một thiết kế cơ sở dữ liệu tốt phải đảm bảo tính toàn vẹn dữ liệu, hiệu suất truy vấn và khả năng mở rộng. Quá trình này bắt đầu bằng việc xác định các thực thể chính như Người dùng, Sản phẩm, Đơn hàng, Danh mục, v.v. Sau đó, các thuộc tính và mối quan hệ giữa chúng được định nghĩa thông qua biểu đồ quan hệ thực thể (ERD). Ví dụ, một Người dùng có thể có nhiều Đơn hàng (quan hệ một-nhiều), và một Đơn hàng có thể chứa nhiều Sản phẩm (quan hệ nhiều-nhiều, cần bảng trung gian). Sau khi có thiết kế CSDL, việc xây dựng backend bắt đầu. Sử dụng các framework như NodeJS (với Express.js) hoặc Laravel (PHP) giúp tăng tốc quá trình phát triển. Các API được thiết kế theo chuẩn RESTful, sử dụng các phương thức HTTP (GET, POST, PUT, DELETE) để thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên tài nguyên. Bảo mật là yếu tố tối quan trọng, đặc biệt là xác thực người dùng. Các cơ chế như JWT (JSON Web Token) thường được sử dụng để bảo vệ các API, đảm bảo chỉ những người dùng đã xác thực mới có quyền truy cập vào các tài nguyên nhất định.

3.1. Phương pháp thiết kế cơ sở dữ liệu quan hệ MySQL

Việc thiết kế cơ sở dữ liệu cho một website bán hàng cần tuân thủ các quy tắc chuẩn hóa để tránh dư thừa và đảm bảo tính nhất quán của dữ liệu. Bắt đầu từ việc xác định các thực thể chính như Users, Products, Categories, Orders, OrderItems. Sau đó, xác định thuộc tính cho mỗi thực thể (ví dụ: Productsname, price, description, stock_quantity). Cuối cùng là thiết lập các mối quan hệ: một Category có nhiều Products (một-nhiều), một Order thuộc về một User (một-nhiều), và mối quan hệ giữa OrdersProducts là nhiều-nhiều, được giải quyết bằng một bảng trung gian OrderItems. Sử dụng khóa chính (Primary Key) và khóa ngoại (Foreign Key) để liên kết các bảng. Việc thiết kế một sơ đồ ERD rõ ràng như trong tài liệu tham khảo là cực kỳ cần thiết trước khi tạo các bảng trong MySQL.

3.2. Xây dựng RESTful API cho các chức năng cốt lõi

Các RESTful API đóng vai trò là cầu nối giữa frontend và backend. Mỗi tài nguyên trong hệ thống (sản phẩm, người dùng, đơn hàng) sẽ tương ứng với một endpoint. Ví dụ: GET /api/products để lấy danh sách sản phẩm, POST /api/products để tạo sản phẩm mới, GET /api/orders/{id} để xem chi tiết một đơn hàng. Dữ liệu thường được trao đổi dưới định dạng JSON. Việc xây dựng API cần tuân theo các nguyên tắc của REST, bao gồm kiến trúc client-server, stateless (máy chủ không lưu trạng thái của client), và sử dụng các mã trạng thái HTTP (200 OK, 201 Created, 404 Not Found) để phản hồi. Việc xây dựng một bộ API được tài liệu hóa tốt (sử dụng Swagger/OpenAPI) là một phần quan trọng của đồ án công nghệ thông tin, giúp việc tích hợp frontend và kiểm thử trở nên dễ dàng hơn.

IV. Triển khai giao diện người dùng và các tính năng quan trọng

Giao diện người dùng (UI) và trải nghiệm người dùng (UX) là yếu tố quyết định sự thành công của một website e-commerce. Giai đoạn này tập trung vào việc hiện thực hóa các thiết kế giao diện và tích hợp chúng với backend thông qua các RESTful API đã xây dựng. Việc sử dụng các thư viện/framework hiện đại như ReactJS hoặc VueJS cho phép xây dựng các giao diện động, tương tác cao và mang lại trải nghiệm mượt mà cho người dùng. Các chức năng cốt lõi cần được triển khai một cách cẩn thận. Chức năng quản lý sản phẩm phải cho phép người bán thêm, sửa, xóa sản phẩm một cách dễ dàng. Chức năng giỏ hàng cần lưu trữ lựa chọn của người dùng và cho phép họ cập nhật số lượng hoặc xóa sản phẩm. Quy trình thanh toán là một trong những phần phức tạp nhất, đòi hỏi sự chính xác và bảo mật cao. Việc tích hợp cổng thanh toán VNPAY hoặc tích hợp MoMo là một yêu cầu thực tế và nâng cao giá trị của đồ án. Hệ thống cũng cần có một trang quản trị (Admin Panel) mạnh mẽ, cho phép quản trị viên kiểm soát toàn bộ hoạt động của website. Các giao diện được trình bày trong Chương 3 của tài liệu gốc cho thấy một hệ thống hoàn chỉnh với các màn hình riêng biệt cho từng vai trò và chức năng, từ trang đăng nhập, quản lý đơn mua, đến trang thống kê doanh thu cho người bán. Đây là phần minh chứng rõ ràng nhất cho kết quả của toàn bộ quá trình hướng dẫn làm đồ án.

4.1. Xây dựng giao diện với ReactJS và quản lý trạng thái

Sử dụng ReactJS để xây dựng giao diện người dùng theo kiến trúc component giúp tái sử dụng code và dễ dàng quản lý. Mỗi phần của trang web (thanh điều hướng, danh sách sản phẩm, chân trang) là một component riêng biệt. Quản lý trạng thái ứng dụng là một thách thức, đặc biệt với các tính năng phức tạp như giỏ hàng hay thông tin người dùng đăng nhập. Các thư viện như Redux hoặc Context API của React được sử dụng để quản lý trạng thái toàn cục, giúp dữ liệu được chia sẻ nhất quán giữa các component mà không cần truyền props qua nhiều cấp. Việc gọi API từ backend để lấy và gửi dữ liệu là hoạt động diễn ra liên tục, sử dụng các thư viện như Axios để thực hiện các yêu cầu HTTP một cách hiệu quả.

4.2. Tích hợp cổng thanh toán online VNPAY và MoMo

Tích hợp thanh toán online là một điểm nhấn quan trọng, chứng tỏ khả năng xử lý các nghiệp vụ phức tạp của sinh viên. Quá trình tích hợp cổng thanh toán VNPAY thường bao gồm các bước: đăng ký tài khoản merchant, đọc tài liệu API do VNPAY cung cấp, xây dựng chức năng tạo yêu cầu thanh toán với các thông tin đơn hàng và chữ ký số (checksum). Khi người dùng chọn thanh toán, website sẽ chuyển hướng họ đến cổng thanh toán của VNPAY. Sau khi người dùng hoàn tất thanh toán, VNPAY sẽ gọi lại một URL trên website (IPN URL) để thông báo kết quả giao dịch. Backend cần xử lý thông báo này, xác thực chữ ký và cập nhật trạng thái đơn hàng tương ứng. Tương tự, tích hợp MoMo cũng theo một quy trình tương tự, đòi hỏi lập trình viên phải xử lý các luồng dữ liệu một cách cẩn thận và an toàn.

V. Cách triển khai website và chuẩn bị bảo vệ đồ án tốt nghiệp

Hoàn thành việc lập trình chỉ là một phần của quá trình. Để đồ án tốt nghiệp được công nhận, sinh viên cần triển khai website lên môi trường internet và chuẩn bị kỹ lưỡng cho buổi bảo vệ. Triển khai (deployment) là quá trình đưa source code website bán hàng từ máy phát triển lên một máy chủ để người dùng có thể truy cập công khai. Có nhiều lựa chọn về hosting, từ Shared Hosting giá rẻ cho các dự án nhỏ đến máy chủ ảo (VPS) hoặc các nền tảng đám mây như Amazon Web Services (AWS) cho các ứng dụng đòi hỏi hiệu năng và khả năng mở rộng cao. Quá trình triển khai bao gồm việc cấu hình môi trường server, cài đặt cơ sở dữ liệu, và tải mã nguồn lên. Sử dụng Docker có thể đơn giản hóa quá trình này bằng cách đóng gói ứng dụng và các phụ thuộc vào một container duy nhất. Song song với việc triển khai, việc chuẩn bị cho buổi bảo vệ là cực kỳ quan trọng. Sinh viên cần hoàn thiện cuốn báo cáo đồ án tốt nghiệp, trình bày rõ ràng các chương từ tổng quan, phân tích thiết kế, đến kết quả thực hiện. Slide bảo vệ đồ án cần được thiết kế súc tích, tập trung vào những điểm chính, kết hợp với việc demo trực tiếp sản phẩm. Việc chuẩn bị trước các câu hỏi mà hội đồng có thể đặt ra về lựa chọn công nghệ, các quyết định thiết kế, hay các thách thức đã gặp phải sẽ giúp sinh viên tự tin và đạt được kết quả cao nhất.

5.1. Các bước triển khai website e commerce lên hosting VPS

Quá trình triển khai website bao gồm nhiều bước kỹ thuật. Đầu tiên là lựa chọn nhà cung cấp hosting hoặc VPS phù hợp. Tiếp theo, cần cấu hình môi trường trên máy chủ: cài đặt hệ điều hành (thường là Linux), web server (Nginx, Apache), môi trường chạy backend (NodeJS, PHP), và hệ quản trị cơ sở dữ liệu (MySQL). Sau đó, mã nguồn từ GitLab/GitHub được tải lên server. Cần cấu hình các biến môi trường (ví dụ: chuỗi kết nối cơ sở dữ liệu, khóa API) để tách biệt giữa môi trường phát triển và sản phẩm. Cuối cùng, trỏ tên miền về địa chỉ IP của server và cài đặt chứng chỉ SSL để bật HTTPS, đảm bảo an toàn cho việc truyền tải dữ liệu. Sử dụng các công cụ CI/CD sẽ giúp tự động hóa toàn bộ quy trình này, tiết kiệm thời gian và giảm thiểu lỗi.

5.2. Kinh nghiệm viết báo cáo và làm slide bảo vệ đồ án

Một cuốn báo cáo đồ án tốt nghiệp chất lượng cần có cấu trúc logic, trình bày sạch sẽ và nội dung đầy đủ. Cần bám sát vào đề cương và các yêu cầu của khoa. Mỗi chương cần được viết chi tiết, sử dụng các hình ảnh minh họa (biểu đồ UML, sơ đồ CSDL, ảnh chụp màn hình) để làm rõ nội dung. Đối với slide bảo vệ đồ án, nguyên tắc là đơn giản và tập trung. Tránh đưa quá nhiều chữ. Mỗi slide chỉ nên trình bày một ý chính. Bố cục slide nên bao gồm: giới thiệu đề tài, vấn đề, giải pháp công nghệ, kiến trúc hệ thống, demo chức năng chính, kết quả đạt được và hướng phát triển. Phần quan trọng nhất là demo sản phẩm, cần chuẩn bị kỹ lưỡng để chạy mượt mà. Hãy luyện tập trình bày nhiều lần để tự tin và kiểm soát tốt thời gian.

09/07/2025
Xây dựng website e commerce y

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN V Đ TI 1.1 Khảo sát và xác định yêu cầu của hệ thống 1.1 Nội dung khảo sát và nắm bắt hiện trạng Trang web thương mại điện tử được xây dựng do nhu cầu mua sắm của người dân ngày càng tăng cao, kinh tế ngày càng phát triển khiến sức mua của con người cũng tăng theo. Ngày này công nghệ kỹ thuật đã trở lên quá tiên tiến, khiến hình thức mua hàng offline đã không còn phổ biến nữa, thay vào đó là mua hàng online thông qua các ứng dùng, trang web trên mạng 1.2 Giới thiệu vấn đề Các trang web lớn nhỏ đã dần dần được ra đời nhằm phục vụ mục đích tôi ưu hóa mua sắm online của con người. Nhưng những trang web này chỉ dừng lại ở việc bán một số mặt hàng nhất định. Chúng ta có thể tưởng tượng, khi chúng ta ra ngoài chợ mua đồ thì mỗi một cửa hàng sẽ tương ứng với một trang web bán hàng, vì thế nên mặt hàng thường không đa dạng, mà chỉ chuyên về một loại hàng nào đó.

Áp dụng vào công nghệ thông tin, ta có thể thấy được, thay vì phải tạo nhiều trang web, ta sẽ tạo ra một trang web bao gọn tất cả các trang web đó. Chính vì vậy trang web thương mại điện tử của chúng em ra đời nhằm phục vụ cho mục đích trên.2 Các công cụ sử dụng 1.1 Ngôn ngữ lập trình JAVA Java là một một ngôn ngữ lập trình hiện đại, bậc cao, hướng đối tượng, bảo mật, mạnh mẽ, và là một Platform. Platform: Bất cứ môi trường phần cứng hoặc phần mềm nào mà có một chương trình chạy, thì được hiểu như là một Platform. Với môi trường runtime là (JRE) và API, Java được gọi là Platform.

Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems và do James Gosling khởi xướng và phát hành vào năm 1995. Phiên bản mới nhất của Java Standard Edition gọi là Java SE 8. Với sự tiến bộ của Java và sự phổ biến rộng rãi, nhiều cấu hình đã được xây dựng để phù hợp với nhiều loại nền tảng khác nhau. Ví dụ: J2EE cho các ứng dụng doanh nghiệp, di động.

Các phiên bản J2 mới đã được đổi tên thành Java SE, EE, ME.2 Framework Spring boot Spring Boot là một dự án phát triển bởi JAV trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên đơn giản hóa quá trình lập trình một ứng dụng với Spring, tập trung vào việc phát triển business cho ứng dụng. Để phát triển một ứng dụng web cơ bản HelloWorld sử dụng Spring framework sẽ cần ít nhất 5 công đoạn sau;  Tạo một project sử dụng Maven các dependency cần thiết của Spring MVC và Servlet API.  Một tập tin web.xml khai báo DispatcherServlet của Spring MVC.

 Một File cấu hình của Spring MVC.  Một class Controller trả về một trang “Hello World” khi request đến.  Cuối cùng phải có một web server dùng để triển khai ứng dụng lên chạy. Trong các công đoạn này, chỉ có tạo một class Controller thì có thể khác cho các ứng dụng khác nhau vì mỗi ứng dụng có một yêu cầu khác nhau.

Còn các công đoạn khác giống nhau. Giờ đây với Spring Boot, có thể tạo dự án Spring một cách nhanh chóng và cấu hình cũng đơn giản dùng Sublime Text để phát triển không cần cài đặt eclipse hay netbean nặng. Dưới đây là những tính năng nổi bật của Spring Boot:  Tạo các ứng dụng Spring riêng biệt.  Nhúng trực tiếp Tomcat, Jetty hoặc Undertow (không cần deploy ra file WAR)  Các starter dependency sẽ giúp việc cấu hình Maven đơn giản  Auto cấu hình Spring khi cần thiết  Không sinh code cấu hình và yêu cầu phải cấu hình bằng XML … 2 1.3 Cơ sở dữ liệu MySQL MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động dựa trên mô hình client-server.

MySQL là một trong số các phần mềm của RDBMS, nhưng thường được cho là môt vì độ quá phổ biến của nó. Mô hình hoạt động của MySQL Những lý do chính khiến MySQL trở nên quan trọng:  Linh hoạt và dễ dùng: Có thể sửa source code để đáp ứng nhu cầu sử dụng mà không phải thanh toán thêm chí phí nào, quá trình cài đặt cũng đơn giản.  Hiệu năng cao: Bất kể lưu trữ dữ liệu lớn của các trang thương mại điện tử hoặc những hoạt động kinh doanh lớn liên quan đến công nghệ thông tin, MySQL cũng có thể đáp ứng.4 Ngôn ngữ lập trình VueJs Vue.js là một framework linh động (nguyên bản tiếng Anh: progressive – tiệm tiến) dùng để xây dựng giao diện người dùng (user interfaces). Khác với các framework nguyên khối (monolithic), Vue được thiết kế từ đầu theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo từng bước.

Khi phát triển lớp giao diện (view layer), người dùng chỉ cần dùng thư viện lõi (core library) của Vue, vốn rất dễ học và tích hợp với các thư viện hoặc dự án có sẵn. Cùng lúc đó, nếu kết hợp với những kĩ thuật hiện đại như SFC (single file components) và các thư viện hỗ trợ, Vue cũng đáp ứng được dễ dàng nhu cầu xây dựng những ứng dụng một trang (SPA - Single-Page Applications) với độ phức tạp cao hơn nhiều.5 Docker Docker là nền tảng để cung cấp cách để building, deploying và running ứng dụng, website dễ dàng hơn bằng cách sử dụng các containers (trên nền tảng ảo hóa). Lợi ích của docker: Triển khai kiến trúc Microservices dễ dàng. Xây dựng ứng dụng và scale linh hoạt.

Không tốn thời gian để config máy local và server cùng một môi trường để chạy ứng dụng. Lập trình viên chỉ cần build 1 lần chạy ở nhiều nơi. 4 Đẩy code lên server, thực thi ứng dụng một cách nhanh chóng & dễ dàng.6 Gitlab GitLab là hệ thống self-hosted có mã nguồn mở dựa trên hệ thống máy chủ Git dùng để quản lý mã nguồn. GitLab cung cấp giải pháp server một cách toàn diện & nhận được sự đánh giá cao từ cộng đồng.

Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) được rất nhiều lập trình viên ưa chuộng. Lợi ích của gitlab: Mang lại sự tiện lợi khi cần lưu trữ hay tải lên code và tải xuống. Kiểm soát các thay đổi trong code một cách nhanh chóng & chính xác. Hỗ trợ việc quản lý, phân phối công việc giữa các dự án lập trình một cách hiệu quả.7 CI/CD CI là tên viết tắt Continuous Integration (tích hợp liên tục).

Còn CD là viết tắt của Continuous Delivery (chuyển giao liên tục) hoặc Continuous Deployment (triển khai liên tục). CI/CD thường dung để đề cập đến việc tự động hóa trong quy trình phát triển phần mềm và chuyển giao sản phẩm, giúp cho việc tích hợp diễn ra một cách nhanh chóng và sản phẩm hoàn thiện được chuyển đến người dùng trong thời gian sớm nhất. Ngày nay, CI/CD đã được áp dụng rộng rãi vào quy trình làm việc của các doanh nghiệp làm trong lĩnh vực IT, song hành cùng với DevOps và Agile. Một quy trình CI/CD hoàn chỉnh có thể được vẽ ra như sau: Developer commit code.

Quy trình CI/CD tự động chạy build, chạy test và deploy. Chuyển giao sản phẩm đến tay khách hàng. Với quy trình phát triển phần mềm, tất cả các bước làm việc của Developer có phần thủ công và sẽ tốn khá nhiều thời gian. Developer sau khi lập trình xong thì sẽ build trực tiếp trên máy tính/laptop cá nhân, sau đó chờ code được build hoàn tất.

Tiếp theo, họ phải upload thủ công file này lên TestFlight và trải qua 3,4 bước thao tác, rồi lại tiếp tục chờ cho đến khi kết thúc. Khi File được upload xong hết thì Developer mới thông báo đến team Tester/QA QC và họ mới bắt đầu thực hiện công tác kiểm thử liên quan cho toàn bộ sản phẩm. Nếu quá trình xảy ra sai sót thì quy trình gần như sẽ quay lại từ đầu, thời gian chờ giữa 2 bên Developer và Tester/QA QC khá lâu, khiến cho dự án cũng sẽ bị trì hoãn theo. Đó là chưa kể đến việc Developer khi phát triển tính năng mới có thể làm hỏng tính năng cũ đang chạy trên ứng dụng, chỉ khi deploy mới phát hiện ra.8 Amazone web service 5 Amazon Web Services (AWS) là một nền tảng đám mây toàn diện & được sử dụng khá phổ biến và rộng rãi.

Amazon web service cung cấp trên 200 dịch vụ đầy đủ tính năng từ các trung tâm dữ liệu trên toàn thế giới. AWS có rất nhiều dịch vụ & nhiều tính năng trong các dịch vụ đó, hơn bất kỳ nhà cung cấp đám mây nào–từ các công nghệ cơ sở hạ tầng như ổ lưu trữ, máy tính, cơ sở dữ liệu–đến các công nghệ mới nổi, như machine learning và AI, kho dữ liệu & phân tích. Điều này giúp chuyển các ứng dụng hiện có lên đám mây nhanh chóng hơn, dễ dàng hơn & hiệu quả hơn bao giờ hết AWS còn có chức năng sâu nhất trong các dịch vụ đó. Ví dụ như AWS cung cấp nhiều loại cơ sở dữ liệu mới nhất được xây dựng có mục đích cho các loại ứng dụng khác nhau để bạn có chọn công cụ phù hợp cho công việc để có chi phí và hiệu suất tối đa nhất.

6 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Xác định các tác nhân ⮚ Người dùng:  Quản lý thông tin tài khoản  Quản lý đơn hàng  Quản lý thông báo  Quản lý câu hỏi/trả lời  Mua hàng/đặt hàng  Đăng ký trở thành người bán hàng  Bình luận sản phẩm ⮚ Người bán hàng (Bao gồm các chức năng của người dùng và thêm các tính năng dưới đây):  Quản lý đơn hàng  Quản lý sản phẩm  Quản lý doanh thu ⮚ Quản trị viên:  Quản lý người dùng  Quản lý doanh mục  Quản lý sản phẩm  Quản lý thông báo  Quản lý hỏi đáp/trả lời  Quản lý ảnh bìa  Quản lý bình luận  Quản lý phê duyệt/hủy bỏ trở thành người bán hàng 7 2.2 Biểu đồ use case 2.1 Biểu đồ use case của người dùng a. Biểu đồ use case quản lý thông tin tài khoản Người dùng sau khi đăng nhập có thể: + Cập nhật thông tin tài khoản như họ và tên, số điện thoại, tên cửa hàng, giới tính, ảnh đại diện, … + Thay đổi địa chỉ nhận hàng để nhận hàng, người dùng có thể thêm nhiều địa chỉ nhận hàng, nhưng chỉ được chọn một địa chỉ nhận hàng làm mặc định. Địa chỉ này dùng để xác định khi người dùng mua hàng. + Thay đổi mật khẩu khi đăng nhập Hình 2.1 Biểu đồ use case người dùng b.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Xây Dựng Website E-Commerce: Đồ Án Tốt Nghiệp Khoa Công Nghệ Thông Tin" cung cấp cái nhìn tổng quan về quy trình và các yếu tố cần thiết để xây dựng một website thương mại điện tử hiệu quả. Tài liệu này không chỉ giúp sinh viên hiểu rõ về các công nghệ và công cụ cần thiết mà còn hướng dẫn cách tối ưu hóa trải nghiệm người dùng và tăng cường khả năng tiếp cận thị trường. Những lợi ích mà tài liệu mang lại cho độc giả bao gồm kiến thức về thiết kế giao diện, quản lý nội dung, và các chiến lược marketing trực tuyến.

Để mở rộng thêm kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo tài liệu Một số lý luận cơ bản về quy trình bán lẻ điện tử, nơi cung cấp cái nhìn sâu sắc về quy trình bán hàng trực tuyến. Ngoài ra, tài liệu Đồ án tốt nghiệp xây dựng website bán giày trực tuyến 17 sneaker sẽ giúp bạn hiểu rõ hơn về việc áp dụng các nguyên tắc thiết kế vào thực tiễn. Cuối cùng, bạn cũng có thể tìm hiểu thêm về Khóa luận tốt nghiệp kỹ thuật phần mềm xây dựng website bán quần áo tích hợp web3, một tài liệu thú vị về việc tích hợp công nghệ mới vào thương mại điện tử. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và nâng cao kỹ năng trong lĩnh vực xây dựng website thương mại điện tử.