Xây Dựng Website Đặt Chỗ Sự Kiện Sử Dụng ReactJS và Spring Boot

Tài liệu nghiên cứu Building a booking event website applying to reactjs and spring boot, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Software Engineer

Người đăng

Ẩn danh

Thể loại

Graduation Thesis

2023

169
2
0

Phí lưu trữ

45 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

1. CHƯƠNG 1: INTRODUCTION

1.1. The urgency of project

1.2. Research objects

1.3. Research scope

1.4. Project objectives

1.5. Delimitations

1.6. Front-end side

1.6.1. React Definition

1.6.2. How ReactJS works

1.6.3. JSX - JavaScript Syntax Extension

1.6.4. Unidirectional Data Flow and Flux

1.6.5. Virtual DOM

1.6.6. Advantages and Disadvantages when using ReactJS

1.7. Redux Definition

1.7.1. Redux feature

1.7.2. Structure of Redux

1.7.2.1. Actions
1.7.2.2. Reducers
1.7.2.3. Store

1.7.3. Data Flow

1.8. Why do people use React-Query?

PHỤ LỤC

Tóm tắt

I. Tổng quan về Xây Dựng Website Đặt Chỗ Sự Kiện Sử Dụng ReactJS và Spring Boot

Xây dựng website đặt chỗ sự kiện là một trong những xu hướng phát triển mạnh mẽ trong thời đại số. Với sự phát triển của công nghệ, việc tạo ra một nền tảng trực tuyến giúp người dùng dễ dàng tìm kiếm và đặt chỗ cho các sự kiện trở nên cần thiết hơn bao giờ hết. Sử dụng ReactJS cho phần giao diện và Spring Boot cho phần backend, dự án này không chỉ đáp ứng nhu cầu của người dùng mà còn tối ưu hóa hiệu suất và bảo mật cho hệ thống.

1.1. Lợi ích của việc sử dụng ReactJS trong xây dựng website

ReactJS mang lại nhiều lợi ích cho việc phát triển giao diện người dùng. Với khả năng tái sử dụng các thành phần, ReactJS giúp giảm thiểu thời gian phát triển và bảo trì. Hơn nữa, việc sử dụng Virtual DOM giúp cải thiện hiệu suất của website, làm cho trải nghiệm người dùng trở nên mượt mà hơn.

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

Spring Boot là một framework mạnh mẽ cho việc phát triển ứng dụng web. Nó cung cấp các công cụ và thư viện cần thiết để xây dựng API một cách nhanh chóng và hiệu quả. Việc tích hợp JSON Web Token trong Spring Boot cũng giúp bảo mật thông tin người dùng, đảm bảo rằng chỉ những người dùng đã xác thực mới có thể truy cập vào các chức năng của website.

II. Những Thách Thức Khi Xây Dựng Website Đặt Chỗ Sự Kiện

Mặc dù việc xây dựng website đặt chỗ sự kiện mang lại nhiều lợi ích, nhưng cũng không thiếu những thách thức. Các vấn đề như quản lý dữ liệu, bảo mật thông tin và tối ưu hóa hiệu suất là những yếu tố cần được xem xét kỹ lưỡng. Đặc biệt, việc tích hợp các phương thức thanh toán như VNPayPayPal cũng là một thách thức lớn.

2.1. Quản lý dữ liệu và hiệu suất

Quản lý dữ liệu là một trong những thách thức lớn nhất khi xây dựng website. Việc sử dụng MongoDB để lưu trữ dữ liệu giúp giải quyết vấn đề này, nhưng cần phải có các biện pháp tối ưu hóa để đảm bảo hiệu suất của hệ thống không bị ảnh hưởng khi có lượng người dùng lớn.

2.2. Bảo mật thông tin người dùng

Bảo mật thông tin là một yếu tố quan trọng trong bất kỳ ứng dụng web nào. Việc sử dụng JSON Web Token để xác thực người dùng giúp bảo vệ thông tin cá nhân và ngăn chặn các truy cập trái phép vào hệ thống.

III. Phương Pháp Xây Dựng Website Đặt Chỗ Sự Kiện Hiệu Quả

