Đồ Án Tốt Nghiệp: Thiết Kế và Xây Dựng Website Bán Vé

Đồ án tốt nghiệp công nghệ thông tin về thiết kế và xây dựng website bán lại vé, cung cấp giải pháp hiệu quả cho thị trường vé trực tuyến.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

87
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. MỞ ĐẦU

1.1. MỤC TIÊU

1.2. LÝ DO CHỌN ĐỀ TÀI

1.3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.4. KẾT QUẢ DỰ KIẾN

1.5. NỘI DUNG PHÁT TRIỂN THÊM TỪ TIỂU LUẬN CHUYÊN NGÀNH

2. PHẦN NỘI DUNG

2.1. XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU

2.1.1. Khảo sát hiện trạng: Trang web mua bán vé cho các sự kiện giải trí StubHub

2.1.2. Yêu cầu đối với hệ thống

2.2. THIẾT KẾ HỆ THỐNG

2.2.1. Lược đồ Use Case của hệ thống

2.2.2. Danh sách các Usecase

2.2.3. Đặc tả Use Case

2.2.4. Lược đồ quan hệ

2.2.5. Thiết kế giao diện

2.2.5.1. Thiết kế giao diện người dùng
2.2.5.2. Giao diện trang Home
2.2.5.3. Giao diện đăng nhập
2.2.5.4. Giao diện đăng ký
2.2.5.5. Giao diện thông tin người dùng
2.2.5.6. Giao diện thông tin vé
2.2.5.7. Giao diện mua vé
2.2.5.8. Giao diện bán vé
2.2.5.9. Giao diện Admin
2.2.5.10. Giao diện Dashboard
2.2.5.11. Giao diện quản lý tài khoản khách hàng
2.2.5.12. Giao diện quản lý vé
2.2.5.13. Giao diện tạo vé
2.2.5.14. Giao diện quản lý đăng ký bán vé của khách hàng
2.2.5.15. Giao diện quản lý voucher
2.2.5.16. Giao diện quản lý rút tiền
2.2.5.17. Giao diện quản lý vé đã mua
2.2.5.18. Giao diện quản lý phí shipping
2.2.5.19. Giao diện quản lý phí sự kiện Clearance
2.2.5.20. Giao diện quản lý phản hồi/báo cáo của khách hàng

3. CHƯƠNG 1: ReactJS

3.1. Components (Thành phần)

3.2. Virtual DOM (DOM ảo)

3.3. JSX (JavaScript XML)

3.4. State (Trạng thái)

3.5. Props (Thuộc tính)

3.6. Lifecycle (Vòng đời)

3.7. Event Handling (Xử lý sự kiện)

3.8. Router (Định tuyến)

3.9. Flux và Redux

3.10. Hooks

4. CHƯƠNG 2: NestJS

4.1. Controllers (Bộ điều khiển)

4.2. Providers (Cung cấp dịch vụ)

4.3. Modules (Mô-đun)

4.4. Middleware (Phần mềm trung gian)

4.5. Pipes (Ống)

4.6. Guards (Bảo vệ)

4.7. Interceptors (Người can thiệp)

4.8. Dependency Injection (Cung cấp dịch vụ)

4.9. Prisma (hoặc TypeORM)

4.10. Middleware Express

5. CHƯƠNG 3: MariaDB

5.1. Mã nguồn mở

5.2. Khả năng tương thích

5.3. Đặc điểm kỹ thuật

5.4. Hiệu suất cao

5.5. Cộng đồng và hỗ trợ

5.6. Sử dụng rộng rãi

6. CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Thiết Kế Website Bán Vé Hiện Đại

Thiết kế website bán vé là một lĩnh vực đang phát triển mạnh mẽ trong ngành công nghệ thông tin. Với sự gia tăng nhu cầu mua sắm trực tuyến, việc xây dựng một trang web bán vé hiệu quả trở thành một nhiệm vụ quan trọng. Website không chỉ cần đẹp mắt mà còn phải dễ sử dụng và an toàn cho người dùng. Đồ án tốt nghiệp này sẽ tập trung vào việc phát triển một website bán vé với các công nghệ hiện đại.

