Ứng Dụng React Native, React và Spring Boot Trong Xây Dựng Phần Mềm Quản Lý Bán Hàng

Khóa luận trình bày ứng dụng React Native, React và Spring Boot trong kiến trúc microservices để phát triển phần mềm quản lý bán hàng cho nhà hàng.

Trường đại học

Trường Đại Học Nông Lâm

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn cử nhân

2023

160
4
0

Phí lưu trữ

45 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Đặt vấn đề

2. CHƯƠNG 2: TỔNG QUAN CÔNG NGHỆ

2.1. Tổng quan về Microservices

2.2. Giới thiệu về Microservices. Những đặc trưng của Microservices

2.3. So sánh kiến trúc Microservices và kiến trúc nguyên khối (Monolithic)

2.4. Những khó khăn khi triển khai Microservices

2.5. Kết luận về Microservices

2.6. Giới thiệu về Spring Framework. Kiến trúc tổng quan của Spring Framework

2.7. Một số thành phần khác của Spring Framework

2.8. Những tính năng nổi bật khi sử dụng Spring Framework

2.9. Những khó khăn khi tiếp cận Spring Framework

2.10. Kết luận về Spring Framework

2.11. Giới thiệu về React Framework

2.12. Redux Saga — thư viện quản lý tác vụ bất đồng bộ trong React JS và React Native

2.13. Kết luận về React Framework

2.14. Các đặc điểm quan trọng của GraphQL. So sánh giữa GraphQL và REST. Khó khăn ban đầu khi làm việc với GraphQL

2.15. Kết luận về GraphQL

2.16. Tổng quan về Docker

2.17. So sánh Docker và Virtual Machine

2.18. Đặc điểm khiến Docker tương thích với Microservices

2.19. Giới thiệu về Hexagonal Architecture

2.20. Những vấn đề của kiến trúc Three-Layer truyền thống

2.21. Những thành phần trong Hexagonal Architecture

2.22. Các nguyên tắc quan trọng trong kiến trúc Hexagonal

2.23. Các công nghệ liên quan khác

2.24. Kafka - Distributed event streaming

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Bài toán và yêu cầu

3.2. Ứng dụng đặt món, đặt bàn cho người dùng. Ứng dụng quản lý bán hàng cho quản lý hệ thống và nhân viên

3.3. Sơ đồ tổng quan Use Case

3.4. Sơ đồ chi tiết Use Case

3.5. Áp dụng Hexagonal trong các dịch vụ của hệ thống

3.6. Dịch vụ sản phẩm

3.7. Dịch vụ người dùng

3.8. Dịch vụ đặt món, đặt bàn

4. CHƯƠNG 4: KIẾN TRÚC TỔNG THỂ CỦA HỆ THỐNG

4.1. Kiến trúc phần mềm

4.2. Tổng quan kiến trúc phần mềm

4.3. Mỗi dịch vụ lưu trữ dữ liệu ở một database riêng biệt

4.4. Sử dụng Eureka Server định danh cho các dịch vụ

4.5. Sử dụng Config Server quản lý cấu hình các dịch vụ

4.6. Bảo mật và ủy quyền tới các dịch vụ trong hệ thống

4.7. Chi tiết các dịch vụ trên máy chủ

4.8. Chi tiết máy chủ Keycloak và các tương tác liên quan

4.9. Chi tiết máy chủ Config-Server

5. CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC

5.1. Những điểm mạnh của đề tài

5.2. Những hạn chế của đề tài

5.3. Khó khăn và thách thức

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về phần mềm quản lý bán hàng bằng React Native và Spring Boot

Phần mềm quản lý bán hàng ngày nay đóng vai trò quan trọng trong việc tối ưu hóa quy trình kinh doanh. Việc ứng dụng các công nghệ như React Native, ReactSpring Boot giúp xây dựng hệ thống hiệu quả, dễ dàng mở rộng và bảo trì. Kiến trúc Microservices cho phép các dịch vụ hoạt động độc lập, từ đó nâng cao khả năng phục vụ và giảm thiểu thời gian phản hồi. Sự kết hợp này không chỉ giúp cải thiện trải nghiệm người dùng mà còn tối ưu hóa chi phí vận hành.

