Đồ án: Xây Dựng Web Đặt Sự Kiện với ReactJS và Spring Boot

Đồ án website đặt sự kiện ReactJS Spring Boot: Luận văn tốt nghiệp CNTT chất lượng cao. Xây dựng hệ thống quản lý sự kiện, đặt chỗ tiện lợi, hiệu quả.

Chuyên ngành

Software Engineer

Người đăng

Ẩn danh

Thể loại

Graduate Thesis

2023

168
1
0

Phí lưu trữ

45 Point

Mục lục chi tiết

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

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

1.1. Tính cấp thiết của đề tài

1.2. Phía Front-end

1.3. Các thư viện Front-end hỗ trợ khác

1.4. Phía Back-end

1.5. JSON Web Token

2. CHƯƠNG 2: KHẢO SÁT VÀ YÊU CẦU NGƯỜI DÙNG

2.1. Sơ đồ Use case

2.2. Đặc tả Use case

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Đăng nhập bằng tài khoản Google

3.2. Tìm kiếm sự kiện theo bộ lọc

3.3. Xem chi tiết sự kiện

3.4. Đăng ký ban tổ chức

3.5. Xem lịch sử đơn hàng

3.6. Thêm sự kiện yêu thích

3.7. Xóa sự kiện yêu thích

3.8. Xóa tất cả sự kiện yêu thích

3.9. Xem danh sách sự kiện yêu thích

3.10. Xem tài khoản khách hàng

3.11. Cập nhật hồ sơ ban tổ chức

3.12. Xem danh sách khách hàng theo đơn hàng

3.13. Xem danh sách khách hàng theo tài khoản

3.14. Xem sự kiện đã tạo

3.15. Xem tài khoản ban tổ chức

3.16. Từ chối biểu mẫu chờ duyệt

3.17. Phê duyệt biểu mẫu chờ duyệt

3.18. Xem tất cả phản hồi

3.19. Xuất đơn hàng ra Excel

3.20. Xuất sự kiện ra Excel

3.21. Xuất tài khoản ra Excel

3.22. Xem thống kê cho ban tổ chức

3.23. Xem thống kê cho quản trị viên

3.24. Thiết kế giao diện người dùng

3.24.1. Giao diện người dùng cho Khách

3.24.2. Giao diện người dùng cho Khách hàng

3.24.3. Giao diện người dùng cho Ban tổ chức

3.24.4. Giao diện người dùng cho Quản trị viên

4. CHƯƠNG 4: TRIỂN KHAI VÀ KIỂM THỬ

Tóm tắt

I. Giới thiệu tổng quan về web đặt sự kiện với ReactJS và Spring Boot

Trong kỷ nguyên số, sự phát triển của các web đặt sự kiện ngày càng trở nên thiết yếu để đáp ứng nhu cầu người dùng trong việc đặt vé, quản lý sự kiện hiệu quả và tiện lợi. Việc áp dụng ReactJS frontend kết hợp với Spring Boot backend trong phát triển những ứng dụng web này đem lại sự linh hoạt, hiệu suất cao và trải nghiệm người dùng tối ưu. ReactJS cho web sự kiện cho phép xây dựng giao diện người dùng tương tác, nhẹ nhàng và dễ bảo trì nhờ kiến trúc component tái sử dụng. Trong khi đó, Spring Boot backend trợ giúp mạnh mẽ trong việc xử lý nghiệp vụ phức tạp, cung cấp REST API với Spring Boot cho giao tiếp giữa client và server, đồng thời đảm bảo bảo mật tối ưu nhờ tích hợp JSON Web Token. Tổng quan này nhằm giúp hiểu rõ về tầm quan trọng và giải pháp công nghệ trong phát triển ứng dụng web đặt sự kiện hiện đại, an toàn và mở rộng dễ dàng.

1.1. Nhu cầu phát triển và tính cấp thiết của web đặt sự kiện online

Ở Việt Nam và nhiều quốc gia, việc đặt vé sự kiện truyền thống tại quầy gặp nhiều hạn chế như mất thời gian, không minh bạch và khó quản lý. Do đó, nhu cầu về một hệ thống đặt vé sự kiện online trên nền tảng web ra đời, nhằm mang lại sự tiện lợi cho người dùng và kiểm soát dễ dàng với nhà tổ chức. Các yếu tố như khả năng tích hợp đa phương thức thanh toán (như VNPay, PayPal), quản lý sự kiện, bảo mật giao dịch và tương tác trực tiếp đóng vai trò then chốt. Đây chính là động lực thúc đẩy nhóm nghiên cứu chọn đề tài xây dựng web đặt sự kiện tích hợp ReactJS với Spring Boot, hứa hẹn mang lại giải pháp toàn diện và tối ưu cho thị trường này.