1.1. Lợi Ích Của Website Bán Vé Trực Tuyến

Website bán vé trực tuyến mang lại nhiều lợi ích cho cả người mua và người bán. Người dùng có thể dễ dàng tìm kiếm và mua vé từ bất kỳ đâu, trong khi người bán có thể tiếp cận được nhiều khách hàng hơn.

1.2. Công Nghệ Sử Dụng Trong Thiết Kế Website

Dự án sử dụng các công nghệ như ReactJS cho front-end và NestJS cho back-end. Điều này giúp tối ưu hóa hiệu suất và trải nghiệm người dùng, đồng thời đảm bảo tính bảo mật cho thông tin giao dịch.

II. Vấn Đề Lừa Đảo Trong Giao Dịch Bán Vé Trực Tuyến

Tình trạng lừa đảo trong giao dịch bán vé trực tuyến đang gia tăng. Nhiều người dùng trở thành nạn nhân của các trang web giả mạo, dẫn đến mất tiền và không nhận được vé. Việc phát hiện và ngăn chặn các hành vi lừa đảo là một thách thức lớn cho các nhà phát triển.

2.1. Các Hình Thức Lừa Đảo Phổ Biến

Các hình thức lừa đảo bao gồm bán vé giả, nhận tiền nhưng không giao vé, và bán cùng một vé cho nhiều người. Những hành vi này gây thiệt hại lớn cho người tiêu dùng.

2.2. Giải Pháp Để Ngăn Chặn Lừa Đảo

Cần có các biện pháp bảo mật như xác thực người dùng, sử dụng phương thức thanh toán an toàn và kiểm tra thông tin vé trước khi mua. Điều này giúp bảo vệ quyền lợi của người tiêu dùng.

III. Phương Pháp Thiết Kế Website Bán Vé Hiệu Quả

Để thiết kế một website bán vé hiệu quả, cần áp dụng các phương pháp hiện đại và tối ưu hóa trải nghiệm người dùng. Việc sử dụng các công nghệ như ReactJS và NestJS sẽ giúp tạo ra một giao diện thân thiện và dễ sử dụng.

3.1. Thiết Kế Giao Diện Người Dùng Thân Thiện

Giao diện người dùng cần được thiết kế đơn giản, dễ hiểu và dễ sử dụng. Các thành phần như thanh tìm kiếm, danh sách sự kiện và thông tin vé cần được bố trí hợp lý.

3.2. Tối Ưu Hóa SEO Cho Website

Tối ưu hóa SEO là rất quan trọng để website có thể xuất hiện trên các công cụ tìm kiếm. Cần sử dụng từ khóa phù hợp và tối ưu hóa tốc độ tải trang để cải thiện thứ hạng.

IV. Ứng Dụng Thực Tiễn Của Website Bán Vé

Website bán vé không chỉ phục vụ cho việc mua bán vé mà còn có thể tích hợp nhiều tính năng khác như quản lý sự kiện, quản lý khách hàng và hỗ trợ thanh toán trực tuyến. Những ứng dụng này giúp nâng cao trải nghiệm người dùng và tăng cường hiệu quả kinh doanh.

4.1. Quản Lý Sự Kiện Trực Tuyến

Hệ thống quản lý sự kiện cho phép người dùng dễ dàng tạo và quản lý các sự kiện, từ đó thu hút nhiều khách hàng hơn.

4.2. Hỗ Trợ Thanh Toán An Toàn

Việc tích hợp các phương thức thanh toán an toàn như PayPal giúp người dùng yên tâm hơn khi thực hiện giao dịch trên website.

V. Kết Luận Và Tương Lai Của Website Bán Vé

