Đồ án tốt nghiệp: Xây dựng hệ thống website bán hàng trực tuyến - ĐH SPKT TPHCM

Tải đồ án tốt nghiệp xây dựng hệ thống website bán hàng trực tuyến. Báo cáo chi tiết các công nghệ, quy trình phân tích và thiết kế hệ thống.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2015 - 2019

148
1
0

Phí lưu trữ

35 Point

Tóm tắt

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)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ế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ắcdễ 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ạtkhả 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 onlinetheo 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 đơnxem 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ụckho 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ịchlị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 Microservicesxâ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ý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ắtresponsive 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 địnhsẵ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, PostgreSQLcấ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áotạ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 bugstối ưu hiệu suất hệ thống, chuẩn bị bản phát hành cuối cùng.

28/12/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI: Hiện nay lượng người sử dụng Internet là rất lớn, hầu hết mọi người đều tiếp cận Internet qua các trang web vì vậy Website hiện nay là một nhu cầu thiết yếu để tìm kiếm thông tin học hỏi kiến thức. Không những vậy Website còn hổ trợ rất nhiều cho các hoạt động kinh tế của các doanh nghiệp lớn nhỏ như quảng bá, trưng bày sản phẩm, đưa sản phẩm đến gần với khách hàng và tạo sự thuận lợi cho việc tìm kiếm và mua hàng đối với người tiêu dùng. Nếu cửa hàng, trụ sở làm việc, văn phòng là bộ mặt của doanh nghiệp ở bên ngoài thì Website lại chính là “ cửa hàng ảo”, là bộ mặt của doanh nghiệp trên Internet.

Những gì khách hàng biết về bạn và tiếp xúc với công ty của bạn, tất cả đều qua Website. Qua Website chắc chắn khách hàng cũng sẽ có những nhận xét riêng về công ty đó. Một Website được thiết kế ấn tượng, thu hút, chất lượng chứng tỏ doanh nghiệp cũng rất chuyên nghiệp. Theo báo cáo mới đây, Việt Nam có hơn 34 triệu người dùng Internet trên tổng số 90 triệu dân.

Con số này cao hơn các nước phát triển hơn như là Trung Quốc, Hồng Kông, Nhật Bản, … Nếu như trước đây công ty, doanh nghiệp của bạn chỉ bán hàng cho khách hàng tới mua trực tiếp tại cửa hàng. Khách hàng ở đây thường là ở trong khu vực gần cửa hàng hoặc trong cùng thành phố. Nếu doanh nghiệp có Website riêng thì bây giờ tập khách hàng của doanh nghiệp đó đã mở rộng ra rất nhiều. Doanh nghiệp có thể phục vụ cho khách hàng cả nước và trên toàn thế giới nếu như bạn đủ khả năng.

Trước khi mua sản phẩm, thông thường khách hàng sẽ lên mạng tìm hiểu thông tin thật đầy đủ và kĩ càng trước, sau đó họ sẽ tới cửa hàng xem xét và ra quyết định mua. Họ sẽ tìm tới bạn nếu như bạn có Website trên mạng. Ngoài ra, để tăng tỉ lệ tiếp cận với khách hàng, bạn nên chú trọng vào Website sẽ thu hút được một lượng khách hàng tiềm năng. Bạn không cần phải đi tìm họ, chính họ sẽ tìm đến bạn và sử dụng dịch vụ của bạn.

Nếu như kinh doanh offline nhân viên chỉ có thể làm việc và phục vụ khách hàng trong 8 tiếng làm việc. Nhưng khi có website bạn có thể phục vụ khách hàng của mình 24/24 và không kể các ngày nghỉ lễ. Với các công cụ, chức năng tự động, khách hàng sẽ được phục vụ và có thể click đặt hàng bất kì lúc nào họ 1 muốn. Để có một cửa hàng được mở ra và phục vụ tốt cho khách hàng chắc chắn chúng ta sẽ mất nhiều khoản chi phí đầu tư cả về người và về của (VD: nhân viên bán hàng, nhân viên bảo vệ, bàn ghế, tủ đồ trang trí, v.v ) Nhưng khi bạn đã có một Website bạn chỉ cần đầu tư cho nó thật tốt là đủ.

Và chắc chắn điều này sẽ tiết kiệm hơn rất nhiều cho bạn. Bạn có thể tận dụng Website để chăm sóc khách hàng sau khi bán hàng, khảo sát ý kiến khách hàng về sản phẩm, dịch vụ của mình. Từ công việc chăm sóc đơn giản này bạn có thể cung cấp cho khách hàng những sản phẩm, dịch vụ tốt hơn từ nhu cầu của khách hàng và duy trì quan hệ thân thiết với khách hàng tiềm năng của mình. Website đóng một vai trò rất quan trọng trong thời buổi công nghệ thông tin phát triển rực rỡ như ngày nay.

Nếu bạn chưa có Website, bạn nên đầu tư thiết kế và xây dựng Website riêng thật tốt. Vì một Website tốt chắc chắn sẽ đóng góp rất nhiều cho doanh nghiệp. MỤC ĐÍCH CỦA ĐỀ TÀI: Tìm hiểu tài liệu về Spring Microservices, Angular 5, PostgreSQL. Phân tích, thiết kế và xây dựng website bán hàng với một số chức năng cơ bản như sau:  Đăng nhập.

 Đăng ký tài khoản.  Xem danh sách sản phẩm.  Xem chi tiết sản phẩm.  Quản lý danh mục sản phẩm.

 Quản lý sản phẩm.  Quản lý người dùng.  Quản lý quyền hạng.  Quản lý thông tin cá nhân.

CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU: 3. Đối tượng nghiên cứu: Tất cả mọi người sử dụng internet. Phạm vi nghiên cứu: Tìm hiểu hình thức thanh toán mua hàng. Tìm hiểu các công nghệ được sử dụng trong đề tài: Spring Microservices, Angular 5.

Tìm hiểu về UI/UX và cách để người dùng sử dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất khi sử dụng Tìm hiểu và xây dựng website bán hàng phù hợp với mọi đối tượng người dùng. Phướng pháp nghiên cứu: Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng dụng liên quan đến các công nghệ đang tìm hiểu. Phương pháp chuyên gia: Tham khảo ý kiến của Giáo viên hướng dẫn cùng các anh, chị và bạn bè có kinh nghiệm liên quan đến các vấn đề của khóa luận để tạo tính chính xác và khoa học của đề tài. Phương pháp mô hình hóa: Mô phỏng Website từ bước thiết kế cài đặt cho đến kết quả thành phẩm của Website.

PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN: Đa số các Website bán hàng đều trưng bày sản phẩm theo danh mục sản phẩm, khách hàng dễ dàng tìm kiếm sản phẩm, đều có hình thức thanh toán online và đặt hàng. Tuy nhiên một số ứng dụng vẫn có các nhược điểm mà nhóm em đã tổng hợp được:  Một số ứng dụng có giao diện chưa thu hút người dùng  Một số ứng dụng có UI đẹp, nhưng UX hơi tệ  Một số ứng dụng không có phần mô tả giới thiệu về sản phẩm. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC: Xây dựng Website bán hàng đơn giản dể dàng tìm kiếm, xem thông tin sản phẩm và hình thức thanh toán dễ dàng tiện lợi. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN: Đề tài hướng đến khả năng tiếp thu, nâng cao kỹ năng lập trình, nghiên cứu công nghệ mới và trên hết là đáp ứng nhu cầu của của người mua hàng và tính thương mại của doanh nghiệp trên internet.

4 NỘI DUNG CHƯƠNG 1. CÁC CÔNG NGHỆ SỬ DỤNG 1. TỔNG QUAN VỀ SPRING BOOT: 1. Giới thiệu về Spring Framework: 1.

Spring là gì? Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại code… Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên). Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lơn. Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming.

Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web. Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object). Kiến trúc, các module của Spring Framework: 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 đó. 5 Dưới đây là kiến trúc tổng thể của Spring Framework: Hình 1.

1 Kiến trúc tổng thể của Spring Framework. 1 Bảng mô tả các chức năng của các module trong Spring Framework Module Chức năng Test Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG. Spring Core Container Bao gồm các module spring core, beans, context và expression language (EL): - 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ừ Expresion Language trong JSP. Nó 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… 6 AOP, Aspects and Những module này hỗ trợ cài đặt lập trình hướng khía cạnh Instrumentation (Aspect Oriented Programming), hỗ trợ tích hợp với AspectJ. Data Access / Integration Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những module này cung cấp khả năng giao tiếp với database Web Hay 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.

Lợi ích của Spring Framework: Spring cho phép lập trình viên sử dụng POJOs. Việc sử dụng POJOs giúp bạn không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản hơn rất nhiều. Spring được tổ chức theo kiểu mô đun. Số lượng các gói và các lớp khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì chúng ta cần và không cần quan tâm đến phần còn lại.

Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)… Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủ các tính năng giúp thay thế các web framework khác như Struts. Giới thiệu về Spring Boot: 1. Spring Boot là gì? Spring Boot là một dự án phát triển bởi ngôn ngữ Java trong Spring Framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.

Do đó, Spring Boot giúp chúng ta có thể tiết kiệm thời gian phát triển cũng như chạy ứng dụng. Một số tính năng nổi bật của Spring Boot: Đóng gói ứng dụng Spring dưới dạng một file JAR (stand-alone). Chúng ta có thể dễ dàng start ứng dụng Spring chỉ với câu lệnh quen thuộc java -jar. Tối ưu công đoạn cấu hình cho ứng dụng Spring, không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML.

Cung cấp một loạt các tính năng phi chức năng phổ biến cho các dự án lớn như nhúng trực tiếp web server như Tomcat, Jetty,. vào ứng dụng, bảo mật, health check. HIBERNATE: Hibernate là 1 ORM Framework: thực hiện mapping cơ sở dữ liệu quan hệ sang các object trong ngôn ngữ hướng đối tượng. Hibernate là 1 Framework cho persistence layer: Thực hiện giao tiếp giữa tầng ứng dụng với tầng dữ liệu (kết nối, truy xuất, lưu trữ…).

Kiến trúc Hibernate framework: Hình 1. 2 Kiến trúc của Hibernate Framework. GIỚI THIỆU VỀ CẤU TRÚC MICROSERVICES: 1. Giới thiệu về Microservices: Kiến trúc Microservices gồm nhiều dịch vụ nhỏ.

Mỗi dịch vụ nhỏ thực hiện một số các chức năng chuyên biệt như quản lý đơn hàng, quản lý khách hàng… Mỗi dịch vụ là một ứng dụng nhỏ có kiến trúc đa diện lõi là business logic kết nối ra các adapter khác nhau. Một số dịch vụ nhỏ lộ đưa ra API cho dịch vụ nhỏ khác hay client gọi tới.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