1.1. Lợi ích của việc sử dụng React Native trong phát triển ứng dụng

React Native cho phép phát triển ứng dụng di động với hiệu suất gần như ứng dụng gốc. Điều này giúp tiết kiệm thời gian và chi phí phát triển, đồng thời mang lại trải nghiệm người dùng mượt mà. Hơn nữa, việc sử dụng một mã nguồn chung cho cả iOS và Android giúp giảm thiểu công sức bảo trì.

1.2. Tại sao chọn Spring Boot cho backend

Spring Boot cung cấp một nền tảng mạnh mẽ cho việc phát triển ứng dụng backend. Với khả năng tích hợp dễ dàng và hỗ trợ cho API RESTful, Spring Boot giúp xây dựng các dịch vụ web nhanh chóng và hiệu quả. Điều này rất quan trọng trong việc phát triển phần mềm quản lý bán hàng, nơi mà tốc độ và hiệu suất là yếu tố quyết định.

II. Những thách thức trong việc xây dựng phần mềm quản lý bán hàng

Mặc dù có nhiều lợi ích, việc xây dựng phần mềm quản lý bán hàng cũng gặp phải nhiều thách thức. Các vấn đề như tích hợp API, quản lý kho hàng và bảo mật thông tin khách hàng cần được giải quyết triệt để. Việc không xử lý tốt những vấn đề này có thể dẫn đến sự cố trong hoạt động kinh doanh và ảnh hưởng đến trải nghiệm của khách hàng.

2.1. Vấn đề tích hợp API trong hệ thống

Tích hợp API là một trong những thách thức lớn nhất khi xây dựng phần mềm quản lý bán hàng. Việc đảm bảo các dịch vụ có thể giao tiếp với nhau một cách hiệu quả là rất quan trọng. Nếu không, dữ liệu có thể bị mất hoặc không chính xác, ảnh hưởng đến quyết định kinh doanh.

2.2. Quản lý kho hàng hiệu quả

Quản lý kho hàng là một phần quan trọng trong phần mềm quản lý bán hàng. Việc theo dõi hàng tồn kho, đặt hàng và xử lý đơn hàng cần được thực hiện một cách chính xác để tránh tình trạng thiếu hàng hoặc thừa hàng. Sử dụng công nghệ hiện đại giúp tối ưu hóa quy trình này.

III. Phương pháp xây dựng phần mềm quản lý bán hàng hiệu quả

Để xây dựng phần mềm quản lý bán hàng hiệu quả, cần áp dụng các phương pháp phát triển phần mềm hiện đại. Việc sử dụng Microservices giúp chia nhỏ ứng dụng thành các dịch vụ độc lập, từ đó dễ dàng quản lý và bảo trì. Hơn nữa, việc áp dụng các phương pháp Agile trong phát triển phần mềm giúp tăng cường khả năng phản hồi và cải tiến liên tục.

3.1. Ứng dụng kiến trúc Microservices

Kiến trúc Microservices cho phép phát triển các dịch vụ độc lập, giúp dễ dàng mở rộng và bảo trì. Mỗi dịch vụ có thể được phát triển và triển khai riêng biệt, từ đó giảm thiểu rủi ro và tăng cường khả năng phục vụ.

3.2. Phát triển theo phương pháp Agile

Phương pháp Agile giúp tăng cường khả năng phản hồi và cải tiến liên tục trong quá trình phát triển phần mềm. Việc thường xuyên nhận phản hồi từ người dùng giúp điều chỉnh và tối ưu hóa sản phẩm một cách nhanh chóng.

IV. Ứng dụng thực tiễn của phần mềm quản lý bán hàng

Phần mềm quản lý bán hàng không chỉ giúp tối ưu hóa quy trình kinh doanh mà còn cung cấp các báo cáo phân tích dữ liệu quan trọng. Những báo cáo này giúp chủ cửa hàng đưa ra quyết định kinh doanh chính xác hơn. Việc sử dụng công nghệ hiện đại trong quản lý bán hàng giúp tăng cường hiệu quả và giảm thiểu chi phí.