Website bán vé có tiềm năng phát triển lớn trong tương lai. Với sự gia tăng của công nghệ và nhu cầu mua sắm trực tuyến, việc cải tiến và phát triển các tính năng mới sẽ giúp website ngày càng hoàn thiện hơn.

5.1. Xu Hướng Phát Triển Website Bán Vé

Xu hướng phát triển website bán vé sẽ tập trung vào việc cải thiện trải nghiệm người dùng và tích hợp các công nghệ mới như trí tuệ nhân tạo và machine learning.

5.2. Tầm Quan Trọng Của Bảo Mật

Bảo mật thông tin người dùng sẽ là một yếu tố quan trọng trong việc xây dựng lòng tin với khách hàng. Cần có các biện pháp bảo mật chặt chẽ để bảo vệ dữ liệu cá nhân.

10/07/2025
Đồ án tốt nghiệp công nghệ thông tin thiết kế và xây dựng website bán lại vé

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

CHƯƠNG 1. ReactJS: ReactJS là một thư viện JavaScript phát triển bởi Facebook. Nó được sử dụng rộng rãi để xây dựng giao diện người dùng cho ứng dụng web hiện đại. Dưới đây là một số khái niệm cơ bản và cơ sở lý thuyết quan trọng về ReactJS: Components (Thành phần): ReactJS xây dựng giao diện bằng cách chia ứng dụng thành các thành phần độc lập.

Mỗi thành phần là một khối xây dựng có thể tái sử dụng, chứa logic và giao diện riêng của nó. Virtual DOM (DOM ảo): ReactJS sử dụng một cơ chế gọi là Virtual DOM để tối ưu hóa hiệu suất của ứng dụng. Virtual DOM là một biểu đồ ảo của cây DOM thực tế và giúp React cập nhật DOM thực tế chỉ khi cần thiết. JSX (JavaScript XML): JSX là một cú pháp mở rộng của JavaScript, cho phép bạn viết mã HTML trong mã JavaScript.

JSX giúp xây dựng các thành phần UI trong React một cách dễ đọc và dễ hiểu hơn. State (Trạng thái): State là dữ liệu mà một thành phần React có thể theo dõi và cập nhật. Khi trạng thái thay đổi, React sẽ tự động cập nhật giao diện người dùng để phản ánh thay đổi đó. Props (Thuộc tính): Props là dữ liệu được truyền từ thành phần cha đến thành phần con trong React.

Props giúp truyền dữ liệu giữa các thành phần và làm cho ứng dụng có tính tái sử dụng cao. Lifecycle (Vòng đời): Mỗi thành phần React có một vòng đời riêng, với các phương thức như componentDidMount, componentDidUpdate, và componentWillUnmount. Các phương thức này cho phép bạn thực hiện các tác vụ như tải dữ liệu, quản lý trạng thái và làm sạch tài nguyên khi thành phần được tạo ra và hủy bỏ. Trang | 9 Event Handling (Xử lý sự kiện): ReactJS cho phép bạn xử lý sự kiện người dùng bằng cách sử dụng các hàm xử lý sự kiện.

Ví dụ, bạn có thể xử lý sự kiện nhấp chuột hoặc nhập liệu từ bàn phím. Router (Định tuyến): Để quản lý định tuyến và chuyển đổi giữa các trang trong ứng dụng web, React thường sử dụng thư viện định tuyến như React Router. Flux và Redux: Flux và Redux là các kiến thức được sử dụng để quản lý trạng thái ứng dụng trong React. Redux là một thư viện quản lý trạng thái phổ biến được sử dụng trong nhiều ứng dụng React lớn.

