MỞ ĐẦU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI Bước vào thế kỷ 21, sự phát triển mạnh mẽ của khoa học công nghệ đã định hình một thế giới mới, với Công nghệ Thông tin đóng vai trò dẫn đầu và góp phần quan trọng trong sự phát triển chung. Trong những năm gần đây, vai trò của hệ thống thông tin trong doanh nghiệp ngày càng trở nên quan trọng và mạnh mẽ. Như một phần của lĩnh vực Công nghệ thông tin, Công nghệ web đang phát triển và lan rộng nhanh chóng nhờ vào những lợi ích to lớn mà nó mang lại cho cộng đồng.
Và đó là lý do chúng em đã chọn đề tài "Xây dựng website bán laptop", nhằm tìm hiểu và đề xuất những giải pháp tối ưu để hỗ trợ các doanh nghiệp cửa hàng muốn kinh doanh laptop và các sản phẩm máy tính xách tay. Bằng cách sử dụng nền tảng công nghệ web và thương mại điện tử, việc bán laptop thông qua website sẽ mang lại nhiều lợi ích và thuận lợi cho các công ty sản xuất laptop nói chung và các cửa hàng phân phối nói riêng. Điều này bao gồm việc tăng độ nổi tiếng và tên tuổi của các công ty và cửa hàng trên môi trường mạng toàn cầu (như MSI, ACER, DELL, LENOVO.), mở cửa 24/24 cho quá trình kinh doanh, giảm chi phí quảng cáo truyền thống như tiếp thị, quảng cáo dễ dàng qua các nền tảng đa phương tiện, và dễ dàng giao tiếp và trao đổi thông tin với khách hàng. Website bán laptop giúp doanh nghiệp cung cấp cho khách hàng các lựa chọn linh hoạt và tiện lợi trong việc tìm mua sản phẩm.
Khách hàng có thể dễ dàng tìm hiểu và xem thông tin chi tiết về sản phẩm, từ đó lựa chọn những chiếc laptop với thông số kỹ thuật phù hợp và giá cả phù hợp với khả năng tài chính của mình. Đối với các hãng sản xuất và cửa hàng đại lý, website thương mại bán laptop cũng mang lại tiện ích trong việc cập nhật và quản lý thông tin cho website, và dễ dàng tương tác với khách hàng. Nhóm chúng em mong muốn đóng góp vào sự phát triển và các lợi ích đã đề cập bằng cách áp dụng kiến thức đã học vào thực tế và xây dựng một website bán laptop với đầy đủ các chức năng để đáp ứng nhu cầu sử dụng của người dùng. Đó là lý do chính mà nhóm chúng em quyết định thực hiện đề tài "Tìm hiểu công nghệ Spring Boot, React JS và xây dựng ứng dụng Website bán laptop".
MỤC ĐÍCH VÀ NHIỆM VỤ CỦA ĐỀ TÀI Mục đích của nhóm khi thực hiện đề tài: Rèn luyện kỹ năng tổng hợp các kiến thức viết luận văn. Rèn luyện tính tự chủ và tinh thần làm việc nhóm. Có được sản phẩm đầu ra là website bán laptop với các chức năng cơ bản. Có hiểu biết cơ bản về các công nghệ Spring Boot, ReactJs ,MySQL.
Mục đích của đề tài: Tiếp cận khách hàng mới và tăng chuyển đổi thành khách hàng tiềm năng. Cung cấp cho khách hàng cơ hội mua hàng và sử dụng dịch vụ với sự trợ giúp của hệ thống thanh toán online mà không cần rời khỏi nhà. Cung cấp các thông tin hoặc thông báo cho khách hàng, đối tác, nhân viên về các hoạt động của công ty và phạm vi dịch vụ , sản phẩm được cung cấp Nhiệm vụ của đề tài: Nghiên cứu các công nghệ sử dụng trong đề tài như Spring Boot, ReactJs. Nghiên cứu tổng quan, ưu điểm và nhược điểm của các website bán laptop tương tự trên Internet.
Phân tích, thiết kế hệ thống website bán laptop. Cài đặt website bán laptop với các chức năng cơ bản như: Xác thực tài khoản người dùng qua mail, quản lý giỏ hàng, tìm kiếm sản phẩm, xem sản phẩm mới nhất, nổi bật nhất và sản phẩm bán chạy, xem chi tiết sản phẩm và các sản phẩm liên quan. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng nghiên cứu: Trong phạm vi đề tài này, đối tượng nghiên cứu tập trung vào nhu cầu sử dụng của các cửa hàng bán laptop, linh kiện và các cửa hàng nhỏ tương tự. Mục tiêu là giúp các tổ chức này quản lý sản phẩm một cách dễ dàng và hiệu quả, cũng như tạo điều kiện cho họ tiếp cận khách hàng một cách thuận tiện.
Đồng thời, hệ thống sẽ giúp cửa 2 hàng thông báo các chương trình khuyến mãi đến khách hàng một cách nhanh chóng mà không cần phải gặp gỡ trực tiếp để quảng cáo. Phạm vi nghiên cứu: Nghiên cứu tập trung vào việc xây dựng hệ thống các RESTful API và sử dụng Spring Boot để hỗ trợ việc truy xuất dữ liệu một cách chính xác và nhanh chóng nhất. Sử dụng cơ sở dữ liệu MySQL để lưu trữ dữ liệu của cửa hàng. MySQL là một hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành và cung cấp một loạt các hàm tiện ích mạnh mẽ.
MySQL có khả năng mở rộng và xử lý lượng dữ liệu lớn nếu cần thiết. Về phần giao diện người dùng, nhóm nghiên cứu sử dụng ReactJS và các thư viện hỗ trợ để xây dựng và xử lý giao diện cho người dùng cuối. ReactJS tạo ra một DOM ảo cho riêng nó, nơi các thành phần thực sự tồn tại. Điều này giúp cải thiện hiệu suất.
ReactJS cũng tính toán những thay đổi cần cập nhật lên DOM và chỉ thực hiện những thay đổi đó, giúp tránh những thao tác không cần thiết trên DOM và giảm thiểu chi phí xử lý. PHƯƠNG PHÁP NGHIÊN CỨU Nghiên cứu, đọc hiểu tài liệu liên quan đến các công nghệ sử dụng trên sách báo và các nguồn Google , Youtube, GitHub, ChatGPT. Khảo sát các website bán laptop thực tế. Tham khảo ý kiến đóng góp của giáo viên hướng dẫn.
Thảo luận làm việc nhóm. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC Xây dựng được một website bán laptop có những chức năng cơ bản của một trang thương mại điện tử. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Việc xây dựng website này đã áp dụng thành tựu của công nghệ thông tin vào lĩnh vực thương mại, mang lại nhiều lợi ích và tiện ích cho các hãng sản xuất và cửa hàng. 3 Website này cung cấp cho khách hàng thông tin chi tiết và chính xác về các sản phẩm, giúp họ dễ dàng tiếp cận và tìm hiểu về các sản phẩm laptop.
Một trong những ưu điểm quan trọng của website này là đảm bảo an ninh thông tin cá nhân của khách hàng và cho phép họ mua hàng trực tuyến mà không cần phải đến cửa hàng trực tiếp. Đồng thời, website này cũng giúp các hãng sản xuất và cửa hàng phân phối dễ dàng quảng bá hình ảnh của mình và tiếp cận khách hàng thông qua nhiều phương tiện và nền tảng khác nhau. 4 PHẦN 2: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. SPRING BOOT FRAMEWORK 1.
Khái niệm Spring Boot là một phần mở rộng của Spring Framework, được thiết kế nhằm giúp các lập trình viên loại bỏ bước cấu hình phức tạp mà Spring yêu cầu. Nó được phát triển bằng ngôn ngữ Java và thuộc hệ sinh thái của Spring Framework. Lịch sử phát triển Spring Boot? Phiên bản đầu tiên của Spring Boot, phiên bản 1.0, ra đời vào tháng 10 năm 2012 để đáp ứng yêu cầu tính năng trong Spring jira. Từ đó, Spring Boot đã trải qua một quá trình phát triển liên tục với sự cải tiến và phát hành hàng loạt các phiên bản mới, mang lại nhiều lợi ích hữu ích cho người dùng.
Hiện tại, phiên bản cao nhất của Spring Boot là Spring Boot 2.6, được phát hành vào ngày 04 tháng 2022. Tại sao lại sử dụng Spring Boot? Spring Boot nên được sử dụng vì: - Spring Boot sử dụng phương pháp Dependency Injection, giúp quản lý các phụ thuộc giữa các thành phần trong ứng dụng một cách dễ dàng và linh hoạt. - Nó cung cấp khả năng quản lý transaction trong cơ sở dữ liệu mạnh mẽ, giúp đảm bảo tính nhất quán và độ tin cậy của các thao tác dữ liệu. - Spring Boot cho phép nhà phát triển thiết lập và chạy các ứng dụng Spring độc lập, sẵn sàng cho môi trường sản xuất mà không cần phải triển khai chúng lên máy chủ web.
Điều này giúp giảm bớt quy trình triển khai phức tạp và tăng tính linh hoạt trong việc phát triển và triển khai ứng dụng Java. Ưu và nhược điểm của Spring Boot? Ưu điểm - Spring Boot được thiết kế để giúp kỹ sư phần mềm tăng tốc độ phát triển ứng dụng, loại bỏ việc thiết lập và cấu hình ban đầu tốn thời gian khi triển khai môi trường. 5 - Phát triển ứng dụng dựa trên Spring trở nên dễ dàng và tiết kiệm thời gian. - Tự động cấu hình tất cả các thành phần cho một ứng dụng Spring cấp sản xuất.
- Hỗ trợ kiểm tra ứng dụng web dễ dàng với sự tích hợp của các máy chủ HTTP nhúng như Tomcat, Jetty, v., giúp loại bỏ việc triển khai các tệp WAR. - Cung cấp tệp tin để đơn giản hóa cấu hình Maven. - Loại bỏ yêu cầu cấu hình XML. - Dễ dàng truy cập vào cơ sở dữ liệu và các dịch vụ hàng đợi như MySQL, Oracle, MongoDB, Redis, ActiveMQ và nhiều dịch vụ khác.
- Có cộng đồng lớn và nhiều tài liệu hướng dẫn, giúp dễ dàng tiếp cận và tìm hiểu. Nhược điểm - Thiếu kiểm soát: Do kiểu phát triển cố định, Spring Boot có thể tạo ra nhiều phụ thuộc không được sử dụng, dẫn đến kích thước tệp triển khai lớn. - Quá trình chuyển đổi dự án Spring cũ hoặc hiện có thành ứng dụng Spring Boot có thể khó khăn và tốn thời gian. - Không phù hợp cho các dự án quy mô lớn: Trong một số trường hợp, khi làm việc với các microservices, Spring Boot có thể không phù hợp cho việc xây dựng ứng dụng nguyên khối.
Kiến trúc Spring Boot Spring Boot tuân theo kiến trúc phân lớp: Hình 1-1: Kiến trúc Spring Boot [2] Spring Boot có 4 lớp: Lớp Presentation: Lớp này xử lý các yêu cầu HTTP, thực hiện chuyển đổi tham số JSON thành đối tượng và xác thực yêu cầu trước khi chuyển tiếp đến lớp Business. 6 Nó chịu trách nhiệm cho phần giao diện người dùng, bao gồm các khung nhìn và xử lý các yêu cầu xác thực và HTTP. Lớp Business: Lớp này xử lý các logic nghiệp vụ của ứng dụng. Nó bao gồm các Business Layer và sử dụng các dịch vụ được cung cấp bởi lớp truy cập dữ liệu.
Lớp Business thực hiện các quy trình logic nghiệp, xác nhận và ủy quyền. Lớp Persistence: Lớp này chứa các thực thể và thực hiện các thao tác truy xuất và lưu trữ dữ liệu.