I. Tổng quan về đồ án xây dựng website bán hàng trực tuyến
Đồ án tốt nghiệp xây dựng website bán hàng trực tuyến là một dự án học tập quan trọng trong lĩnh vực công nghệ thông tin, đặc biệt là công nghệ phần mềm. Đề tài này được thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, nhằm ứng dụng các kiến thức về Spring Framework, Microservices và Angular vào phát triển hệ thống thương mại điện tử hiện đại. Trong bối cảnh thương mại điện tử phát triển mạnh mẽ tại Việt Nam, việc xây dựng một nền tảng bán hàng trực tuyến chuyên nghiệp trở nên vô cùng cấp thiết. Dự án này không chỉ giúp sinh viên nắm vững kiến thức lý thuyết mà còn rèn luyện kỹ năng phát triển phần mềm thực tế, từ thiết kế cơ sở dữ liệu cho đến xây dựng giao diện người dùng hấp dẫn và chức năng thanh toán an toàn.
1.1. Định nghĩa và ý nghĩa của đề tài
Website bán hàng trực tuyến là một hệ thống thương mại điện tử cho phép các doanh nghiệp tiếp cận khách hàng toàn cầu thông qua internet. Hệ thống cung cấp các chức năng quản lý sản phẩm, xử lý đơn hàng, quản lý thanh toán và theo dõi giao hàng. Đề tài có ý nghĩa lớn vì nó giúp sinh viên hiểu rõ quy trình phát triển ứng dụng web hiện đại, áp dụng các công nghệ backend (Spring Boot, RESTful API) và frontend (Angular) để xây dựng một platform thương mại điện tử hoàn chỉnh và hiệu quả.
1.2. Nhu cầu và mục đích thực hiện
Nhu cầu thực hiện đề tài xuất phát từ sự gia tăng nhu cầu về phần mềm bán hàng trực tuyến chất lượng cao trong xã hội hiện đại. Mục đích chính là giúp sinh viên nắm vững các công nghệ tiên tiến như Spring Framework, Microservices Architecture, RESTful APIs và Angular. Hơn nữa, dự án này giúp rèn luyện kỹ năng phân tích, thiết kế và lập trình thực tế, chuẩn bị tốt cho con đường sự nghiệp phát triển phần mềm trong ngành công nghệ thông tin.
II. Công nghệ và kiến trúc hệ thống sử dụng
Hệ thống website bán hàng trực tuyến được xây dựng dựa trên kiến trúc Microservices hiện đại, sử dụng các công nghệ tiên tiến và phổ biến trong ngành. Backend được phát triển với Spring Boot, một framework Java mạnh mẽ cho phép tạo ứng dụng standalone và production-ready một cách nhanh chóng. Hệ thống sử dụng Spring Security để bảo mật dữ liệu người dùng, Spring Data JPA để tương tác với cơ sở dữ liệu PostgreSQL một cách hiệu quả. Frontend được xây dựng bằng Angular, một framework TypeScript giúp tạo giao diện người dùng động và responsive. Kiến trúc Microservices cho phép hệ thống mở rộng linh hoạt, với mỗi module có thể scale độc lập tùy theo nhu cầu. RESTful APIs được sử dụng để giao tiếp giữa các service, đảm bảo tính linh hoạt và tương thích trong hệ thống.
2.1. Spring Framework và các thành phần chính
Spring Framework là nền tảng cho phát triển backend của hệ thống. Spring Boot giúp tạo ứng dụng Java độc lập mà không cần cấu hình phức tạp. Spring Security cung cấp xác thực và phân quyền toàn diện, bảo vệ các endpoint nhạy cảm. Spring Data JPA đơn giản hóa việc tương tác với cơ sở dữ liệu, giảm lượng code boilerplate. Các thành phần này kết hợp tạo nên một backend vững chắc và dễ bảo trì cho hệ thống thương mại điện tử.
2.2. Microservices Architecture và RESTful APIs
Kiến trúc Microservices chia hệ thống thành các dịch vụ nhỏ độc lập, mỗi cái quản lý một phần cụ thể như quản lý sản phẩm, đơn hàng hay thanh toán. RESTful APIs cho phép các service giao tiếp với nhau một cách tiêu chuẩn. Cách tiếp cận này giúp cải thiện hiệu suất, tính linh hoạt và khả năng bảo trì của toàn bộ hệ thống, cho phép mở rộng quy mô mà không cần tái cấu trúc toàn bộ ứng dụng.
III. Chức năng và tính năng của hệ thống
Hệ thống website bán hàng trực tuyến được thiết kế với một bộ tính năng toàn diện phục vụ cả khách hàng và quản trị viên. Phía khách hàng, hệ thống cung cấp chức năng đăng nhập và đăng ký tài khoản, xem danh sách sản phẩm, tìm kiếm và lọc sản phẩm, thêm vào giỏ hàng, thanh toán online và theo dõi đơn hàng. Ngoài ra còn có các tính năng nâng cao như so sánh giá sản phẩm với các website khác, đặt mức giá mong muốn để nhận thông báo khi giá giảm, và nhận thông báo qua email khi có sản phẩm yêu thích được cập nhật. Phía quản trị viên, hệ thống hỗ trợ quản lý sản phẩm và danh mục, quản lý người dùng, quản lý quyền hạn, quản lý hóa đơn và xem báo cáo thống kê doanh thu chi tiết.
3.1. Tính năng dành cho khách hàng
Khách hàng có thể tạo tài khoản cá nhân với các thông tin bảo mật cao, duyệt qua hàng ngàn sản phẩm được phân loại rõ ràng, sử dụng công cụ tìm kiếm và lọc nâng cao để tìm đúng sản phẩm cần. Tính năng giỏ hàng thông minh cho phép cập nhật số lượng dễ dàng. Thanh toán an toàn với nhiều phương thức, theo dõi trạng thái đơn hàng real-time, và nhận thông báo email về tình trạng giao hàng.
3.2. Tính năng dành cho quản trị viên
Dashboard quản lý hiển thị thống kê doanh thu, số đơn hàng và các chỉ số kinh doanh quan trọng. Quản trị viên có thể thêm, sửa, xóa sản phẩm, quản lý danh mục và kho hàng. Tính năng quản lý người dùng cho phép xem danh sách khách hàng, quản lý quyền hạn của từng người dùng. Quản lý hóa đơn giúp xem chi tiết tất cả giao dịch và lịch sử bán hàng của hệ thống.
IV. Quy trình phát triển và kế hoạch thực hiện
Quy trình phát triển hệ thống được chia thành nhiều giai đoạn rõ ràng, bắt đầu từ tháng 3 năm 2019 đến tháng 6 năm 2019. Đầu tiên là giai đoạn thiết kế và chuẩn bị, nơi nhóm tìm hiểu kiến trúc Microservices và xây dựng cấu trúc cơ sở project. Tiếp theo là giai đoạn thiết kế cơ sở dữ liệu, đảm bảo dữ liệu được tổ chức hợp lý và hiệu quả truy vấn. Giai đoạn phát triển backend bao gồm xây dựng models, repositories và services sử dụng Spring Boot. Giai đoạn phát triển frontend tập trung vào thiết kế giao diện người dùng đẹp mắt và responsive với Angular. Cuối cùng là giai đoạn kiểm thử, sửa lỗi và hoàn thiện, đảm bảo hệ thống ổn định và sẵn sàng cho production.
4.1. Các giai đoạn phát triển chính
Giai đoạn 1 (tháng 3): Xây dựng cấu trúc backend với Spring Boot, PostgreSQL và cấu trúc frontend với Angular.JS. Giai đoạn 2 (giữa tháng 3): Thiết kế cơ sở dữ liệu chi tiết. Giai đoạn 3 (cuối tháng 3): Xây dựng models, repositories, services. Giai đoạn 4 (tháng 4 đầu): Thiết kế giao diện khách hàng và dashboard quản trị. Các giai đoạn này tuần tự thực hiện, đảm bảo mỗi phần được hoàn thành kỹ lưỡng trước khi tiến tới bước tiếp theo.
4.2. Kế hoạch chi tiết tính năng và hoàn thiện
Từ tháng 4 đến tháng 5, nhóm triển khai các tính năng cụ thể như đăng nhập, đăng ký, giỏ hàng, thanh toán. Tháng 5 tập trung vào các tính năng nâng cao như gửi email thông báo và tạo multiple instances cho modules. Tháng 6 là giai đoạn cuối, dành cho kiểm thử toàn diện, fix bugs và tối ưu hiệu suất hệ thống, chuẩn bị bản phát hành cuối cùng.