4.1. Tạo báo cáo phân tích dữ liệu

Báo cáo phân tích dữ liệu giúp chủ cửa hàng nắm bắt được tình hình kinh doanh một cách rõ ràng. Việc này không chỉ giúp theo dõi doanh thu mà còn phân tích xu hướng tiêu dùng của khách hàng.

4.2. Tăng cường trải nghiệm người dùng

Phần mềm quản lý bán hàng giúp cải thiện trải nghiệm người dùng thông qua giao diện thân thiện và dễ sử dụng. Điều này không chỉ thu hút khách hàng mà còn giữ chân họ quay lại với cửa hàng.

V. Kết luận và tương lai của phần mềm quản lý bán hàng

Phần mềm quản lý bán hàng bằng React Native, ReactSpring Boot đang trở thành xu hướng trong ngành công nghệ thông tin. Với sự phát triển không ngừng của công nghệ, tương lai của phần mềm quản lý bán hàng hứa hẹn sẽ mang lại nhiều cải tiến và tiện ích hơn nữa cho người dùng. Việc áp dụng công nghệ mới sẽ giúp các doanh nghiệp tối ưu hóa quy trình và nâng cao hiệu quả kinh doanh.

5.1. Xu hướng phát triển công nghệ trong quản lý bán hàng

Công nghệ sẽ tiếp tục phát triển và mang lại nhiều giải pháp mới cho việc quản lý bán hàng. Việc áp dụng trí tuệ nhân tạo và học máy sẽ giúp tối ưu hóa quy trình và nâng cao trải nghiệm người dùng.

5.2. Tương lai của phần mềm quản lý bán hàng

Phần mềm quản lý bán hàng sẽ ngày càng trở nên thông minh hơn với khả năng phân tích dữ liệu và dự đoán xu hướng tiêu dùng. Điều này sẽ giúp các doanh nghiệp đưa ra quyết định kinh doanh chính xác và kịp thời.

10/07/2025
Khóa luận tốt nghiệp công nghệ thông tin ứng dụng các công nghệ react native react và spring boot trong kiến trúc microservices để xây dựng phần mềm quản lý bán hàng cho nhà hàng và dịch vụ đồ uống

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

Đặt vấn đề Trong thời đại mà khoa học công nghệ phát triển mạnh mẽ như hiện nay, Việt Nam đã có những bước tiễn hội nhập vào dòng chảy của khoa học và công nghệ tiên tiến trên thé giới. Một trong những lĩnh vực quan trọng và phát triển mạnh mẽ là công nghệ thông tin, đóng vai trò quan trọng trong các ngành khoa học công nghệ và ảnh hưởng đến tất cả các khía cạnh trong đời sông xã hội cũng như các công tác tổ chức quản lý. Trong lĩnh vực quản lý, công nghệ thông tin đã được ứng dụng rộng rãi và góp phần tạo nên sự khoa học, chính xác và hiệu quả trong công việc của các nhà quản lý. Các công ty, tổ chức và cơ quan đều muốn áp dụng công nghệ thông tin vào hoạt động của minh dé nâng cao hiệu qua và tăng cường quản lý.

Với sự phat triển của các công ty trong các lĩnh vực sản xuất, kinh đoanh và dịch vụ, quy mô của chúng ngày càng lớn. Quá trình sản xuất và bán hàng diễn ra qua nhiều khâu và công đoạn khác nhau. Số lượng hàng hóa sản xuất và khách hàng sử dụng ngày càng tăng lên. Điều này khiến cho công tác quản lý phức tạp hơn.

Do đó, việc áp dụng công nghệ thông tin trong công việc quản lý trở thành một nhu cầu thiết yếu và quan trọng đối với các công ty. Một trong những thách thức trong quản lý là việc lưu trữ và tra cứu thông tin hóa đơn. Khi có nhiều cơ sở và hàng ngày phải viết nhiều hóa đơn, việc lưu trữ và tìm kiếm các hóa đơn này có thé tốn nhiều thời gian và đôi khi gặp khó khăn. Thống kê và báo cáo hàng tháng hoặc hàng năm cũng trở nên khó khăn khi số lượng hóa đơn bán hàng ngày càng tăng.

