CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1. Giới thiệu chung 1. Tổng quan thương mại điện tử Thương mại điện tử là mô hình kinh doanh trực tuyến mà các giao dịch mua bán, trao đổi đều thông qua nền tảng công nghệ thông tin với sự hỗ trợ của Internet. Thương mại điện tử là xu hướng của thời đại toàn cầu hóa, đây được xem như một trong những giải pháp thúc đẩy sự phát triển của nền kinh tế quốc gia.
Thuận lợi - Giúp tiếp cận thị trường rộng lớn - Khách hàng có sự linh hoạt trong mua sắm - Tối ưu hóa chi phí cho nguồn nhân lực duy trì mô hình kinh doanh và tiếp thị sản phẩm, dịch vụ - Gia tăng cơ hội bán hàng - Nâng cao sự hài lòng của khách hàng - Linh hoạt trong việc mở rộng hay thu hẹp quy mô bán hàng 1. Khó khăn - Thiếu tương tác giữa bên mua và bên bán - Khách hàng có ít trải nghiệm chân thực hơn so với mô hình kinh doanh truyền thống - Khả năng cạnh tranh cao - Các vấn đề về bảo mật thông tin khách hàng 1. Nghiên cứu hiện trạng và giải quyết vấn đề 1. Hiện trạng Cửa hàng DTNSHOP chưa có website để hỗ trợ việc bán hàng trực tuyến trong khi các cửa hàng khác đã có website quảng bá sản phẩm và cung cấp cho khách hàng của họ các phương thức để xem và mua hàng trực 7 tuyến,.
Điều này dẫn đến việc kinh doanh gặp bất lợi và nhận thấy cửa hàng cần giải quyết những vấn đề sau: Không thể tiếp cận những khách hàng có thói quen mua sắm trực tuyến. Khó mở rộng quy mô kinh doanh Gặp khó khăn trong việc quảng bá sản phẩm Mất một lượng lớn khách hàng do họ lựa chọn cửa hàng khác có triển khai mô hình kinh doanh trực tuyến Khó theo dõi nhu cầu mua sắm của khách hàng 1. Cơ cấu tổ chức Cửa hàng bao gồm các thành phần: Chủ cửa hàng Nhân viên Khách hàng 1. Mô tả hoạt động của các thành phần - Chủ cửa hàng, nhân viên: Đóng vai trò là quản trị viên của trang web, thực hiện chức năng quản lý các thông tin được hiển thị trên trang web Quản lý khách hàng, đơn hàng, các chương trình khuyến mại và đưa ra thống kê về các sản phẩm đã bán - Khách hàng: Được cung cấp khả năng năng tìm kiếm, xem thông tin sản phẩm, quản lý giỏ hàng Có thể thực hiện chức năng đặt hàng và xem thông tin tài khoản, đơn hàng của mình 8 1.
Xác định yêu cầu 1. Yêu cầu chức năng nghiệp vụ của hệ thống Bảng 1. Bảng xác định yêu cầu chức năng nghiệp vụ của hệ thống Vai trò Chức năng - Đăng nhập, đăng xuất - Quản lý danh mục sản phẩm - Quản lý thông tin sản phẩm - Quản lý khách hàng Chủ cửa hàng, nhân - Quản lý đơn hàng viên – Quản trị viên - Quản lý thống kê (Admin) - Quản lý đánh giá - Quản lý nhãn hiệu - Quản lý khuyến mại - Quản lý bài viết - Đăng ký, đăng nhập, đăng xuất - Tìm kiếm sản phẩm - Xem bài viết - Đặt hàng Khách hàng - Xem thông tin cá nhân - Quản lý giỏ hàng - Xem lịch sử đơn hàng - Đánh giá chất lượng sản phẩm - Xem tất cả các sản phẩm đã mua 1. Yêu cầu của hệ thống - Hệ thống chạy ổn định - Giao diện thân thiện, dễ sử dụng với người dùng - Đáp ứng được hầu hết các yêu cầu của người dùng 9 1.
Giới thiệu về công nghệ và ngôn ngữ lập trình sử dụng 1. Giới thiệu ngôn ngữ lập trình Java Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991.
Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak. Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem. Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó.
Các phiên bản: JDK 1. Giới thiệu hệ quản trị cơ sở dữ liệu MySQL MYSQL là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. MySQL là một sản phẩm cơ sở dữ liệu nguồn mở được tạo bởi MySQL AB, một công ty được thành lập năm 1995 tại Thụy Điển.
Năm 2008, Sun Microsystems đã mua lại MySQL AB. Năm 2010, tập đoàn Oracle mua lại Sun Microsystems. MYSQL được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server….
Các phiên bản: MySQL 3. Giới thiệu mô hình MVC - MVC (Model-View-Controller) là một mô hình thiết kế được sử dụng phổ biến trong lập trình ứng dụng. Mô hình này chia ứng dụng thành ba phần chính: Model: đại diện cho dữ liệu và hành vi của nó. Model sẽ xử lý tất cả các truy vấn liên quan đến dữ liệu.
View: đại diện cho giao diện người dùng trong ứng dụng. View sẽ hiển thị dữ liệu được cung cấp bởi Model và cung cấp các phản hồi khi người dùng tương tác với nó Controller: là cầu nối giữa Model và View. Controller sẽ xử lý các sự kiện tương tác từ người dùng, nhận yêu cầu từ View và điều chỉnh Model phù hợp để cung cấp đầy đủ thông tin cho View - Việc sử dụng MVC giúp cho việc phát triển ứng dụng dễ dàng hơn, giúp tăng tính module hóa và tăng khả năng tiện lợi cho việc bảo trì sau này. Nó cũng giúp phát triển công việc của nhóm làm việc hiệu quả hơn bằng cách phân chia công việc cho từng phần một, đồng thời cho phép lập trình viên tập trung vào từng phần riêng lẽ một cách thuận tiện.
- Để sử dụng MVC trong lập trình ứng dụng, người lập trình cần phải tạo ra đầy đủ các lớp cho Model, View, và Controller, và xây dựng các liên kết giữa các lớp để tạo nên một ứng dụng hoàn chỉnh. Các thư viện - Framework hỗ trợ 1. Spring MVC 12 Spring MVC là một module của Framework Spring cung cấp hỗ trợ xây dựng các ứng dụng web bằng cách sử dụng mô hình kiến trúc Model-View- Controller (MVC). Nó được rộng rãi sử dụng trong phát triển ứng dụng web dựa trên Java, vì nó cung cấp một nền tảng linh hoạt và có khả năng mở rộng cho việc tạo ứng dụng web.
Spring MVC được xây dựng trên nền tảng Spring Framework và sử dụng nhiều tính năng của nó, chẳng hạn như IoC và DI. Nó khuyến khích việc sử dụng các quy tắc lập trình tốt như phân tách các quan tâm, lỏng lẻo và có thể kiểm tra được. Spring Boot Spring Boot là một trong những thành viên của hệ sinh thái Spring framework. Nó giúp cho người lập trình đơn giản hóa công đoạn khởi tạo một dự án với Spring, thay vào đó người lập trình chỉ tập trung vào việc phát triển business cho ứng dụng.
Dưới đây là một số ưu điểm của Spring Boot: Tạo ứng dụng Spring độc lập, đóng gói dưới dạng một file JAR (standalone application) Tối ưu công đoạn cấu hình, không yêu cầu XML, config… Nhúng trực tiếp các ứng dụng server (Tomcat, Jetty, Undertow…) do đó không cần phải triển khai file WAR Cung cấp nhiều plugin Các starter dependency giúp việc cấu hình Maven đơn giản hơn 1. Spring Data JPA Spring Data là một module của Spring Framework. Mục đích của Spring Data JPA là giảm thiểu việc thực hiện quá nhiều bước để có thể implement được JPA. Spring Data JPA là một phần của Spring Data và nó hỗ trợ Hibernate 5, OpenJPA 2.
Spring Data JPA không phải là một JPA provider điều này khác với Hibernate. Hibernate là JPA provider hay nói cách khác Hibernate implement JPA. Hibernate Hibernate là một framework dùng để tương tác với Cơ sở dữ liệu quan hệ trong Java. Hibernate cho phép lập trình viên tạo ra các đối tượng Java và ánh xạ chúng với cơ sở dữ liệu quan hệ một cách dễ dàng và tự động, bằng cách sử dụng các Annotation hoặc các tập tin XML.
Hibernate cung cấp một lớp trừu tượng giúp che giấu sự khác biệt giữa các loại Cơ sở dữ liệu khác nhau, điều này giúp cho việc chuyển đổi giữa các đối tác Cơ sở dữ liệu dễ dàng hơn. Điểm mạnh của Hibernate đó là việc giảm thiểu bớt lượng mã lặp, giảm sự phụ thuộc vào cơ sở dữ liệu, và giảm thiểu việc sửa đổi mã khi thay đổi cấu trúc Cơ sở dữ liệu. Hibernate cũng có khả năng tự động sinh câu truy vấn SQL và các sơ đồ dữ liệu liên quan đến cơ sở dữ liệu, giúp đơn giản hóa quá trình lập trình và giảm thiểu khả năng phát sinh lỗi. Apache Maven Apache maven là một chương trình quản lý dự án cho phép các developers có thể quản lý về version, các dependencies (các thư viện sử dụng trong dự án), quản lý build, tự động download javadoc & source, … Mục tiêu chính của Maven là cung cấp cho nhà phát triển: Một mô hình toàn diện cho các dự án, giúp nó có thể tái sử dụng, bảo trì và dễ hiểu hơn Các plugin hoặc công cụ tương tác với mô hình dự án này 1.
Bootstrap Bootstrap là một front-end framework mã nguồn mở miễn phí giúp quá trình phát triển web được nhanh và dễ dàng hơn. Bootstrap bao gồm các mẫu thiết kế dựa trên HTML và CSS như typography, forms, buttons, tables, navigation, modals, image carousels… cũng như các plugin JavaScript tùy chọn. Người lập trình có thể tạo các giao diện responsive design cho các thiết bị khác nhau với Bootstrap. Apache Tomcat 14 Apache Tomcat là một Java Servlet được phát triển bởi Apache Software Foundation (ASF).
Tomcat thi hành các ứng dụng Java Servlet và JavaServer Pages (JSP) từ Sun Microsystems, và cung cấp một máy chủ HTTP cho ngôn ngữ Java thuần túy để thực thi các chương trình lệnh viết bằng ngôn ngữ Java.