Hooks: React Hooks là một tính năng được giới thiệu trong React 16.8, cho phép bạn sử dụng trạng thái và các tính năng React khác trong các thành phần hàm (functional components) thay vì chỉ trong các thành phần lớp (class components). NestJS: NestJS là một framework phát triển ứng dụng web và API cho Node.js, xây dựng trên cơ sở TypeScript hoặc JavaScript. Nó được thiết kế để cung cấp một cơ sở mạnh mẽ cho việc phát triển các ứng dụng server-side hiện đại. Dưới đây là một số khái niệm cơ bản và cơ sở lý thuyết về NestJS: Controllers (Bộ điều khiển): Controllers trong NestJS là các lớp hoặc functions chịu trách nhiệm xử lý các yêu cầu HTTP đến ứng dụng.

Chúng là nơi xử lý logic của ứng dụng và trả về các kết quả cho client. Providers (Cung cấp dịch vụ): Providers là các thành phần trong NestJS cung cấp dịch vụ và logic cho ứng dụng, chẳng hạn như các dịch vụ của database, xử lý logic kinh doanh, hoặc thậm chí là các service tiện ích. Modules (Mô-đun): Modules trong NestJS là các phần tổ chức của ứng dụng, chứa các controllers, providers, và có thể được sử dụng để xác định các thành phần phụ thuộc và quy tắc định tuyến của ứng dụng. Trang | 10 Middleware (Phần mềm trung gian): Middleware là các hàm được thực hiện trước khi yêu cầu đến controller hoặc sau khi yêu cầu rời khỏi controller.

Chúng có thể được sử dụng để xử lý logic như xác thực, ghi log, hoặc thay đổi yêu cầu và phản hồi. Pipes (Ống): Pipes trong NestJS là các bộ lọc dữ liệu có thể được sử dụng để kiểm tra, biến đổi và xác định dữ liệu đầu vào trước khi nó được gửi đến controller. Guards (Bảo vệ): Guards là các phần tử cho phép hoặc từ chối yêu cầu dựa trên các điều kiện nhất định, chẳng hạn như quyền truy cập hoặc xác thực người dùng. Interceptors (Người can thiệp): Interceptors là các bộ lọc thực hiện trước và sau khi controller xử lý yêu cầu.

Chúng có thể sử dụng để ghi log, ghi đoạn mã thời gian thực thi và thực hiện các thao tác tùy chỉnh khác trên yêu cầu và phản hồi. Dependency Injection (Cung cấp dịch vụ): NestJS sử dụng Dependency Injection để quản lý và cung cấp các thành phần và dịch vụ cho các controllers và providers. Điều này giúp quản lý phụ thuộc và làm cho ứng dụng dễ kiểm tra. Prisma (hoặc TypeORM): NestJS thường sử dụng thư viện như Prisma hoặc TypeORM để tương tác với cơ sở dữ liệu và quản lý mô hình dữ liệu.

Middleware Express: NestJS có khả năng tích hợp với các middleware của Express để mở rộng chức năng của ứng dụng. MariaDB: MariaDB là một hệ quản trị cơ sở dữ liệu (DBMS) mã nguồn mở, phát triển dựa trên nguồn gốc của MySQL. Nó được thiết kế để cung cấp một giải pháp quản lý cơ sở dữ liệu mạnh mẽ, an toàn và hiệu quả cho các ứng dụng và dự án khác nhau. Dưới đây là một số thông tin cơ bản về MariaDB: Trang | 11 Mã nguồn mở: MariaDB là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở, điều này có nghĩa là mã nguồn của nó có thể được xem xét, sửa đổi và phân phối miễn phí.

Điều này tạo điều kiện thuận lợi cho sự phát triển và tùy chỉnh. Khả năng tương thích: MariaDB được thiết kế để tương thích ngược với MySQL, có nghĩa là các ứng dụng và dự án sử dụng MySQL có thể chuyển sang MariaDB mà không gặp vấn đề lớn. Đặc điểm kỹ thuật: MariaDB hỗ trợ nhiều đặc điểm kỹ thuật quan trọng như hỗ trợ ACID (Atomicity, Consistency, Isolation, Durability), indexing mạnh mẽ, xác thực và quyền truy cập, xử lý truy vấn phức tạp, và nhiều loại dữ liệu khác nhau. Hiệu suất cao: MariaDB được tối ưu hóa để cung cấp hiệu suất cao cho các ứng dụng có tải công việc lớn.