1.2. Giới thiệu công nghệ ReactJS và Spring Boot trong phát triển web sự kiện

ReactJS là thư viện JavaScript mạnh mẽ cho phép xây dựng SPA (Single Page Application) linh hoạt, hiệu quả với khả năng quản lý trạng thái thông qua Redux, hỗ trợ giao diện người dùng mượt mà. Ngược lại, Spring Boot backend là nền tảng dựa trên Spring Framework, hỗ trợ triển khai nhanh, cấu hình đơn giản và có khả năng tích hợp nhiều công nghệ bảo mật, cơ sở dữ liệu như MongoDB. Sự kết hợp này tạo nên một bộ công cụ fullstack ReactJS và Spring Boot mạnh mẽ, đáp ứng đầy đủ yêu cầu của một ứng dụng web đặt sự kiện hiện đại.

II. Các thách thức phổ biến trong phát triển web đặt sự kiện với ReactJS và Spring Boot

Dù mang lại lợi ích vượt trội, việc phát triển một hệ thống web đặt sự kiện sử dụng ReactJSSpring Boot backend vẫn gặp nhiều khó khăn. Các thách thức chính gồm: xử lý dữ liệu lớn, tối ưu tốc độ tải trang, đảm bảo bảo mật thông tin người dùng, cũng như đồng bộ dữ liệu giữa front-end và back-end. Ví dụ, sử dụng MongoDB có thể giới hạn về transaction phức tạp, còn việc đồng bộ trạng thái trong ReactJS frontend nếu thiếu kế hoạch sẽ gây lỗi hiển thị hoặc trì hoãn dữ liệu. Ngoài ra, việc tích hợp thanh toán trực tuyến đòi hỏi tuân thủ các tiêu chuẩn an toàn và xử lý lỗi linh hoạt, điều này càng làm tăng độ phức tạp cho hệ thống.

2.1. Thách thức trong việc tối ưu hiệu suất và trải nghiệm người dùng

Để một web đặt sự kiện vận hành trơn tru, yêu cầu tối ưu hiệu suất rất cao. Khi số lượng sự kiện và người dùng tăng mạnh, khả năng tải trang nhanh và xử lý dữ liệu kịp thời trở nên phức tạp hơn. ReactJS với Virtual DOM và Redux giúp cải thiện tốc độ render nhưng vẫn phụ thuộc nhiều vào cách thiết kế component và quản lý state hiệu quả. Đồng thời, phải kết hợp tối ưu back-end với các API mô hình REST được Spring Boot xây dựng sao cho phản hồi nhanh, xử lý truy vấn cơ sở dữ liệu MongoDB hiệu quả, giảm độ trễ tối đa.

2.2. Vấn đề bảo mật và quản lý xác thực người dùng trong web đặt sự kiện

Bảo mật là trọng tâm hàng đầu trong các ứng dụng web, đặc biệt với web đặt sự kiện liên quan đến dữ liệu cá nhân và giao dịch thanh toán. Spring Boot backend kết hợp với JSON Web Token hỗ trợ một lớp bảo mật vững chắc, khẳng định danh tính người dùng và phân quyền truy cập đúng cách. Tuy nhiên, việc cấu hình và duy trì token an toàn, xử lý session hết hạn, chống các cuộc tấn công như CSRF hay XSS đòi hỏi kỹ thuật và kinh nghiệm cao, nếu không sẽ làm giảm tính bảo mật của toàn hệ thống.

2.3. Khó khăn khi tích hợp các thư viện hỗ trợ front end và back end

Ngoài ReactJS, các thư viện như AntDesign, MUI, React-Query hỗ trợ xây dựng giao diện và quản lý dữ liệu, nhưng đồng thời cần được cấu hình đồng bộ với các API do Spring Boot cung cấp. Sự sai lệch về phiên bản, cách gọi API, hay lỗi định dạng dữ liệu JSON có thể gây ra nhiều lỗi runtime khó phát hiện. Việc xử lý bất đồng ngôn ngữ, đa ngôn ngữ với React-i18next hay quản lý state phức tạp với Redux toolkit cũng đặt ra yêu cầu bắt buộc phải có quy trình phát triển chặt chẽ để giảm thiểu lỗi.

III. Phương pháp phát triển web đặt sự kiện hiệu quả với ReactJS và Spring Boot