Việc lặp đi lặp lại quá nhiều lần gây khó khăn cho người quản lý trong việc lưu trữ và quản lý thông tin. Do đó, công tác quản lý bán hàng đóng vai trò quan trọng trong mọi cửa hàng. Để nâng cao hiệu quả, cần phát triển và hoàn thiện quản lý bán hàng dé đáp ứng với thực tế của từng cửa hàng. Hiện nay, có nhiều hệ thống quản lý bán hàng tiêu biêu như KiotViet, PopApp,.

Tuy nhiên, những hệ thống này thường đòi hỏi sự kết hợp với các thiết bị đặc biệt và chi phi lắp đặt, bảo trì cao. Với mục tiêu giảm thiểu chỉ phí, tăng hiệu suất hoạt động, dễ dàng bảo trì và dễ dàng mở rộng chúng em muôn xây dựng một phân mêm quản lý bán hàng với chức năng vận hành và quản lý toàn bộ quy trình hoạt động của cửa hàng trên chính thiết bị điện thoại di động và máy tính cá nhân. Phần mềm giúp cửa hàng thu thập dữ liệu bán hàng một cách tự động, liên tục từ việc quản lý hàng hóa, quản lý khách hàng đến việc quản lý doanh thu và lợi nhuận. Từ đó cửa hàng tiết kiệm được thời gian và công sức, tăng cường độ chính xác, giảm thiểu sai sót.

Người chủ cửa hàng sẽ có cái nhìn rõ ràng về hiệu suất kinh doanh, xu hướng tiêu dùng, và các chỉ số quan trọng khác, giúp đưa ra những quyết định kinh doanh thông minh, tối ưu hóa chiến lược và định hướng phát triển tiếp theo. Chúng em tin rằng việc áp dụng công nghệ thông tin vào quản lý bán hàng là một bước cần thiết dé cải thiện hiệu suất và thành công của cửa hang trong thị trường cạnh tranh ngày này, đó cũng là lý do nhóm em quyết định chọn đề tài “Ứng dụng các công nghệ React Native, React va Spring Boot trong kiến trúc Microservices dé xây dựng phần mềm quan lý ban hàng cho nha hàng và dich vụ đồ uống" cho khóa luận của nhóm. Mục tiêu Nghiên cứu nắm vững quy trình bán hàng, nhập hàng, quản lý thông tin. Nghiên cứu các công cụ, nền tang lập trình được sử dụng dé xây dựng hệ thống như là React Native, React, Spring Boot và kiến trúc Microservices.

Xây dung phần mềm quan ly bán hàng trên các nền tang mobile, tablet và website, quản lý được hầu hết các thông tin và xử lý các quy trình nghiệp vụ trong quy trình quản lý bán hàng như là quản lý thông tin sản phẩm, quản lý khách hàng, xử lý đặt bàn, đặt món, đặt đồ uống, xuất ra các thống kê, báo cáo dưới dang số liệu tổng hợp, đồ thị trực quan nhằm giúp chủ cửa hàng có thể nắm bắt được tình hình kinh doanh và đứa ra các quyết định đúng đắn nhất. Đối tượng nghiên cứu Cơ chế, cách thức hoạt động của các nghiệp vụ bán hàng, nhập hàng, quản lý thông tin của các cửa hàng đồ ăn và dịch vụ đồ uống. Tìm hiểu về các công nghệ phía Back-End, bao gồm ngôn ngữ lập trình Java, Spring Boot, Spring Security, Spring Cloud, MySQL, kiến trúc Microservices. Tìm hiểu về các công nghệ phía Front-End, bao gồm HTML, CSS, JavaScript, TypeScript, React, React Native, Redux Saga.