Nó hỗ trợ lập chỉ mục, phân chia và bộ nhớ đệm dữ liệu để tối ưu hóa truy cập dữ liệu. Cộng đồng và hỗ trợ: MariaDB có một cộng đồng đông đảo và một loạt công cụ, tài liệu và diễn đàn trực tuyến để hỗ trợ người dùng và nhà phát triển. Sử dụng rộng rãi: MariaDB được sử dụng rộng rãi trong nhiều ứng dụng và dự án trên toàn thế giới, bao gồm các ứng dụng web, hệ thống quản lý nội dung (CMS), hệ thống e-commerce, và nhiều dự án khác. Trang | 12 CHƯƠNG 2.

XÁC ĐỊNH VÀ YÊU CẦU HỆ THỐNG 1. Khảo sát hiện trạng: Trang web mua bán vé cho các sự kiện giải trí StubHub URL : https://www.com/ "StubHub" là một trong những trang web nổi tiếng và đáng tin cậy nhất trong lĩnh vực mua bán vé cho các sự kiện giải trí StubHub là một trang web cho phép người dùng mua và bán lại vé cho các sự kiện như concert, sự kiện thể thao, sân khấu, sự kiện trực tiếp và nhiều sự kiện giải trí khác trên khắp thế giới. Các hình ảnh minh họa Hình 2. 1: Giao diện trang chủ website StubHub Nguồn: https://www.com/ Trang | 13 Hình 2.

2: Thanh tìm kiếm sự kiện StubHub Nguồn: https://www. 3: Danh mục các sự kiện (Sports, Concert,.) Nguồn: https://www. 4: Các sự kiện được đề xuất Nguồn: https://www.com/ Trang | 14 Hình 2. 5: Các sự kiện được đề xuất Nguồn: https://www.

6: Giao diện bán lại vé khi không còn nhu cầu Nguồn: https://www.com/ Trang | 15 Hình 2. 7: Giao diện mua vé Nguồn: https://www. 8: Giao diện bán vé Nguồn: https://www.com/ Trang | 16 Bảng 2. 1: So sánh ưu và nhược điểm của website Ưu điểm Nhược điểm Giao diện dễ dùng Phí dịch vụ cao Chính sách hoàn tiền rõ rang Giá vé chênh lệch Tính năng công nghệ tiên tiến Hỗ trợ khách hàng chậm (di động, bản đồ chỗ ngồi) Nguồn: Sinh viên thực hiện 1.

Yêu cầu đối với hệ thống: Bảng 2. 2: Các yêu cầu đối với hệ thống Guest + Đăng ký + Tìm kiếm + Xem danh mục + Xem chi tiết vé + Mua vé + Quên mật khẩu User + Đăng ký + Tìm kiếm + Xem danh mục + Xem chi tiết vé + Rút tiền + Nạp tiền + Quản lý thông tin cá nhân + Bán vé + Mua vé, đấu giá vé + Thêm voucher Admin + Quản lý khách hàng + Quản lý sự kiện + Quản lý mua vé + Quản lý rút tiền Trang | 17 + Quản lý voucher + Quản lý đăng ký bán vé + Quản lý phí ship + Quản lý phí sự kiện Clearance + Quản lý khiếu nại, báo cáo đơn hàng + Thêm sự kiện Nguồn: Sinh viên thực hiện Trang | 18 CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG 3. Lược đồ Use Case của hệ thống: Hình 3.