Việc xây dựng một web đặt sự kiện an toàn, hiệu quả và thân thiện với người dùng cần tuân theo các phương pháp phát triển nghiêm ngặt. Trước hết, triển khai kiến trúc fullstack ReactJS và Spring Boot giúp tận dụng ưu điểm của cả front-end lẫn back-end. Sử dụng Redux cho quản lý trạng thái, React-Query để đồng bộ dữ liệu server-client cải thiện hiệu suất truy cập, kết hợp REST API với Spring Boot để đảm bảo sự chuẩn hóa trong trao đổi dữ liệu. Ngoài ra, tích hợp JSON Web Token cho bảo mật và xác thực là bước không thể thiếu. Cuối cùng, việc sử dụng MongoDB với các kỹ thuật tối ưu truy vấn và phân mảnh dữ liệu giúp xử lý dữ liệu lớn hiệu quả.

3.1. Triển khai giao diện SPA ReactJS với hiệu năng tối ưu cho web đặt sự kiện

Xây dựng giao diện một trang (SPA) bằng ReactJS giúp nâng cao trải nghiệm người dùng khi tải trang nhanh chóng, mượt mà. Để tối ưu, việc sử dụng Virtual DOM, memoization và phân chia component hợp lý là cần thiết. Thêm vào đó, ứng dụng các thư viện như AntDesign, MUI hỗ trợ thiết kế giao diện hiện đại, responsize. Quản lý trạng thái với Redux toolkit cùng các trường hợp bất đồng bộ xử dụng smart hooks từ React-Query giúp cập nhật dữ liệu một cách chính xác, tránh render lại không cần thiết, từ đó nâng cao hiệu suất toàn hệ thống.

3.2. Xây dựng API RESTful với Spring Boot backend và bảo mật JSON Web Token

Thiết kế và triển khai REST API với Spring Boot đảm nhận vai trò trung gian xử lý nghiệp vụ, thao tác dữ liệu và xác thực người dùng. API được xây dựng theo chuẩn REST giúp dễ dàng mở rộng và tích hợp với nhiều client khác nhau. Việc dùng JSON Web Token làm lớp giao thức xác thực nâng cao an toàn, giảm thiểu rủi ro trong truyền dữ liệu. Các phương pháp như phân quyền theo vai trò, bảo mật các endpoint và mã hóa dữ liệu được áp dụng nhằm đảm bảo hệ thống tin cậy, chống được các cuộc tấn công phổ biến.

3.3. Tối ưu lưu trữ và truy xuất dữ liệu MongoDB trong hệ thống đặt sự kiện

MongoDB được lựa chọn làm cơ sở dữ liệu chính do tính linh hoạt về cấu trúc dữ liệu và khả năng mở rộng cao. Áp dụng các kỹ thuật như indexing, replication và sharding giúp giảm thời gian truy vấn và nâng cao tính sẵn sàng của dữ liệu. Việc thiết kế schema phù hợp với mô hình dữ liệu sự kiện và người dùng, đồng thời sử dụng aggregation pipeline để xử lý các truy vấn thống kê như thống kê đơn hàng, sự kiện là yếu tố then chốt giúp hệ thống hoạt động ổn định và quy mô lớn.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu trong xây dựng web đặt sự kiện ReactJS và Spring Boot

Dựa trên kết quả luận văn tốt nghiệp tại Đại học Sư phạm Kỹ thuật TP.HCM, việc triển khai ứng dụng ReactJS Spring Boot cho web đặt sự kiện đã chứng minh được tính khả thi và hiệu quả. Hệ thống được thiết kế hỗ trợ đầy đủ các chức năng quản lý tài khoản, tạo sự kiện, đặt vé trực tuyến và thống kê với giao diện thân thiện. Việc tích hợp các phương thức thanh toán như VNPay, PayPal cũng được hoàn thiện, đảm bảo quá trình giao dịch nhanh chóng, bảo mật. Kết quả thử nghiệm cho thấy ứng dụng có hiệu suất phản hồi cao, trải nghiệm người dùng thân thiện, đồng thời đáp ứng tiêu chuẩn bảo mật dữ liệu cá nhân và xác thực người dùng. Nghiên cứu cũng chỉ ra những hạn chế trong xử lý dữ liệu lớn và gợi ý các hướng cải tiến để mở rộng đánh giá trong tương lai.

4.1. Các tính năng nổi bật của hệ thống web đặt sự kiện ReactJS và Spring Boot