Tìm hiểu một số công nghệ phụ trợ khác để việc lập trình, quản lý code, quản lý hệ 2 thong trở nên dé dàng va thuận tiện hơn, bao gồm Docker, Docker compose, Gradle, Keycloak, Zipkin, Prometheus, Grafana. Pham vi nghiên cứu Tập chung nghiên cứu và xây dựng hệ thống quản lý bán hàng cho doanh nghiệp kinh doanh dịch vụ nhà hàng và đồ uống, không thực hiện cho các ngành khác. Thời gian nghiên cứu: 30/01/2023 - 08/09/2023 CHƯƠNG 2 TỎNG QUAN CÔNG NGHỆ 2. Tổng quan về Microservices 2.

Giới thiệu về Microservices Microservice là một kỹ thuật phát triển phần mềm, là một biến thể của kiến trúc hướng dịch vụ (SOA - xuất hiện trong những năm 1990). SOA tập trung vào việc chia ứng dụng thành các dịch vụ nhỏ và độc lập, nhằm tạo sự linh hoạt và tái sử dụng trong phát triển phần mềm. Tuy nhiên, SOA thường gặp khó khăn trong việc triển khai thực tế do sự phức tạp của các dịch vụ lớn và sự phụ thuộc mạnh mẽ giữa các dịch vụ. Bắt đầu vào khoảng giữa những năm 2000, một số công ty công nghệ lớn như Amazon, Netflix và Twitter đã bắt đầu áp dụng kiến trúc microservice để tăng cường tính mở rộng, khả năng module và triển khai liên tục trong hệ thong của ho.

Việc triển khai thành công của những công ty này đã thu hút sự quan tâm và lan rộng kiến trúc microservice sang các lĩnh vực phát triển phần mềm khác. Đến những năm 2010, kiến trúc microservice đã trở nên phổ biến và trở thành một trong những phong cách kiến trúc phô biến trong công nghiệp phát triển phan mềm. Các công ty và tổ chức phát trién phần mềm khắp thé giới đã bắt đầu chuyền từ kiến trúc monolithic truyền thống sang kiến trúc microservice đề tận dụng các lợi ích vượt trội của kiến trúc này trong việc xây dựng các ứng dụng phức tap và linh hoạt. Cho đến hiện nay, kiến trúc microservice tiếp tục phát triển và tiến xa hơn trong việc tạo ra các hệ thống phần mềm phức tạp, đáp ứng nhanh chóng và hiệu quả yêu cầu của thị trường và người đùng.

Trong kiến trúc microservices, các logic ứng dụng được phân chia thành các phần riêng biệt, được gọi là các microservices. Thay vì phải hiện thực tat cả các logic ứng dụng trong một ứng dụng nguyên khối (monolithic application), mỗi microservice độc lập triển khai một phần cụ thể của ứng dụng hoặc một khả năng kinh doanh. Các microservices có thê được viết bằng nhiều ngôn ngữ lập trình và được triển khai và mở rộng độc lập với nhau. Mỗi microservice hoạt động như một ứng dụng con độc lập, có khả năng giao tiếp với các microservices khác thông qua các giao thức giao tiếp nhẹ nhàng như HTTP, RPC hoặc các hang đợi tin nhắn.