Để xây dựng một website đặt chỗ sự kiện hiệu quả, cần có một quy trình rõ ràng và các công nghệ phù hợp. Việc áp dụng các phương pháp phát triển Agile có thể giúp nhóm phát triển linh hoạt hơn trong việc điều chỉnh và cải tiến sản phẩm. Sử dụng Redux để quản lý trạng thái ứng dụng cũng là một giải pháp tối ưu.

3.1. Quy trình phát triển Agile

Quy trình phát triển Agile cho phép nhóm phát triển làm việc linh hoạt và nhanh chóng. Điều này giúp dễ dàng điều chỉnh các yêu cầu và phản hồi từ người dùng, từ đó cải thiện chất lượng sản phẩm cuối cùng.

3.2. Tích hợp Redux trong quản lý trạng thái

Sử dụng Redux giúp quản lý trạng thái của ứng dụng một cách hiệu quả. Điều này không chỉ giúp giảm thiểu sự phức tạp trong việc truyền dữ liệu giữa các thành phần mà còn giúp dễ dàng theo dõi và kiểm soát các thay đổi trong trạng thái của ứng dụng.

IV. Ứng Dụng Thực Tiễn Của Website Đặt Chỗ Sự Kiện

Website đặt chỗ sự kiện không chỉ là một công cụ hữu ích cho người dùng mà còn mang lại nhiều giá trị cho các tổ chức tổ chức sự kiện. Việc cung cấp thông tin rõ ràng và minh bạch về các sự kiện giúp tăng cường sự tin tưởng của người dùng. Hơn nữa, các tính năng như quản lý đơn hàng và thống kê doanh thu cũng giúp các tổ chức dễ dàng theo dõi và tối ưu hóa hoạt động kinh doanh.

4.1. Tăng cường sự tin tưởng của người dùng

Việc cung cấp thông tin rõ ràng và minh bạch về các sự kiện giúp người dùng cảm thấy an tâm hơn khi đặt chỗ. Điều này không chỉ giúp tăng cường sự tin tưởng mà còn khuyến khích người dùng quay lại sử dụng dịch vụ.

4.2. Quản lý đơn hàng và thống kê doanh thu

Các tính năng quản lý đơn hàng và thống kê doanh thu giúp các tổ chức tổ chức sự kiện dễ dàng theo dõi hoạt động kinh doanh của mình. Điều này không chỉ giúp tối ưu hóa quy trình mà còn giúp đưa ra các quyết định kinh doanh chính xác hơn.

V. Kết Luận và Tương Lai Của Website Đặt Chỗ Sự Kiện

Xây dựng website đặt chỗ sự kiện sử dụng ReactJSSpring Boot không chỉ đáp ứng nhu cầu hiện tại mà còn mở ra nhiều cơ hội trong tương lai. Với sự phát triển không ngừng của công nghệ, việc cải tiến và nâng cấp hệ thống sẽ giúp website luôn đáp ứng được nhu cầu của người dùng.

5.1. Cơ hội phát triển trong tương lai

Với sự gia tăng nhu cầu về các sự kiện trực tuyến, website đặt chỗ sự kiện có tiềm năng phát triển mạnh mẽ trong tương lai. Việc tích hợp các công nghệ mới sẽ giúp cải thiện trải nghiệm người dùng và mở rộng khả năng phục vụ.

5.2. Tầm quan trọng của việc cải tiến công nghệ

Cải tiến công nghệ là yếu tố then chốt để duy trì sự cạnh tranh trong lĩnh vực này. Việc thường xuyên cập nhật và nâng cấp hệ thống sẽ giúp website luôn hoạt động hiệu quả và đáp ứng được nhu cầu của người dùng.

14/07/2025
Building a booking event website applying to reactjs and spring boot

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

MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATION THESIS INFORMATION TECHNOLOGY BUILDING A BOOKING EVENT WEBSITE APPLYING TO REACTJS AND SPRING BOOT ADVISOR : Ph.D LÊ VĂN VINH STUDENTS: NGUYỄN QUỐC LONG CHU NGUYỄN ANH TUẤN SKL010271 Ho Chi Minh City, June 2023 Ministry of Education and Training HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATE THESIS ON BUILDING A BOOKING EVENT WEBSITE APPLYING TO REACTJS AND SPRING BOOT Advisor : Lê Văn Vinh, Ph.D Student name : Nguyễn Quốc Long : 18110150 Chu Nguyễn Anh Tuấn : 19110308 TP. Hồ Chí Minh – 06/2023 HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING SUMMARY OF GRADUATE THESIS Student Name 1: Nguyễn Quốc Long Student ID 1: 18110150 Student Name 2: Chu Nguyễn Anh Tuấn Student ID 2: 19110308 The research was conducted from February 20, 2023, to May 28, 2023. Major: Software Engineer. Topic name: Building a booking event website applying to ReactJS, Spring Boot Name of advisor: PhD.

Lê Văn Vinh MISSION OF GRADUATE THESIS 1. Theory - Research technologies such as ReactJS, Spring Boot, JSON Web Token and Redux. - Research payment methods such as VNPay, Paypal. Practice - Applying Spring Boot to build Back-end aspects.

Implement API for modules of the system. - Applying JSON Web Token to encode data and authentication. - Applying Mongodb to store data - Applying ReactJS to design interface for Front-end aspect. ĐH SƯ PHẠM KỸ THUẬT TP.HCM SOCIALIST REPUBLIC OF VIETNAM KHOA ĐÀO TẠO CLC Independence - Freedom - Happiness ****** ****** COMMENTARY OF INSTRUCTOR Student Name 1: Nguyễn Quốc Long Student ID 1: 18110150 Student Name 2: Chu Nguyễn Anh Tuấn Student ID 2: 19110308 Major: Software Engineer.

Topic name: Building a booking event website applying to ReactJS, Spring Boot Name of instructor: PhD. Lê Văn Vinh COMMENTARY 1. Content of Topic and workload done. Recommend for upholding a thesis or not ?.

Hồ Chí Minh, ngày tháng năm 2023 INSTRUCTOR (Name and signature) ĐH SƯ PHẠM KỸ THUẬT TP.HCM SOCIALIST REPUBLIC OF VIETNAM KHOA ĐÀO TẠO CLC Independence - Freedom - Happiness ****** ****** COMMENTARY OF CRITICAL LECTURER Student Name 1: Nguyễn Quốc Long Student ID 1: 18110150 Student Name 2: Chu Nguyễn Anh Tuấn Student ID 2: 19110308 Major: Software Engineer. Topic name: Building a booking event website applying to ReactJS, Spring Boot Name of Critical lecturer: Lê Thị Minh Châu COMMENTARY 1. Content of Topic and workload done. Recommend for upholding a thesis or not ?.

Hồ Chí Minh, ngày tháng năm 2023 CRITICAL LECTURER (Name and signature) ACKNOWLEDGEMENT First of all, We would like to send our sincere thanks to the Faculty of High-Quality Training - Ho Chi Minh City University of Technology and Education for creating conditions for our group to cultivate and develop a solid knowledge understanding to carry out this topic. On top of that, we would like to thank Mr. Le Van Vinh for the most sincere appreciation. He dedicated to enthusiastically instructing and giving valuable suggestions to our group throughout the process from the beginning to the end of this thesis.

Thanks to a solid foundation of specialized knowledge in addition to practical experiences and requirements in the hands-on projects through studying at school and doing internships in companies. The collective of teachers of the Faculty of CLC Training and especially Mr. Le Van Vinh have brought us a huge amount of knowledge and experience in the technical field and future work. Especially, this helped and motivated us to complete the thesis.

This will absolutely be a huge benefit for us for technical expertise. On the one hand, due to the time limit, we did our utmost to finish on time and complete with targets which are as much as possible with our knowledge. However, mistakes are inevitable. We hope to receive your enthusiastic comments in order to ameliorate our project better, learn experience and improve our products in the best way possible.