Hệ thống hỗ trợ người dùng tìm kiếm sự kiện theo nhiều tiêu chí, thêm sự kiện yêu thích, mua vé với thanh toán trực tuyến tiện lợi. Người tổ chức có thể quản lý sự kiện, duyệt hoặc từ chối các tài khoản đăng ký trở thành nhà tổ chức, thống kê doanh thu và số vé đã bán. Bên cạnh đó, chức năng đăng nhập đa dạng gồm đăng nhập bằng email mật khẩu truyền thống và Google OAuth tăng sự thuận tiện và an toàn. Mặt khác, bảo mật được đảm bảo thông qua các cơ chế token và phân quyền hợp lý.

4.2. Đánh giá hiệu suất và bảo mật của ứng dụng web đặt sự kiện

Thử nghiệm thực tế cho thấy tốc độ phản hồi từ API do Spring Boot cung cấp luôn ở mức thấp, phù hợp với lượng truy cập trung bình đến cao. Việc sử dụng ReactJS frontend giúp UI luôn linh hoạt và tránh giật lag. Biện pháp bảo mật như sử dụng JSON Web Token, validate dữ liệu đầu vào và phân quyền role-based access control cải thiện đáng kể an toàn hệ thống. Kết quả cho thấy không có hiện tượng rò rỉ dữ liệu trong quá trình thử nghiệm thanh toán và đăng nhập. Tuy nhiên, việc tối ưu cấu hình cho MongoDB cần tiếp tục cải thiện để xử lý tốt trong trường hợp dữ liệu lớn.

V. Kết luận và xu hướng phát triển tương lai của web đặt sự kiện với ReactJS Spring Boot

Tổng kết luận văn chỉ ra rằng việc xây dựng website đặt vé sự kiện bằng ReactJSSpring Boot là giải pháp tối ưu tầm trung hiện nay, đáp ứng đầy đủ nhu cầu sử dụng hiện đại từ người dùng và nhà tổ chức. Sự kết hợp công nghệ này mang lại khả năng phát triển nhanh, bảo trì thuận tiện cùng hiệu suất cao. Trong tương lai, xu hướng phát triển sẽ tập trung vào mở rộng chức năng, tích hợp AI để đề xuất sự kiện cá nhân hóa, cải tiến bảo mật nâng cao và áp dụng kiến trúc Microservices để tăng tính mở rộng và dễ dàng quản lý hệ thống quy mô lớn. Ngoài ra, việc nâng cao trải nghiệm người dùng trên đa nền tảng và phát triển phiên bản app mobile cũng là hướng đi thiết yếu.

5.1. Tổng kết ưu điểm và hạn chế của web đặt sự kiện ReactJS Spring Boot

Ưu điểm chính là khả năng xây dựng ứng dụng nhanh chóng, modular, hiệu suất cao và bảo mật tốt. Hệ thống tương tác mượt mà, dễ bảo trì và mở rộng khi tích hợp thêm các thư viện front-end hỗ trợ như AntDesign, React Query. Hạn chế gồm có khó khăn khi xử lý transacations phức tạp trên MongoDB, cần kỹ năng cao để triển khai bảo mật token đúng cách, và việc phối hợp nhiều thư viện dễ phát sinh lỗi không tương thích. Ngoài ra, tài liệu và tài nguyên luôn thay đổi nhanh chóng yêu cầu nhà phát triển cập nhật liên tục để duy trì hệ thống.

5.2. Xu hướng phát triển công nghệ và ứng dụng trong tương lai web đặt sự kiện

Sự phát triển mạnh mẽ của React cùng các thư viện mới, như React Server Components hay React Suspense, sẽ giúp tăng cần lượng hiệu suất front-end. Ứng dụng Microservices với Spring Boot ngày càng phổ biến, cho phép hệ thống có thể mở rộng linh hoạt, chia nhỏ các chức năng dự án. Tích hợp AI, Machine Learning giúp cá nhân hóa quảng cáo và đề xuất sự kiện dựa trên hành vi người dùng. Cuối cùng, bảo mật sẽ tiếp tục được nâng cao với việc áp dụng Zero Trust và các chuẩn mã hóa tiên tiến, đảm bảo uy tín và an toàn trong lĩnh vực web đặt sự kiện hiện đại.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

16/09/2025
Đồ án building a booking event website applying to reactjs spring boot faculty of high quality graduations thesis of the information technology

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

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. 35 Use Case Specification. 60 CHAPTER 3: SYSTEM DESIGN .1 75 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. Then the virtual DOM will try to find the most efficient way to update the browser’s DOM. JSX - JavaScript Syntax Extension -JSX is a preferable choice for many web developers.

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