Việc phân chia ứng dụng thành các microservices độc lập giúp cải thiện tính module và tách biệt các chức năng, ø1úp ứng dụng dễ hiéu, phát triển, kiểm thử và duy trì. Storefront WebApp (Nguồn: https://microservices.io/i/Microservice Architecture. Những đặc trưng của Microservices Phân chia thành các dịch vụ độc lập (Decoupling): Kiến trúc Microservices chia ứng dụng thành các dịch vụ nhỏ hơn và độc lập nhau, mỗi dịch vụ triển khai một phần cụ thể của ứng dụng hoặc một phần riêng biệt trong lĩnh vực kinh doanh. Tach biệt các chức năng: Mỗi microservices thực hiện một chức năng cụ thể, đảm bao tính tách biệt giữa các chức năng và giúp dé dang quản ly và phát triển từng phần riêng biệt Giao tiếp thông qua các giao thức có tính loose coupling cao: Các microservices giao tiếp thông qua các giao thức như HTTP, gRPC, hoặc các hàng đợi tin nhắn (Message Queue) giúp giảm sự phụ thuộc và tăng tính linh hoạt giữa các thành phần.

Khả năng mở rộng dễ dàng: Các microservices có thể mở rộng một cách độc lập, cho phép tăng cường hiệu suất và đáp ứng điều kiện tải cao cho các dịch vụ riêng biệt mà không ảnh hưởng đến toàn bộ hệ thống Quản lý và duy trì dễ dàng: Việc chia ra làm các dịch vụ riêng biệt giúp microservices trở nên dé dang quản lý và bảo trì hơn. Nếu cần thay đổi hoặc cập nhật một tính năng cụ thể, chỉ cần tập trung vào dịch vụ liên quan mà không cần ảnh hưởng đến các dịch vụ khác. Viết bằng nhiều ngôn ngữ lập trình và các công nghệ khác nhau: Các dịch vụ microservices có thé được viết bằng nhiều ngôn ngữ lập trình và sử dụng các công nghệ khác nhau, giúp cho việc lựa chọn công nghệ phù hợp nhất cho từng dịch vụ, tối ưu hóa hiệu suất và linh hoạt trong việc phát triển. Ngoài ra, các dịch vụ của microservices còn cho phép tích hợp các dịch vụ và hệ thống từ các nhà cung cấp bên thứ ba một cách dễ dàng, giúp mở rộng tính năng của ứng dụng mà không ảnh hưởng đến các dịch vụ khác.

Tương thích với mô hình phát triển phần mềm Agile: Microservices cho phép đội ngũ phát triển phần mềm chia ra làm các nhóm nhỏ phát triển và triển khai các dịch vụ của họ một cách độc lập, giúp tăng tốc độ phát triển và giảm thời gian đưa sản phẩm ra thị trường. Phân phối và triển khai liên tục (CI CD - Continuous Integration và Continuous Delivery): Kiến trúc microservices hỗ trợ việc triển khai các dich vụ độc lập với nhau, cho phép các nhóm phát triển có thê phân phối và triển khai các phiên bản mới một cách độc lập và đồng thời. So sánh kiến trúc Microservices và kiến trúc nguyên khối (Monolithic) MONOLITHIC MICROSERVICE ARCHITECTURE ARCHITECTURE User Business Logic _,Data Access Layer Micro- Micro- Micro- Micro- service service service service ©® @ @ ©® @® ©® @ © ọ @ @ ©® © © © Data Base Data Base Data Base Data Base Data Base Hinh 2.2: So sanh gitta Monolithic va Microservices (Nguon: https:/www.com/hs- fs/hubfs/Picturel.webp?width=889 &height=478 &name=Picturel.

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

Tài liệu "Xây Dựng Phần Mềm Quản Lý Bán Hàng Bằng React Native, React và Spring Boot" cung cấp cái nhìn tổng quan về quy trình phát triển một ứng dụng quản lý bán hàng hiệu quả, sử dụng các công nghệ hiện đại như React Native cho ứng dụng di động và Spring Boot cho backend. Tài liệu này không chỉ hướng dẫn chi tiết từng bước trong việc xây dựng ứng dụng mà còn nhấn mạnh những lợi ích mà nó mang lại cho người dùng, như khả năng quản lý đơn hàng, theo dõi doanh thu và tối ưu hóa quy trình bán hàng.

Để mở rộng kiến thức của bạn về các ứng dụng di động và công nghệ liên quan, bạn có thể tham khảo thêm tài liệu Đồ án hcmute xây dựng app khám bệnh online với react native và nodejs, nơi bạn sẽ tìm thấy cách áp dụng React Native trong lĩnh vực y tế. Ngoài ra, tài liệu Đồ án chuyên ngành xây dựng ứng dụng di động bán hoa dflower cho cửa hàng ld ở bình dương cũng sẽ cung cấp cho bạn những hiểu biết về việc phát triển ứng dụng thương mại điện tử. Cuối cùng, bạn có thể khám phá tài liệu Luận văn tốt nghiệp xây dựng ứng dụng chat trong android với firebase để tìm hiểu thêm về việc tích hợp các tính năng giao tiếp trong ứng dụng di động.

Những tài liệu này sẽ giúp bạn có cái nhìn sâu sắc hơn về các ứng dụng di động và công nghệ phát triển phần mềm hiện đại.