Chương 1: Giới thiệu 1. GIỚI HẠN CỦA ĐỀ TÀI Dự án xây dựng trang web bán sách online đặt ra những thách thức về khả năng cạnh tranh trong ngành thương mại điện tử sách đang cạnh tranh mạnh mẽ. Đồng thời, cần tập trung vào quản lý nguồn lực một cách hiệu quả để đảm bảo sự ổn định và thành công của nền tảng, trong khi vẫn giữ vững mục tiêu chính là tạo ra một trải nghiệm mua sắm thuận lợi và đa dạng cho cộng đồng người đọc. PHƯƠNG PHÁP NGHIÊN CỨU Chúng tôi đã áp dụng các phương pháp thu thập và phân tích dữ liệu như sau: a) Phương pháp thu thập dữ liệu: Đã sử dụng trang web trên internet, tìm hiểu qua các nguồn video hướng dẫn lập trình trên YouTube, và nghiên cứu các tài liệu hướng dẫn của ngôn ngữ lập trình đang được sử dụng.
b) Phương pháp phân tích - tổng hợp: Sau khi có đủ thông tin và nội dung cần thiết cho đề tài, nhóm của chúng tôi đã thực hiện phương pháp phân tích dựa trên kiến thức và sự hiểu biết đạt được từ các buổi học của các môn liên quan, nhằm áp dụng chúng vào nội dung của đề tài. NỀN TẢNG CÔNG NGHỆ - Frontend: HTML, CSS, JQuery, JavaScript, Bootstrap, Thymeleaf, AngularJS. - Backend: Spring Boot, Spring Data JPA, Spring Security, Hibernate. - Kiến thức frameword và các thư viện hổ trợ như dialogflow, thymleft.
- Kiến thức về database mysql. - Cách thức hoạt động của web ecommecer và trải nghiệm người dùng. - Các ngôn ngữ hổ trợ khác như angularJs …. 2 Chương 1: Giới thiệu 1.
BỐ CỤC BÀI BÁO CÁO Bố cục của quyển báo cáo được chia thành những chương như sau: CHƯƠNG 1. GIỚI THIỆU: Giới thiệu, mục tiêu, các vấn đề nghiên cứu, giải quyết trong đề tài. CƠ SỞ LÝ THUYẾT: Lý thuyết về các công nghệ và frameword hổ trợ, các công cụ sử dụng. THIẾT KẾ HỆ THỐNG: Trình bày, giải thích quy trình hoạt động của trang web, tạo giao diện mockup, giải thích về luồng dữ liệu, các sơ đồ Use Case.
DEMO VÀ KIỂM THỬ GIAO DIỆN : Đưa ra hình ảnh thực tế về sản phẩm và kiểm thử các chức năng của sản phẩm. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Tổng kết đề tài nghiệm thu và đưa ra kết luận về khả năng hoạt động của sản phẩm trong thực tế. Qua đó đưa ra những kiến nghị và đề xuất hướng phát triển của đề tài. 3 Chương 2: Cơ sở lý thuyết CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.
TỔNG QUAN WEBSITE BÁN SÁCH ONLINE Trong phần giới thiệu tổng quan về Website Bán Sách Online, chúng tôi hướng đến việc xây dựng một nền tảng mua sắm sách trực tuyến toàn diện, nâng cao trải nghiệm người dùng, và tối ưu hóa quá trình giao dịch thông qua sự tích hợp đặc biệt của tính năng Chatbot và hệ thống thanh toán trực tuyến. Mục Tiêu của Website: Chúng tôi đặt ra mục tiêu cung cấp không chỉ một trang web bán sách trực tuyến, mà còn là một nền tảng tương tác, giúp người đọc dễ dàng tìm kiếm, chọn lựa, và mua sắm sách từ nhiều thể loại khác nhau. Mục tiêu là tạo ra một không gian trực tuyến chất lượng cao, thuận tiện và đa dạng. Chức Năng của Chatbot: Tính năng Chatbot được tích hợp với mục đích cung cấp hỗ trợ nhanh chóng và cá nhân hóa cho người dùng.
Chatbot sẽ không chỉ giải đáp thắc mắc về sản phẩm mà còn hỗ trợ trong quá trình tìm kiếm thông tin, đặt hàng, và cung cấp gợi ý dựa trên sở thích đọc sách của người dùng. Hệ Thống Thanh Toán Trực Tuyến: Để nâng cao tính tiện lợi và an toàn, chúng tôi tích hợp hệ thống thanh toán trực tuyến, cho phép người dùng thanh toán mọi giao dịch một cách thuận tiện và an toàn trên nền tảng của chúng tôi. Thông qua sự kết hợp này, chúng tôi hy vọng mang đến cho người đọc không chỉ trải nghiệm mua sắm trực tuyến linh hoạt và đa dạng mà còn một cách tương tác thú vị và cá nhân hóa trong quá trình chọn mua sách. 4 Chương 2: Cơ sở lý thuyết 2.
TỔNG QUAN VỀ NGÔN NGỮ JAVA VÀ HỆ QUẢN TRỊ MYSQL 2. Giới thiệu về ngôn ngữ Java Java, một ngôn ngữ lập trình đa nền tảng và mạnh mẽ, đã trở thành một trong những công cụ quan trọng trong lĩnh vực phát triển phần mềm và ứng dụng web. Được ra mắt vào những năm 1990, Java nhanh chóng thu hút sự chú ý với cú pháp đơn giản, tính linh hoạt và khả năng chạy trên nhiều hệ điều hành khác nhau mà không yêu cầu biên dịch lại. Một trong những đặc điểm nổi bật của Java là khả năng chạy trên môi trường ảo Java (JVM), cho phép mã nguồn Java được viết một lần và chạy trên nhiều thiết bị và hệ điều hành khác nhau mà không cần sửa đổi.
Điều này tạo ra sự di động và tính tương thích cao, giúp giảm bớt gánh nặng khi phát triển ứng dụng trên các nền tảng khác nhau. Java cũng nổi tiếng với khả năng quản lý bộ nhớ tự động, giảm nguy cơ lỗi vì quản lý bộ nhớ thủ công. Ngôn ngữ này hỗ trợ lập trình hướng đối tượng, giúp cấu trúc chương trình trở nên dễ hiểu và tái sử dụng mã nguồn. Với sự hỗ trợ mạnh mẽ từ cộng đồng và các framework phổ biến như Spring, Java không chỉ phù hợp cho ứng dụng desktop mà còn là một lựa chọn lý tưởng cho phát triển ứng dụng web, di động, và các dịch vụ đám mây.
Sự ổn định, bảo mật và tính mở rộng của Java đã củng cố vị thế của nó là một trong những ngôn ngữ lập trình hàng đầu trong ngành công nghiệp phần mềm. Giới thiệu về cơ sở quản trị database MySQL MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở được biết đến với tính linh hoạt, hiệu suất ổn định và khả năng mở rộng linh hoạt. Phát triển bởi Oracle Corporation, MySQL sử dụng ngôn ngữ truy vấn SQL, mang đến cho người phát triển một môi trường quản lý cơ sở dữ liệu mạnh mẽ và thuận tiện. MySQL hỗ trợ việc tạo và quản lý bảng, quan hệ, và ràng buộc dữ liệu, tạo nên một cơ sở dữ liệu có tổ chức và dễ bảo trì.
Sự đa người dùng của MySQL cho phép nhiều người truy cập cùng một lúc mà không gây xung đột dữ liệu, và tính năng bảo mật cao bao gồm quản lý quyền truy cập và mã hóa dữ liệu. 5 Chương 2: Cơ sở lý thuyết Khả năng mở rộng của MySQL là một trong những điểm mạnh lớn, cho phép nhanh chóng tích hợp lượng lớn dữ liệu mà không làm giảm hiệu suất. Điều này làm cho MySQL trở thành sự lựa chọn lý tưởng cho các dự án phát triển phần mềm và ứng dụng web đòi hỏi sự ổn định và linh hoạt trong quản lý cơ sở dữ liệu. Tóm lại, MySQL là một giải pháp cơ sở dữ liệu mạnh mẽ và đáng tin cậy trong cộng đồng phát triển phần mềm hiện nay.
TỔNG QUAN VỀ CÁC LIBRARY- FRAMEWORK HỔ TRỢ 2. ApacheTomCat Apache Tomcat, một máy chủ ứng dụng web và container Servlet mã nguồn mở, được thiết kế để dễ triển khai ứng dụng Java Servlet và JSP, là lựa chọn phổ biến cho các ứng dụng web Java với sự nhẹ nhàng và thuận tiện. SpringBoot Spring Boot là một dự án con của Spring Framework, được tạo ra để đơn giản hóa và tăng cường trải nghiệm phát triển ứng dụng Java. Điều này được đạt được thông qua sự tự động hóa nhiều khía cạnh của quá trình phát triển, từ cấu hình cho đến quản lý dependencies và triển khai.
Với Spring Boot, nhà phát triển có thể tận hưởng sự linh hoạt và nhanh chóng trong việc xây dựng ứng dụng mà không phải lo lắng nhiều về các công đoạn cấu hình chi tiết. Nó tích hợp sẵn với các máy chủ ứng dụng như Tomcat, Jetty hoặc Undertow, loại bỏ nhu cầu phải cấu hình máy chủ bên ngoài. Spring Boot còn mang đến các tính năng như Auto-configuration, giúp tự động cấu hình ứng dụng dựa trên dependencies có sẵn. Nó cũng hỗ trợ Embedded Web Server, giúp đơn giản hóa quá trình triển khai và giảm thiểu sự phụ thuộc vào môi trường bên ngoài.
Đồng thời, sự tích hợp mạnh mẽ với các dự án khác của Spring và cộng đồng đông đảo đảm bảo rằng Spring Boot không chỉ là một framework thuận lợi mà còn là một giải pháp mạnh mẽ cho phát triển ứng dụng Java hiện đại. 6 Chương 2: Cơ sở lý thuyết 2. SpringSecurity Spring Security là một mô-đun bảo mật của Spring Framework, cung cấp giải pháp đơn giản và mạnh mẽ cho việc xác thực người dùng, quản lý quyền truy cập và bảo vệ tài nguyên trong ứng dụng Java. Tích hợp chặt chẽ với Spring, nó hỗ trợ nhiều loại xác thực và cung cấp các tính năng bảo mật hiện đại.
Apache Maven Apache Maven là một công cụ quản lý dự án và xây dựng mã nguồn mở, thiết kế để giúp quản lý các chu kỳ phát triển phần mềm và quản lý các phụ thuộc của dự án Java. Nó là một phần quan trọng của hệ sinh thái Apache, giúp tự động hóa quá trình xây dựng, kiểm thử, và triển khai ứng dụng. RESTful Web Service và Jquery RESTful Web Service là một kiểu kiến trúc web giúp xây dựng các dịch vụ web linh hoạt, dễ hiểu và dễ tích hợp. Nó sử dụng giao thức HTTP để truyền tải dữ liệu và thường được triển khai thông qua các endpoint (điểm cuối) URL.
jQuery là một thư viện JavaScript phổ biến, giúp đơn giản hóa việc tương tác với HTML, xử lý sự kiện, và thao tác DOM. Khi kết hợp với RESTful Web Service, jQuery thường được sử dụng để gửi các yêu cầu HTTP (như GET, POST) đến các endpoint của dịch vụ và xử lý dữ liệu trả về. Sự kết hợp giữa RESTful Web Service và jQuery tạo ra một cách hiệu quả để tạo và tương tác với các ứng dụng web, cho phép truyền tải dữ liệu giữa máy chủ và trình duyệt web một cách linh hoạt và tiện lợi. Thymeleaf Thymeleaf là một động cơ mẫu (template engine) Java được sử dụng trong các ứng dụng web, đặc biệt là trong ngữ cảnh của Spring Framework.
Nó cung cấp cách tiếp cận tự nhiên và thân thiện với nhà phát triển để hiển thị dữ liệu trên giao diện người dùng. 7 Chương 2: Cơ sở lý thuyết 2. Chatbot – Dialogflow Dialogflow là một dịch vụ xử lý ngôn ngữ tự nhiên (NLP) của Google, giúp chatbot hiểu và phản hồi dựa trên câu hỏi và lời trả lời của người dùng. BotChat sử dụng Dialogflow để xử lý các yêu cầu và tạo ra các cuộc trò chuyện động giữa người dùng và chatbot.