CHƯƠNG 1. MÔ TẢ ĐỀ TÀI 1. Khảo sát Hiện nay thời đại công nghệ càng ngày phát triển nếu không có trang web bán hàng điện tử, người bán có thể gặp phải nhiều khó khăn và hạn chế trong việc kinh doanh: - Giới hạn đối tượng khách hàng: Một trang web có thể tiếp cận được với người mua trên toàn thế giới. Trong khi đó, nếu không có trang web, người bán chỉ có thể tiếp cận được với khách hàng trong phạm vi hạn chế, chẳng hạn như khách hàng trong cùng khu vực hoặc thành phố.
- Hạn chế thời gian kinh doanh: Một trang web bán hàng điện tử hoạt động liên tục, cho phép khách hàng mua sắm bất kỳ lúc nào trong ngày. Nếu không có trang web, người bán chỉ có thể bán hàng trong khoảng thời gian cố định hoặc khi cửa hàng mở cửa. - Chi phí quảng cáo cao: Quảng cáo trực tuyến thông qua trang web, mạng xã hội và công cụ tìm kiếm có thể giúp người bán tiếp cận người mua một cách hiệu quả và tiết kiệm chi phí. Nếu không có trang web, người bán có thể phải chi trả nhiều hơn cho các hình thức quảng cáo truyền thống như quảng cáo trên truyền hình, radio, báo chí, hoạt đi phát tờ rơi.
- Khó khăn trong việc quản lý hàng hóa: Một trang web cung cấp các công cụ quản lý hàng trong kho, đơn hàng và thanh toán tự động. Nếu không người bán có thể gặp khó khăn trong việc theo dõi lượng hàng trong kho, xử lý đơn hàng và quản lý thông tin thanh toán. - Cạnh tranh không công bằng: Trong thế giới kinh doanh ngày nay, nhiều người tiêu dùng dựa vào trang web để tìm kiếm và mua hàng. Nếu không có trang web, người bán sẽ mất đi một kênh bán hàng quan trọng, trong khi đối thủ cạnh tranh có thể tiếp cận được khách hàng tiềm năng thông qua trang web của họ.
Còn đối với người mua: - Sẽ hạn chế trong việc tìm kiếm sản phẩm: Một trang web thường cung cấp chức năng tìm kiếm, giúp người mua dễ dàng tìm kiếm sản phẩm theo từ khóa, danh mục, hoặc bộ lọc. Nếu không có trang web, người mua có thể gặp khó khăn trong việc tìm 3 kiếm các sản phẩm mong muốn và phải dựa vào các phương tiện khác như mua hàng trực tiếp tại cửa hàng. - Giới hạn lựa chọn sản phẩm: cửa hàng thường có hàng ngàn hoặc thậm chí hàng triệu sản phẩm nhập về từ nhiều nhà cung cấp khác nhau. Nếu không có trang web, người mua sẽ bị hạn chế trong việc lựa chọn sản phẩm chỉ từ các cửa hàng trong phạm vi hạn chế.
- Khó khăn trong việc so sánh giá và đánh giá: Trang web thường cung cấp thông tin về giá cả, đánh giá và đánh giá của khách hàng. Nếu không có trang web, người mua có thể gặp khó khăn trong việc so sánh giá cả và tìm hiểu về chất lượng và đáng tin cậy của sản phẩm mà họ quan tâm. - Thời gian và công sức tiêu tốn: Mua sắm trực tiếp tại cửa hàng yêu cầu người mua phải dành thời gian và công sức để di chuyển đến cửa hàng, tìm kiếm sản phẩm và thực hiện giao dịch. Điều này có thể tốn kém và không tiện lợi cho những người có lịch trình bận rộn hoặc không có nhiều thời gian rảnh.
- Không thể mua hàng từ xa: Nếu không người mua không thể mua hàng từ xa, đặc biệt là trong trường hợp họ muốn mua hàng từ một khu vực xa hoặc không có cửa hàng trực tiếp gần đó. Mục tiêu đề tài - Dễ dàng tiếp cận với người mua - Người bán thuận tiện trong việc quản bá cửa hàng và quản lý kho 1. Mô tả nghiệp vụ - Phía khách hàng: người dùng có thể lướt tìm kiếm các sản phẩm mà mình muốn mua. Khi muốn mua trực tiếp một món hàng nào đó người dùng cần phải đăng nhập, nếu chưa có thì người mua cần phải đăng ký tài khoản bằng gmail hoặc bằng facebook.
Khi đăng ký thành công thì người dùng cần cập nhật địa chỉ và thông tin để giao hàng. Khi đã thanh toán thành công sẽ có thư được gởi về gmail để xác nhận cho người mua biết hoặc đó là hóa đơn để sau này có thể gởi phản hồi nếu gặp trục trặc. Ngoài ra người mua cũng có thể xem lại lịch sử hoạt động mình đã hoạt những gì trên trang web. Người mua cũng có thể xem bình luận các sản phẩm để tiếp cận với món mình thích dễ hơn.
- Phía người bán: người bán có 2 trang chính là admin và trang web cửa hàng chính. Về phía trang admin, người mua có thể chỉnh sửa thông tin như theo danh mục, 4 theo sản phẩm, tin tức, chạy quang cáo, chạy thông báo và chỉnh sửa tài khoản của nhân viên trong phần admin. Các chức năng Khách hàng có chức năng: - Đăng nhập: Email Password Cập nhật mật khẩu - Đăng ký: Email Facebook Password - Tìm kiếm sản phẩm - Lọc sản phẩm theo danh mục hoạt theo giá - Xem sản phẩm - Tăng giảm số lượng muốn mua của sản phẩm - Thêm sản phẩm vào giỏ hàng - Chọn hình thức thanh toán và thanh toán - Xem lịch sử hoạt động - Cập nhật thông tin của người bán - Thêm và xóa địa chỉ và thông tin giao hàng - Xem tin tức, thông báo - Xem thông tin chi tiết và trạng thái của đơn hàng Người bán có chức năng: - Thêm, sửa, xóa tài khoản cho nhân viên - Cập nhật doanh thu - Thêm, sửa, xóa thông báo - Thêm, sửa, xóa tin tức - Cập nhật thông tin trang web như tên công ty, thông tin liên lạc,. - Thêm, sửa, xóa danh mục chính của hàng - Thêm, sửa, xóa sản phẩm 5 - Thêm, sửa, xóa sản phẩm nào nằm trong danh mục nào - Cập nhật trạng thái đơn hàng của khách hàng Đối tượng, phạm vi nghiên cứu: - Đối tượng: các cửa hàng bán linh kiện điện tử đang kiếm một trang web đẹp mắt và tiện lợi.
- Phạm vi nghiên cứu: Xây dựng các chức năng cơ bản cho quản trị viên. Tìm hiểu về các trang web phát triển và nâng cấp về hệ thống, quản lý hệ thống. Xây dựng các chức năng cho người bán lẫn người mua. Tìm hiểu về ngôn ngữ java, Spring và các công cụ cần thiết để thiết kế hệ thống.
CÔNG NGHỆ SỬ DỤNG 2. Spring là gì? - Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại code… - Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên) - Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lớn. - Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming.
- Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web. Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Objecs). - Kiến trúc, các module của Spring Framework. - Spring được chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng dụng mà ta dùng 1 trong các module đó.
Dưới đây là kiến trúc tổng thể của Spring Framework Test - Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG. - Spring Core Container. - Bao gồm các module spring core, beans, context và expression languate (EL). - Spring core, bean cung cấp tính năng IOC và Dependency Injection.
- Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX. - Expression Language được mở rộng từ Expresion Language trong JSP. Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic… - AOP, Aspects and Instrumentation. - Những module này hỗ trợ cài đặt lập trình hướng khía cạnh (Aspect Oriented Programming), hỗ trợ tích hợp với AspectJ.
- Data Access / Integration. 8 - Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những module này cung cấp khả năng giao tiếp với database. Spring và thymeleaf - Hay còn gọi là Spring MVC Nhóm này gồm Web, WebServlet… hỗ trợ việc tạo ứng dụng web.
Thymeleaf là gì: Thymeleaf là một Java template engine dùng để xử lý và tạo HTML, XML, Javascript, CSS và text. Mục tiêu chính của thymeleaf là mang lại các template tự nhiên, đồng nhất, đơn giản (nature templates) cho công việc phát triển. Java IDE IDE là gì? - Môi trường phát triển tích hợp (IDE) là một ứng dụng phần mềm hỗ trợ lập trình viên phát triển mã phần mềm một cách hiệu quả. Ứng dụng này giúp tăng năng suất của nhà phát triển bằng cách kết hợp các tính năng như chỉnh sửa, xây dựng, kiểm thử và đóng gói phần mềm vào trong một ứng dụng dễ sử dụng.
Cũng giống như nhà văn sử dụng phần mềm soạn thảo và kế toán sử dụng bảng tính, nhà phát triển phần mềm dùng IDE để khiến công việc trở nên dễ dàng hơn. 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 theo mô hình clientserver. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng. - MySQL là một trong số các phần mềm RDBMS.
RDBMS và MySQL thường được cho là một vì độ phổ biến quá lớn của MySQL. Các ứng dụng web lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho mục đích lưu trữ dữ liệu. Kể cả khi ban đầu nó chỉ được dùng rất hạn chế nhưng giờ nó đã tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và Ubuntu. jQuery và bootstrap - Query nghĩa là một yêu cầu truy vấn thông tin.
thông tin ở đây sẽ là thông tin trích xuất từ một database – cơ sở dữ liệu. Query dùng để thực hiện các thao tác lên dữ liệu đó (data manipulation) – thêm, xóa, thay đổi. - Query của bạn phải dựa trên một cấu trúc code được định sẵn mà cơ sở dữ liệu có thể hiểu được. Cấu trúc code này có thể xem như là ngôn ngữ truy vấn – query language.