We sincerely thank you! Nhóm thực hiện Nguyễn Quốc Long – 18110150 Chu Nguyễn Anh Tuấn - 19110308 1 Graduate Thesis TABLE OF CONTENT LIST OF FIGURES .6 LIST OF TABLES. The urgency of project. Front-end side. Other supporting Front-end libraries .2 Back-end side .2 JSON Web Token.

CHAPTER 2: SURVEY AND USER REQUIREMENTS .1 Use case diagram .2 Use Case Specification .60 CHAPTER 3: SYSTEM DESIGN .2 Login with google account .4 Search Event by filter .5 View detailed event .7 Register for organizer.9 View Order History .15 Add favourite event .16 Delete a favourite event .17 Delete all favourite events .18 View favourite event list .19 View Customer Account.20 Update Organizer Profile .22 View Customer list by order .23 View Customer list by Account .26 View created event .28 View Organizer Account .29 Refuse pending form.30 Approve Pending form .31 View all feedback .35 Export orders to Excel.36 Export events to Excel .37 Export accounts to Excel .38 View Statistics for organizer .39 View Statistics for admin. User Interface design. User Interface for Guest. User Interface for Customer.

User Interface for Organizer. User Interface for Admin .148 4 Graduate Thesis CHAPTER 4: IMPLEMENTATION AND TESTING .162 5 Graduate Thesis LIST OF FIGURES Figure 1-1. Undirectional Data Flow [1]. previousState and newState.

Data Flow of Redux [3]. useQuery of React-Query. useMutation of React-Query. Features of Spring Boot [11].

Header of JWT [7]. Payload of JWT [7]. Structure of JWT [7]. JSON Web Token [7].

Client-side Use Case. Administration-side Use Case. Login with Google account. Search event by filter.

View detailed event. Register for organizer. View order history. Add favorite event.

Delete a favourite event. Delete all favorite events. View favourite event list. View Customer Account.

Update Organizer Profile. View Customer list by order .96 6 Graduate Thesis Figure 3-25. View Customer list by Account. View created event.

View organizer account. Refuse pending form. Approve Pending form. View all feedback.

Export orders to Excel. Export events to Excel. Export accounts to Excel. View Statistics for organizer.

View Statistics for admin. New password page. Event List Page. Event Detail Page.

Organization Profile Page. Event Review Page. Change password page. Ticket List of Customer.

Customer Order Page. Event Management page. Create/Update event page. Order Management page.

Order detail by event. Ticket Management page. Ticket List Modal. Payment Management page .147 7 Graduate Thesis Figure 3-69.

Account Management page. Pending Organizer Account Management page. Category Management page. Events by Category .152 8 Graduate Thesis LIST OF TABLES Table 2-1.

Log-in with Google account. Login by Email/Password. Register for organizer. View detailed event information.

Search event by filter. Add favourite event. Delete a favourite event. Delete all favourite events.

View favourite event list. View order history. Update Organizer Profile. View Customer list by order.

View customer list by account. View Created Event. Approve pending form. Refuse Pending Form.

View Organizer Accounts. View customer accounts. View all feedback. Export Orders to Excel.

Export Events to Excel. Export Accounts to Excel. View Statistics for organizer. View Statistics for admin.63 9 Graduate Thesis Table 3-1 Account.

User Interface for Guest. New password page. Event List Page. Event Detail Page.

Organizer Profile Page. Event Review Page. User Interface for Customer. Ticket List of Customer.

User Interface for Organizer. Event Management page. Create/Update event page. Order Management page.

Order detail by event. Ticket Management page .145 Table 3-35 Ticket List Modal. Payment Management Page. Admin Dashboard Page.

Admin Dashboard Page. Account Management page. Pending Organizer Account Management page. Category Management page .151 Table 3-42 Events by Category.159 10 Graduate Thesis INTRODUCTION 1.

The urgency of project With the explosion of technology, people's needs and consumer behavior change. Digital transformation is essential for most businesses. Therefore, to catch up with customer trends, businesses all require business models on mobile applications or websites… Specifically in this topic is booking event tickets based on a web platform. Prior to the development of technology, most of the events that customers want to attend must go to the venue or be authorized by the organizer to buy tickets directly.

