PHẦN MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong thị trường kinh doanh hiện nay thì việc cạnh tranh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc phục vụ khách hàng tốt nhất. Ở thế kỷ 21 thì thương mại điện tử đã trở nên phổ biến hơn rất nhiều. So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả đạt cao hơn.
Hơn thế nữa, việc kinh doanh trên môi trường Internet có lợi thế về truyền tải thông tin sản phẩm nhanh chóng, thuận tiện. Kết hợp với bộ phận giao hàng tận nơi, thanh toán nhanh chóng và đa dạng từ tiền mặt cho đến thanh toán qua ngân hàng và các ví điện tử, làm cho trải nghiệm mua hàng của khách hàng trở nên tiện lợi, thoải mái vô cùng. Do đó, với sự ra đời các Website bán hàng qua Internet, mọi người có thể mua mọi hàng hóa, mọi lúc mọi nơi mà không cần phải tới tận nơi để mua. Biết được nhu cầu đó thì chúng em đã chọn đề tài: “Xây dựng Website kinh doanh sản phẩm thời trang” cho khóa luận tốt nghiệp với mong muốn tạo ra Website có tính thiết thực và ứng dụng được vào thực tế.
Mục đích của đề tài Xây dựng được Website kinh doanh sản phẩm thời trang hoạt động online giúp khách hàng và cửa hàng có thể thuận tiện trong công việc mua bán các sản phẩm thời trang. Khách hàng có thể tham quan, tìm kiếm các sản phẩm của cửa hàng qua Website, khi có nhu cầu có thể đăng ký tài khoản và đặt hàng, theo dõi tình trạng đơn hàng, thanh toán đơn hàng, liên hệ tư vấn,. Về phía cửa hàng thì Website giúp cửa hàng có thể quản lý các sản phẩm, đơn hàng, người dùng, thống kê doanh thu,. Ngoài ra, Website còn hỗ trợ cho các shipper các chức năng trong quá trình nhận hàng và giao hàng từ khi nhận hàng đến khi tới tay khách hàng.
Cách tiếp cận và phương pháp nghiên cứu - Đối tượng nghiên cứu Đề tài tập trung nghiên cứu về công nghệ nhằm xây dựng Website kinh doanh sản phẩm thời trang cụ thể như sau: • Tìm hiểu về công nghệ Spring Boot để xây dựng hệ thống API 15 • Tìm hiểu về công nghệ NextJS để xây dựng giao diện cho người dùng • Tìm hiểu về nghiệp vụ kinh doanh sản phẩm thời trang trên môi trường Internet • Tìm hiểu về Microsoft Azure, Aws, Vercel để deploy Website - Phạm vi nghiên cứu Phạm vi nghiên cứu của đề tài tập trung vào nghiên cứu để xây dựng các chức năng của một Website kinh doanh sản phẩm thời trang, bao gồm: • Xây dựng giao diện đẹp, tiện trong công việc mua bán các sản phẩm thời trang • Xây dựng chức năng tham quan, tìm kiếm, cũng như đặt hàng, thanh toán một cách chuyên nghiệp, hiệu quả • Xây dựng hệ thống quản lý người dùng, đơn hàng, sản phẩm, doanh thu,… của người quản trị đơn giản, hiệu quả, có tính ứng dụng cao • Xây dựng chức năng giao nhận hàng của shipper thật chuyên nghiệp, hiệu quả • Triển khai ứng dụng lên môi trường Internet 1. Phân tích những công trình có liên quan Hiện nay có rất nhiều Website kinh doanh sản phẩm thời trang đã được xây dựng và ra mắt, các Website này có nhiều tính năng cơ bản đều giống nhau. Xét thấy mỗi Website đều có những ưu nhược điểm riêng. Chúng em sẽ cố gắng chắt lọc những ưu điểm, đồng thời suy nghĩ giải phải để loại bỏ các ưu điểm còn tồn tại ở các Website này khi thực hiện đề tài.
Kết quả dự kiến đạt được Sau khi xây dựng được Website thì chúng em sẽ dự kiến hoàn thành mục đích của đề tài và Website được tạo ra có tính thiết thực và ứng dụng được vào thực tế. Đồng thời, chúng em cũng nắm rõ được kiến thức để xây dựng Website kinh doanh sản phẩm thời trang với các công nghệ NextJS, Spring Boot và biết cách triển khai Website lên môi trường Internet để nâng cao, đào sâu về các kiến thức này phục vụ cho công việc, cuộc sống sâu này của chúng em. 16 PHẦN NỘI DUNG CHƯƠNG 1. Giới thiệu Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java Enterprise.
Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003. Spring có kích thướng nhẹ, phiên bản cơ bản của Spring framework có kích thước khoảng 2MB. Spring framework là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ dành cho Java Enterprise. Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suất cao, dễ kiểm thử và có thể sử dụng lại được.
Các tính năng core của Spring Framework có thể được sử dụng trong việc phát triển bất kỳ ứng dụng Java nào. Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE. Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO-based. Kiến trúc Hình 1.
Kiến trúc tổng thể của Spring Framework 17 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 đó, cụ thể: • Data Access / Integration: Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction, cung cấp khả năng giao tiếp với database • Web: Nhóm này còn gọi là Spring MVC Nhóm này gồm Web, Web-Servlet… hỗ trợ việc tạo ứng dụng web • 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 • Spring Core Container: 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ừ Expression Language trong JSP, 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… • Test: Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG • Messaging: cung cấp hỗ trợ cho STOMP (Simple Text Oriented Messaging Protocol) như WebSocket subprotocol để sử dụng trong các ứng dụng 1. Lợi ích Dưới đây là danh sách các lợi ích tuyệt vời của việc sử dụng Spring Framework: • Spring cho phép các nhà phát triển tạo các ứng dụng cấp Enterprise sử dụng các POJO. Lợi ích của việc sử dụng các POJO là bạn không cần một sản phẩm chứa EJB như một máy chủ ứng dụng, mà bạn chỉ có thể sử dụng một bộ chứa servlet mạnh mẽ như Tomcat hoặc một số sản phẩm thương mại khác • Spring được tổ chức theo kiểu mô đun. Mặc dù số lượng các gói và các lớp là khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần còn lại • Spring sử dụng một số công nghệ hiện có như một số ORM Framework, logging frameworks, JEE, Quartz, JDK timers và các công nghệ View khác • Dễ dàng để kiểm thử một chương trình được viết bằng Spring 18 • Web framework của Spring là một Web MVC framework có thiết kế tốt, nó là một thay thế tuyệt vời cho Struts và các công nghệ kém phổ biến khác • Spring cung cấp một API thuận tiện để dịch các ngoại lệ công nghệ cụ thể (ném bởi JDBC, Hibernate, hoặc JDO chẳng hạn) vào các trường hợp ngoại lệ nhất quán, không được kiểm soát • IoC Container có trọng lượng nhẹ.
Điều này có lợi cho việc phát triển và triển khai các ứng dụng trên các máy tính có bộ nhớ và tài nguyên CPU hạn chế • Spring cung cấp một giao diện quản lý transaction nhất quán có thể mở rộng đến một local transaction (ví dụ như sử dụng một cơ sở dữ liệu) và mở rộng lên các global transaction (sử dụng JTA) 1. Giới thiệu Spring Boot là một trong những module từ Spring framework có vai trò chuyên cung cấp các tính năng của Rapid Application Development để có thể tạo dựng và phát triển nhanh ứng dụng độc lập thông qua spring. Spring Boot ra đời với mục đích loại bỏ đi những cấu hình phức tạp ban đầu của Spring. Mô hình này không yêu cầu cấu hình XML, từ đó giúp nâng cao năng suất cho các nhà các nhà phát triển.
Với sự góp mặt của mô hình Spring Boot, hệ sinh thái Spring đã dần trở nên mạnh mẽ hơn, hiệu quả và dần trở nên phổ biến hơn bao giờ hết. Đặc tính cơ bản Các đặc tính cơ bản của Spring Boot bao gồm những khía cạnh cụ thể sau đây: • SpringApplication: Đây là một Class giúp để khởi chạy những ứng dụng bắt đầu từ hàm main. Để bắt đầu sử dụng, bạn chỉ cần thiết lập các method run • Profiles: Spring Boot Profiles cung cấp phương pháp để phân chia các cấu hình riêng biệt cho từng môi trường. Các annotation bao gồm @Configuration và @Component sẽ được đánh dấu profiles nhằm mục đích giới hạn môi trường cũng như thời điểm tải lên • Externalized Configuration: Tính năng này cho phép người dùng có cấu hình từ bên ngoài.
Vậy nên một ứng dụng có thể dễ dàng tạo dựng và vận hành trên nhiều môi trường khác nhau. Để thực hiện Externalized Configuration 19 bạn có thể gọi các YAML, file properties cùng các tham số command line hoặc là tham biến môi trường • Logging: Tất cả những chức năng log nội bộ đều được spring boot dùng thông qua Logging và được quản lý một cách mặc định. Vậy nên không cần thiết phải sửa các dependency logging hoặc các tùy biến customization không được yêu cầu 1. Ưu điểm nổi bật Spring Boot ra đời với mục đích để khắc phục các hạn chế từ ban đầu của cấu hình Spring, cụ thể: • Hội tụ đầy đủ những tính năng có sẵn từ Spring framework • Đơn giản hóa cấu hình, xây dựng được cấu hình ứng dụng độc lập có khả năng chạy bằng java-jar thông qua công cụ dependency starter • Dễ dàng deploy bởi các ứng dụng server được nhúng trực tiếp giúp tránh những khó khăn khi triển khai môi trường production mà không cần phải tải file WAR • Cấu hình ít, có thể tự động hỗ trợ cho những tính năng của Spring điển hình như giảm thời gian, tăng năng suất và không yêu cầu XML config • Cung cấp nhiều mô hình số liệu, plugin và những cấu hình từ ứng dụng bên ngoài 1.
Giới thiệu ReactJS là một thư viện JavaScript phổ biến được sử dụng để xây dựng giao diện người dùng cho các ứng dụng web.