1: Lược đồ Use Case của hệ thống Nguồn: Sinh viên thực hiện 3. Danh sách các Usecase: Bảng 3. 1: Danh sách các Usecase trong hệ thống STT Usecase Actor 1 Đăng ký Guest 2 Tìm kiếm User, Guest 3 Xem danh mục sự kiện User, Guest 4 Xem chi tiết vé User, Guest 5 Đăng nhập User Trang | 19 6 Mua vé User 7 Thanh toán User 8 Quên mật khẩu User 9 Quản lý thông tin tài khoản User 10 Bán vé User 11 Rút tiền User 12 Quản lý khách hàng Admin 13 Quản lý sự kiện Admin 14 Quản lý mua vé Admin 15 Quản lý rút tiền Admin 16 Quản lý voucher Admin 17 Quản lý đăng ký bán vé Admin 18 Quản lý phí ship Admin 19 Quản lý phí Clearance Admin 20 Quàn lý khiếu nại báo cáo đơn hàng Admin 21 Thêm voucher User Nguồn: Sinh viên thực hiện 3. Đặc tả Use Case Bảng 3.

2: Use case đăng ký Use Case ID G01 Use Case Đăng ký Short Description Use case này cho phép thực hiện đăng ký tài khoản Actors Guest Trigger Người dùng mở trang đăng ký tài khoản thành công Pre-conditions # Post-conditions Đăng ký thành công tài khoản Main Flow (1). Ở trang Login chọn vào mục “Sign Up” (2) Chọn “Sign up with email” (3). Hệ thống chuyển hướng tới trang “Sign Up” Trang | 20 (4). Guest nhập “name”, “dateofbirth”, “phone”, “email”, “email OTP”, “password” “confirm password” “address”, đánh dấu vào các ô để đồng ý với quy định và nhấn nút “Sign up” (4).

Hệ thống kiểm tra thông tin vừa nhập, tạo tài khoản cho Guest và chuyển tới trang Đăng nhập Alternate Flow(s): Exception Flow(s) (E4. Guest điền không đầy đủ thông tin, hệ thống thông báo yêu cầu điền các trường còn thiếu (E4. Guest nhập thông tin không đúng định dạng, hệ thống thông báo nhập lại (E4.

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

Tài liệu "Thiết Kế Website Bán Vé: Đồ Án Tốt Nghiệp Ngành Công Nghệ Thông Tin" cung cấp cái nhìn sâu sắc về quy trình thiết kế và phát triển một website bán vé hiệu quả. Nó không chỉ nêu rõ các yếu tố kỹ thuật cần thiết mà còn nhấn mạnh tầm quan trọng của trải nghiệm người dùng và tối ưu hóa SEO để thu hút khách hàng. Độc giả sẽ tìm thấy những lợi ích thiết thực từ việc áp dụng các chiến lược thiết kế hiện đại, giúp tăng cường khả năng cạnh tranh trong thị trường trực tuyến.

Nếu bạn quan tâm đến các khía cạnh khác của công nghệ thông tin và quản lý, hãy khám phá thêm tài liệu Luận văn thạc sĩ tài chính ngân hàng hạn chế rủi ro tín dụng tại ngân hàng nông nghiệp và phát triển nông thôn việt nam chi nhánh huyện thanh chương, nơi bạn có thể tìm hiểu về quản lý rủi ro trong lĩnh vực tài chính. Bên cạnh đó, tài liệu Khóa luận tốt nghiệp văn hóa du lịch tìm hiểu hoạt động du lịch cộng đồng tại làng gốm chu đậu hải dương theo hướng phát triển bền vững sẽ mang đến cho bạn cái nhìn về sự phát triển bền vững trong ngành du lịch. Cuối cùng, tài liệu Khóa luận tốt nghiệp quản trị kinh doanh phân tích rủi ro tín dụng trong hoạt động cho vay tại ngân hàng tmcp việt nam thịnh vượng vpbank chi nhánh bến ngự huế sẽ giúp bạn hiểu rõ hơn về các chiến lược quản lý rủi ro trong lĩnh vực ngân hàng. Những tài liệu này sẽ mở rộng kiến thức của bạn và cung cấp nhiều góc nhìn khác nhau về các vấn đề liên quan.