Understanding the difficulties of both parties, A website platform to mediate for both customers and organizers to meet the requirement of both parties is essential. And that is also the reason why we developed the topic "Building an event ticketing system". With the features of this website, customers will have the opportunity to buy tickets online instead of directly as before, along with transparent and clear information publicly available on the platform, where there is censorship of the team prior to officially allowing the organizer to operate with the aim of creating credibility and reliability when buying tickets on the online platform. In addition, the Organizer can easily manage their events and be flexible in the process of implementing the event, or when notifying customers of an emergency.

Research objects For this topic, the research object is based on user needs, referring to related websites and models to create an intermediary transaction place between ticket sellers and buyers. In addition, the technologies applied to realize specific products are as follows: - Restful API application to build APIs to support accessing and manipulating the system between client and server effectively. - Using NoSQL database is MongoDB to store data in the system. - For payment methods, the team research and configure PayPal and Vnpay method to apply to the website.

11 Graduate Thesis - For UI rendering, the team uses the ReactJS framework, AntDesign, Mui, Bootstrap and other related support libraries to build the interface on the website. - Regarding system security, conducting research on JSON Web Token technology make the system secure and all requests are controlled via Token. Research scope The website mainly focuses on handling the basic operations of a website as an intermediary platform in buying and selling event tickets with key functions such as: account management, list management favorite events, view event details, search for events by various methods, payment method, etc. Project objectives Topic “BUILDING A BOOKING EVENT WEBSITE APPLYING TO REACTJS AND SPRING BOOT” is including purposes as follows: - Building a website that allows users to search, view information and order event tickets.

- Building a management system and statistics on sales of orders and events for businesses. - The website has a user-friendly interface and is secure for users' personal information. Delimitations The website is limited to the Vietnamese region. In addition, In the case of exceptionally large data sets, a database system might encounter challenges in effectively processing and managing the data.

Furthermore, the order processing could be affected by database time delay. Moreover, Accounts for payment are only used on testing platforms. Front-end side 1. React Definition React is an efficient and flexible JavaScript library for user interface development.

This is a front-end library, developed based on Components to use the View layer in the MVC/MVP/MVVM model. A React app is made up of many components, each responsible for rendering a small, reusable piece of HTML. Components can be nested within other components to allow complex applications to be built from simple blocks. A component can also maintain internal state by passing in props.

How ReactJS works React implements a virtual DOM that is ultimately a DOM tree representation in JavaScript. Therefore, when it needs to read or write to the DOM, it will use the virtual representation of it.

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

Tài liệu "Xây Dựng Website Đặt Chỗ Sự Kiện Sử Dụng ReactJS và Spring Boot" cung cấp một cái nhìn tổng quan về quy trình phát triển một trang web đặt chỗ cho sự kiện, sử dụng hai công nghệ phổ biến là ReactJS cho phần giao diện người dùng và Spring Boot cho phần 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 website mà còn nhấn mạnh những lợi ích mà nó mang lại, như khả năng mở rộng, hiệu suất cao và trải nghiệm người dùng mượt mà.

Để mở rộng kiến thức của bạn về các công nghệ liên quan, bạn có thể tham khảo tài liệu "Build a selling course website using reactjs and springboot", nơi bạn sẽ tìm thấy cách áp dụng tương tự của ReactJS và Spring Boot trong việc xây dựng một trang web thương mại điện tử. Ngoài ra, tài liệu "Báo cáo môn nhập môn công nghệ phần mềm đề tài xây dựng website nghe nhạc trực tuyến" cũng sẽ giúp bạn hiểu rõ hơn về việc phát triển một ứng dụng web tương tác. Cuối cùng, tài liệu "Xây dựng website mạng xã hội sử dụng django và reactjs" sẽ cung cấp cho bạn cái nhìn sâu sắc về việc kết hợp các công nghệ khác nhau trong phát triển web.

Mỗi liên kết trên đều là cơ hội để bạn khám phá thêm và mở rộng kiến thức của mình trong lĩnh vực phát triển website.