MỤC LỤC
Điểm nổi bật của Spring Boot nằm ở khả năng khởi động ứng dụng độc lập bằng java -jar, tự động cấu hình nhiều thành phần Spring, và cung cấp các starter dependencies, annotations cùng cấu hình mặc định để đơn giản hóa việc bắt đầu cho người mới. Nhưng Spring Boot vẫn là lựa chọn hàng đầu cho các lập trình viên Java trong việc xây dựng các ứng dụng web hiện đại bởi những ưu điểm vượt trội về năng suất, tính dễ sử dụng, linh hoạt và cộng đồng hỗ trợ lớn mạnh. Đầu tiên khi yêu cầu của người dùng có thể được gửi đến ứng dụng spring boot bằng nhiều cách khác nhau chẳng hạn như: Giao diện người dùng (UI), Rest API, Soket, … Các request đó được tiếp nhận bởi bộ định tuyến của Spring MVC.
Sau đó xử lý các request bằng cách gọi các dịch vụ service từ bên ngoài thông qua cơ chế Dependency Injection (là một kỹ thuật theo đó một đối tượng (hoặc static method) cung cấp các phụ thuộc của đối tượng khác.
Angular, với sức mạnh của việc xây dựng các ứng dụng web hiện đại và giao diện người dùng tương tác, cùng với Spring Boot, một framework Java mạnh mẽ cho phát triển các ứng dụng máy chủ, tạo nên một nền tảng lý tưởng cho dự án website bán hàng. Hiệu suất và khả năng mở rộng: Angular cho phép phát triển ứng dụng web đa nền tảng, từ desktop đến di động, đảm bảo rằng ứng dụng có thể hoạt động trên mọi thiết bị. Quản lý trạng thái và hiệu quả phát triển: Angular cung cấp một cơ sở mã nguồn mở rộng, hỗ trợ mạnh mẽ từ cộng đồng, và các công cụ như Angular CLI giúp tăng tốc quá trình phát triển.
Hỗ trợ mạnh mẽ từ cộng đồng: Cả Angular và Spring Boot đều có cộng đồng lớn và tích cực, điều này mang lại lợi ích từ các tài liệu phong phú, hỗ trợ từ cộng đồng và các công cụ phát triển mạnh mẽ.
Tính năng như phân quyền người dùng, mã hóa dữ liệu, và kiểm soát truy cập cơ sở dữ liệu giúp đảm bảo rằng chỉ những người được ủy quyền mới có thể truy cập và sửa đổi dữ liệu. Điều này cho phép bạn lưu trữ và quản lý mọi loại dữ liệu trong cùng một cơ sở dữ liệu, giúp giảm bớt sự phức tạp và chi phí của hệ thống. Cuối cùng, MySQL được hỗ trợ trên nhiều hệ điều hành khác nhau, từ Windows đến Linux và macOS, cho phép triển khai cơ sở dữ liệu trên mọi môi trường.
MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ, linh hoạt và bảo mật, là lựa chọn lý tưởng cho việc lưu trữ và quản lý dữ liệu trong các ứng dụng web và doanh nghiệp.
Visual Studio Code (thường được viết tắt là VS Code) là một trình soạn thảo mã nguồn mã nguồn mở miễn phí do Microsoft phát triển. Đây là công cụ phát triển mã nguồn rất phổ biến trong cộng đồng phát triển phần mềm và có sẵn cho các hệ điều hành Windows, macOS và Linux. Tự động hoàn thành mã (IntelliSense): VS Code cung cấp tính năng tự động hoàn thành mã thông minh, giúp viết mã nhanh hơn và tránh sai sót.
Tích hợp Terminal: VS Code cho phép mở terminal trực tiếp từ giao diện, giúp thực hiện các tác vụ liên quan đến mã nguồn một cách thuận tiện.
Tiện ích mở rộng: VS Code có hệ thống tiện ích mở rộng mạnh mẽ, cho phép bạn tùy chỉnh và mở rộng chức năng của trình soạn thảo. Cấu trúc phân cấp: Mã nguồn trong VS Code được tổ chức theo cấu trúc phân cấp, giúp bạn dễ dàng tìm kiếm và quản lý các tệp tin. Môi trường server hoàn chỉnh: Giả lập môi trường server thực tế, giúp phát triển, test và triển khai ứng dụng web ngay trên máy tính cá nhân mà không cần kết nối internet.
Quản trị cơ sở dữ liệu hiệu quả: Tạo, quản lý, thao tác dữ liệu MySQL dễ dàng thông qua phpMyAdmin hoặc giao diện dòng lệnh.
Tài liệu này sẽ cung cấp một cái nhìn tổng quan về Website Bán hàng sử dụng Angular và Spring Boot, từ mục đích, phạm vi cho đến các yêu cầu chi tiết.
Thanh menu chính sẽ hiện thị các danh mục sau: Danh mục, sản phẩm, đơn hàng, tài khoản, thống kê. Chức năng này cho phép người quản trị quản lý các danh mục như: thêm, sửa, xoá danh mục. Chức năng này cho phép người quản trị quản lý các danh mục như: thêm , sửa, xoá sản phẩm.
Chức năng này cho phép người quản trị quản lý các danh mục: thay đổi trạng thái đơn hàng. Quy trình nghiệp vụ này mô tả các bước thực hiện trên hệ thống về việc quản lý thông tin của quản trị viên. Quy trình nghiệp vụ này mô tả các bước thực hiện trên hệ thống về việc quản lý thông tin người dùng.
Tại đây, người dùng là Quản trị có thể quản lý toàn bộ thông tin của người dùng khi người dùng đó cung cấp thông tin lên hệ thống. Người quản trị hệ thống có toàn bộ các quyền thay đổi trạng thái tài của người dùng ví dụ như: hoạt động hay bị khoá. Chức năng này cho phép người quản trị thống kê các thông tin tổng thể liên quan đến hoạt động kinh doanh và quản lý đơn hàng trên trang web bán hàng.
Người quản trị truy cập vào chức năng Thống kê từ menu hoặc trang chủ của trang quản trị. Hệ thống hiển thị báo cáo thống kê tổng thể, bao gồm thông tin về tổng doanh thu, số lượng đơn hàng đã đặt, tỷ lệ chuyển đổi, các sản phẩm bán chạy nhất, v.v. Người quản trị có thể tùy chọn lọc và sắp xếp kết quả thống kê theo các tiêu chí khác nhau như thời gian, danh mục sản phẩm, v.v.
Với các phân hệ trên web: hệ thống có giao diện dễ sử dụng, với một người bình thường đã biết sử dụng windows, web thì có thể thao tác được các chức năng của hệ thống sau khi đọc tài liệu HDSD.
Khi xảy ra các sự cố làm ngừng vận hành hệ thống, hệ thống phải đảm bảo phục hồi 100% trong vòng 2h. Thời gian cho phép hệ thống dừng hoạt động nếu sự cố xảy ra la 30 phút. Khi mất kết nối với DB dịch vụ, SMSgateway thì chương trình tự động kết nối lại nếu các hệ thống này hoạt động bình thường trở lại.
Website Bán hàng Spring Boot Angular sử dụng REST API như một cầu nối giữa phía client và server, giúp tạo ra một trải nghiệm mua sắm trực tuyến linh hoạt và hiệu quả cho người dùng. Hình 36: Giao diện trang chủ của hệ thống web Đây là giao diện trang chủ, gồm danh sách các sản phẩm mới nhất. Chức năng này cho phép người dùng là Khách vãng lai , nhập thông tin đăng ký tài khoản gồm một số trường bắt buộc phải nhập như : Họ và tên , số điện thoại , mật khẩu ….
Khi Khách vãng lai đăng ký tài khoản thì hệ thống sẽ kiểm tra trong CSDL xem tài khoản này đã tồn tại hay chưa , nếu đã tồn tại , hệ thống sẽ sổ ra 1 thông báo “Tài khoản đã tồn tại” , ngược lại hệ thống báo thành công. Còn với Quản trị viên khi đăng nhập thành công sẽ hiện thị thông báo thành công và hệ thống sẽ điều hướng về trang chủ và có thể truy cập trang quản lý. Em đã trải qua một chặng đường đầy thách thức khi tự mình phát triển trang web bán hàng sử dụng Angular và Spring Boot.
Từ việc xây dựng giao diện người dùng đến triển khai các API, em đã phải thấu hiểu cách hoạt động của cả hai công nghệ này. Việc sử dụng REST API để quản lý dữ liệu đó giỳp em hiểu rừ hơn về cỏch tương tỏc giữa client và server, cũng như khả năng mở rộng của trang web. Việc tối ưu hóa hiệu suất giúp trang web hoạt động mượt mà và nhanh chóng, trong khi các biện pháp bảo mật giữ cho dữ liệu và thông tin cá nhân của người dùng an toàn.
Mặc dự làm việc một mỡnh, nhưng việc tham gia vào các diễn đàn trực tuyến và sự kiện công nghệ cũng là một cơ hội để em học hỏi và chia sẻ kinh nghiệm với cộng đồng. Áp lực về thời gian và tài nguyên đã gây ra một số khó khăn, đặc biệt là trong việc xử lý các vấn đề kỹ thuật phức tạp.