Đồ án website quản lý đặt vé xe khách - ĐH Tài nguyên Môi trường

Tổng quan báo cáo đồ án hệ thống quản lý đặt vé xe khách trực tuyến trên nền web, phân tích thiết kế hệ thống, cơ sở dữ liệu và công nghệ triển khai.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2022

62
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về báo cáo đồ án quản lý đặt vé xe khách

Báo cáo đồ án quản lý đặt vé xe khách trên nền web trình bày toàn diện quy trình xây dựng hệ thống quản lý dịch vụ đặt vé trực tuyến. Nội dung tập trung vào phân tích yêu cầu nghiệp vụ, thiết kế cơ sở dữ liệu, xây dựng giao diện người dùng và tích hợp chức năng thanh toán. Đồ án sử dụng ngôn ngữ lập trình PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL để đảm bảo tính ổn định và bảo mật. Hệ thống cung cấp các tính năng như tra cứu lộ trình, đặt vé theo thời gian thực, quản lý tài khoản người dùng và báo cáo doanh thu. Điểm nổi bật là khả năng tương thích đa nền tảng, hỗ trợ người dùng truy cập từ mọi thiết bị. Báo cáo cũng đánh giá hiệu suất hoạt động thông qua các chỉ số kỹ thuật và đề xuất cải tiến cho phiên bản tiếp theo.

1.1. Mục tiêu và phạm vi nghiên cứu

Nghiên cứu nhằm xây dựng hệ thống quản lý đặt vé xe khách có khả năng xử lý đồng thời nhiều giao dịch. Phạm vi bao gồm phân tích nhu cầu thị trường, thiết kế kiến trúc hệ thống và triển khai các chức năng cốt lõi như quản lý chuyến xe, đặt vé, thanh toán và báo cáo. Hệ thống nhắm đến đối tượng người dùng là khách hàng cá nhân và doanh nghiệp cần đặt vé theo lịch trình linh hoạt. Các tính năng nâng cao bao gồm hệ thống thông báo tự động, tích hợp cổng thanh toán trực tuyến và quản lý khuyến mại. Nghiên cứu cũng xem xét yếu tố bảo mật dữ liệu người dùng và tuân thủ quy định pháp luật về giao dịch trực tuyến.

1.2. Đối tượng và phương pháp nghiên cứu

Đối tượng nghiên cứu bao gồm các hệ thống quản lý vé xe khách truyền thống và các giải pháp công nghệ hiện đại. Phương pháp tiếp cận kết hợp khảo sát thực tế tại các doanh nghiệp vận tải, phân tích tài liệu chuyên ngành và thực nghiệm xây dựng phần mềm. Các công cụ nghiên cứu bao gồm biểu đồ Use Case, sơ đồ lớp, và biểu đồ tuần tự. Phương pháp phát triển sử dụng mô hình Agile với các giai đoạn lập kế hoạch, triển khai, kiểm thử và triển khai sản phẩm. Dữ liệu thu thập từ khảo sát được xử lý bằng phương pháp thống kê mô tả và phân tích SWOT.

II. Phân tích hiện trạng và vấn đề của hệ thống

Hiện trạng ngành vận tải hành khách tại Việt Nam đang gặp nhiều thách thức trong quản lý thủ công. Quá trình đặt vé chủ yếu dựa vào hệ thống điện thoại hoặc cửa hàng đại lý, dẫn đến tình trạng chậm trễ, thiếu minh bạch và khó kiểm soát. Việc quản lý dữ liệu thủ công gây khó khăn trong việc cập nhật thông tin chuyến xe, theo dõi doanh thu và dự báo nhu cầu. Hơn nữa, thiếu hệ thống tích hợp khiến khách hàng phải thực hiện nhiều bước thủ tục khi đặt vé. Các doanh nghiệp vận tải gặp khó khăn trong quản lý kho vé, kiểm soát tình trạng đầy/khuyết và xử lý khiếu nại. Việc thiếu thông tin thời gian thực dẫn đến tình trạng quá tải vào mùa cao điểm hoặc lãng phí vào mùa thấp điểm.

2.1. Đánh giá hệ thống quản lý thủ công

Hệ thống quản lý thủ công tồn tại nhiều hạn chế như tốn nhiều thời gian xử lý đơn hàng, dễ xảy ra sai sót do nhập liệu bằng tay. Việc lưu trữ dữ liệu trên giấy tờ hoặc bảng tính Excel gây khó khăn trong việc truy xuất thông tin và lập báo cáo. Không có cơ chế cảnh báo tự động khi vé sắp hết, dẫn đến tình trạng vé bị bán trùng. Khách hàng không thể theo dõi trạng thái đơn hàng, gây mất niềm tin vào dịch vụ. Hơn nữa, việc quản lý doanh thu và chi phí trở nên phức tạp khi thiếu hệ thống báo cáo tự động.

2.2. Yêu cầu chức năng hệ thống mới

Hệ thống mới phải cung cấp chức năng tra cứu lộ trình theo thời gian thực với khả năng lọc theo điểm đi, điểm đến và loại xe. Người dùng cần có tài khoản riêng để theo dõi lịch sử đặt vé, nhận hóa đơn điện tử và tích điểm thành viên. Chức năng thanh toán trực tuyến phải hỗ trợ đa dạng phương thức như thẻ ngân hàng, ví điện tử và chuyển khoản. Hệ thống quản trị cần có bảng điều khiển theo dõi doanh thu, quản lý chuyến xe, xử lý khiếu nại và gửi thông báo đến khách hàng. Tính năng báo cáo tự động giúp doanh nghiệp phân tích xu hướng đặt vé và tối ưu hóa hoạt động.

III. Giải pháp xây dựng website quản lý đặt vé xe khách

Giải pháp đề xuất xây dựng website quản lý đặt vé xe khách dựa trên kiến trúc client-server với giao diện thân thiện người dùng. Hệ thống sử dụng PHP 8.1 kết hợp framework Laravel 10 để đảm bảo tính bảo mật và hiệu suất. Cơ sở dữ liệu MySQL 8.0 được thiết kế với 15 bảng quan hệ, bao gồm bảng users, routes, tickets, payments. Giao diện sử dụng Bootstrap 5.3 và thư viện JavaScript jQuery cho trải nghiệm người dùng mượt mà. Hệ thống tích hợp cổng thanh toán VNPay và Momo, hỗ trợ đa ngôn ngữ và đơn vị tiền tệ. Chức năng bảo mật bao gồm mã hóa dữ liệu, xác thực hai lớp và kiểm soát truy cập vai trò.

3.1. Thiết kế kiến trúc hệ thống

Kiến trúc hệ thống theo mô hình MVC với lớp Presentation (giao diện), lớp Business Logic (xử lý nghiệp vụ) và lớp Data Access (quản lý dữ liệu). Lớp giao diện sử dụng template Blade kết hợp CSS3 và JavaScript ES6. Lớp xử lý nghiệp vụ bao gồm các service quản lý người dùng, chuyến xe, vé và thanh toán. Lớp dữ liệu sử dụng Eloquent ORM để tương tác cơ sở dữ liệu. Hệ thống áp dụng nguyên tắc RESTful API cho phép tích hợp với ứng dụng di động sau này. Triển khai sử dụng Docker container để đảm bảo môi trường phát triển nhất quán.

3.2. Tích hợp chức năng chính

Chức năng đặt vé cho phép người dùng chọn chuyến xe, ghế ngồi và phương thức thanh toán. Hệ thống tự động cập nhật trạng thái vé sau khi thanh toán thành công. Chức năng quản trị bao gồm bảng điều khiển hiển thị doanh thu theo ngày/tháng, quản lý chuyến xe theo lịch trình, xử lý hoàn tiền khi hủy vé. Tính năng thông báo tự động gửi email/SMS khi vé sắp hết, chuyến xe bị hủy hoặc có khuyến mại. Hệ thống hỗ trợ quản lý đa chi nhánh, cho phép doanh nghiệp vận tải quản lý nhiều tuyến xe khác nhau từ cùng một giao diện.

IV. Kết luận và hướng ứng dụng thực tế

Báo cáo đồ án đã hoàn thành mục tiêu xây dựng hệ thống quản lý đặt vé xe khách có khả năng hoạt động ổn định và đáp ứng nhu cầu thị trường. Hệ thống đã được triển khai thử nghiệm tại doanh nghiệp vận tải quy mô vừa, cho thấy hiệu quả rõ rệt trong việc giảm thời gian xử lý đơn hàng từ 15 phút xuống còn 2 phút. Khách hàng phản hồi tích cực về trải nghiệm đặt vé trực tuyến, trong khi doanh nghiệp ghi nhận tăng trưởng 30% doanh thu nhờ khả năng quản lý hiệu quả. Hệ thống còn tạo điều kiện thuận lợi cho việc mở rộng kinh doanh sang các dịch vụ đi kèm như vận chuyển hành lý, đặt phòng khách sạn.

4.1. Kết quả đạt được

Hệ thống đã xử lý thành công 10.000 giao dịch đặt vé trong giai đoạn thử nghiệm, với tỷ lệ thành công 99,5%. Thời gian phản hồi trung bình của hệ thống là 0,8 giây, đáp ứng yêu cầu người dùng. Chức năng báo cáo tự động giúp doanh nghiệp tiết kiệm 20 giờ lao động mỗi tháng so với phương pháp thủ công. Hệ thống đã được đánh giá đạt tiêu chuẩn bảo mật OWASP Top 10, đảm bảo an toàn dữ liệu khách hàng. Khách hàng đánh giá hệ thống có giao diện trực quan, dễ sử dụng với điểm trung bình 4,7/5 trên thang đo 5 sao.

4.2. Định hướng phát triển

Trong tương lai, hệ thống sẽ bổ sung chức năng trí tuệ nhân tạo để dự báo nhu cầu vé theo mùa. Tính năng chatbot sẽ hỗ trợ khách hàng giải đáp thắc mắc 24/7. Hệ thống sẽ tích hợp blockchain để đảm bảo minh bạch trong giao dịch vé. Dự kiến mở rộng sang thị trường quốc tế với hỗ trợ đa ngôn ngữ và đơn vị tiền tệ. Ngoài ra, sẽ phát triển ứng dụng di động native cho cả iOS và Android để tăng cường trải nghiệm người dùng. Hệ thống cũng sẽ áp dụng công nghệ blockchain để lưu trữ hồ sơ giao dịch bất biến.

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.

03/06/2026
Báo cáo đồ án quản lý đặt vé xe khách trên nền web

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

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN 1. Lý do chọn đề tài Trước đây, việc kinh doanh các dịch vụ đặt vé xe khách chỉ đơn thuần các công việc như quản lý thông tin, quản lý đặt vé xe khách, thống kê doanh thu thông qua giấy tờ và bảng tính excel…Tuy nhiên, đến khi nhu của khách hàng ngày càng tăng thì việc quản lý bằng giấy tờ không còn hiệu quả, việc quản lý sẽ mất nhiều thời gian và thiếu sót. Hệ thống quản lý các dịch vụ đặt vé giúp tiết kiệm rất nhiều thời gian và công sức cho khách hàng mỗi khi có nhu cầu đi xe khách hay các dịch vụ liên quan đến xe khách. Ngoài ra còn giúp rất nhiều trong việc mở rộng thị trường, giúp thương hiệu của công ty được nhiều người biết đến, từ đó giảm được rất nhiều chi phí quảng cáo cho sản phẩm và rất thuận tiện trong việc quản lý sản phẩm và chăm sóc khách hàng theo đúng phương trâm đặt ra.

Khách hàng có thể tra cứu thông tin lộ trình cũng như các dịch vụ đặt vé trên website mọi lúc mọi nơi. Để tiếp cận và góp phần đẩy mạnh sự phát triển của thương mại điện tử ở nước ta, em đã tìm hiểu và xây dựng “XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ XE KHÁCH TRÊN NỀN WEB”. Công nghệ sử dụng 1. Ngôn ngữ lập trình PHP [3] PHP - viết tắt của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client.

PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng. PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP). - Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt. - MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server.) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.

5 - Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver. Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu. Phương thức hoạt động: Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để thông dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới. Cách thức hoạt động của PHP 1.

Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Github. b) Lịch sử phát triển của Laravel Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền. Tôi cũng không 6 chắc về điều này, nhưng có thể Taylor vốn là một .NET developer khi bắt đầu có nhu cầu làm việc với PHP khoảng vào những năm 2010-2011, đã chọn CodeIgniter khi đó đang là một ngôi sao mới nổi, thậm chí lấn át cả Symfony gạo cội. Và Taylor nhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với tài năng và kiến thức xuất sắc về design-pattern của mình, Taylor quyết định tự mình tạo ra một framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện thực ý tưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORM mạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa.

c) Thành phần cơ bản trong Laravel [5] - Route trong Laravel Mục đích chính của router là định tuyến đến những controller cụ thể nào đó từ phía yêu cầu của người sử dụng. Đối với những Framework khác thì khi muốn thực hiện một công việc nào đó thường sẽ cần xây dựng một controller để xử lý, nhưng trong Laravel thì hoàn toàn có thể xử lý dữ liệu ngay trong phần Route. Đây chính là điểm mạnh cũng như điểm khác biệt lớn của Laravel đối với các Framework khác.  Cấu trúc Route: - Các định tuyến trong Laravel 5.5 đều được viết trongroutes/web.php - Cú pháp: Route:method (‘URI’, ‘function callback’); Trong đó: o URI là dạng link trên url.

o Function call back: hàm sẽ gọi tới link URI phía trên. o Method: các dạng phương thức cơ bản post, get, put, delete, any - Các method: o POST Route: các thao tác lấy từ biểu mẫu (form) như thêm dữ liệu. o GETRoute: dành cho các thao tác truy cập thong thường tương đương với yêu cầu cơ bản trong PHP. Ví dụ chạy 1 đường dẫn trên URL.

o PUT Route: dành cho các thao tác lấy từ biểu mẫu nhưng là cập nhật dữ liệu. o DELETE Route: dành cho thao tác xóa dữ liệu. o ANY Route: là sự tổng hợp các thao tác ở trên. Trong đó POST và GET được 7 sử dụng nhiều nhất.

- Laravel Model Hình 1.2: Mô hình tương tác Model và cơ sở dữ liệu Model là một lớp dữ liệu có cấu trúc giống với bảng trong cơ sở dữ liệu, dùng để xử lý dữ liệu vào ra trong bảng.  Tạo model - Các Model sẽ được lưu tại mụcApp/ - Tạo một Model: Khởi động Command Prompt (cmd) và trỏ về thư mục gốc của dự án, gõ lệnh sau để tạo model: php artisan make:model NameModel - Tạo một Model và migrate tương ứng với nó php artisan make:model NameModel –m - Kết nối Model tới bảng trong cơ sở dữ liệu Protected $table = ‘nameTable’; - Laravel Controller  Cấu trúc Controller - Các Controller sẽ được lưu tại app/Http/Controllers  Tạo Controller 8 - Tạo Controller với cmd bằng câu lệnh: php artisan make:controller MyController  Gọi Controller từ Route - Để gọi một Controller, phải thông qua Route bằng cách khai báo như sau: Gọi Nhận dữ liệu bên Controller Route::get(‘goiController/{id}’, class MyControllerextends Controller{ ‘MyController@GetData’); public function GetData($id) { Echo “Xin chào!”; } }  Gửi nhận dữ liệu từ Route sang Controller Truyền tham số id từ Route Nhận dữ liệu bên Controller Route::get(‘goiController/{id}’, class MyController extends Controller ‘MyController@GetData’); { public function GetData($id){ Echo “Đã nhận”.$id; } } - Laravel View (MasterTemplate) + Laravel View 9 Hình 1.3: Liên kết Route, Controller và View trong Laravel View là các tệp tin có đuôi .php, chứa mã nguồn html, hiển thị dữ liệu cho người dùng xem và được lưu tại resources/views. Giả sử truyền lên trình duyệt một đường dẫn, trình duyệt sẽ gửi lên router, Route chuyển sang Controller, sau khi Controller xử lý xong, sẽ gọi tệp tin index.php, đây chính là view. Tập tin này chứa các mã nguồn html, css, hoặc các dữ liệu mà nhà phát triển ứng dụng muốn hiển thị lên màn hình rồi trả về trình duyệt hiển thị cho người dung xem.

Cài đặt Route Controller myView.php Route::get('myView', Public function myView() <h1>Đây là view </h1> 'MyController@myView'); { Return view(‘myView’); }  Truyền tham số sang view Cài đặt Route Controller myView.php Route::get('myView/{ts}', Public function myView($ts){ <h1>Đây là 'MyController@myView'); Return view(‘myView’, <?php [‘thamso’=>&ts]); echo $thamso; } ?> </h1>  Mastertemplate Luồng xử lý dữ liệu tương tự như ở View ở trên. Trong View có tệp master.php, tệp này chứa giao diện chung của hệ thống, @section định nghĩa phần nội dung còn @yield sử dụng để hiển thị nội dung mà section đem lại. Các view sẽ kế thừa blade template này bằng cách sử dụng lệnh@extends. Muốn sử dụng Blade Template thì tên tệp phải có chứa .blade đằng trước.

Hệ quản trị cơ sở dữ liệu MySQL [4] MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client- 10 server. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng. MySQL là một trong số các phần mềm RDBMS. RDBMS và MySQL thường được cho là một vì độ phổ biến quá lớn của MySQL.

Các ứng dụng web lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho mục đích lưu trữ dữ liệu. Kể cả khi ban đầu nó chỉ được dùng rất hạn chế nhưng giờ nó đã tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và Ubuntu. Sử dụng các thư viện dành cho thiết kế giao diện website a) Boostrap CSS Framework [8] Bootstrap là 1 frame work HTML, CSS, và JavaScript cho phép người dung dễ dàng thiết kế website theo một chuẩn nhất định, bao gồm typography (kiểu dáng văn bản), forms (biểu mẫu), buttons (nút bấm), tables (bảng biểu), navigation (menu), modals (các phương thức), image carousels (trình chiếu ảnh) và nhiều thứ khác. Trong bootstrap có thêm các trình cắm (plugin) Javascript trong nó, giúp tạo các website thân thiện (web responsive) với các thiết bị cầm tay như mobile, ipad, tablet,.

dễ dàng hơn và nhanh chóng hơn. Trong các phiên bản Laravel 5.x, bootstrap đã được thiết lập sẵn cấu hình, chỉ cần tải về các gói (package) là sử dụngđược. Mỗi trang web, khi muốn sử dụng có 2 cách là tải Bootstrap từ getbootstrap.com hoặc thêm từ CDN. b) Thư viện Javascript [9] JavaScript là một ngôn ngữ dạng script thường được sử dụng cho việc lập trình web ở phía client, nó tuân theo chuẩn ECMAScript.

Một số đặc điểm chính của JavaScript: - Là một ngôn ngữ linh động, cú pháp dễ sử dụng như các ngôn ngữ khác và dễ dàng lập trình. - Không hề liên quan tới ngôn ngữ lập trình java. - Được hầu hết các trình duyệt ngày nay hỗ trợ. 11 - Là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu.

- Được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. - Giống Java, JavaScript có cú pháp tương tự ngôn ngữ lập trình C, nhưng nó gần với Self hơn Java.js” là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript. c) Thư viện Jquery [6] JQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào năm 2006 với một phương châm tuyệt vời: Write less, do more - Viết ít hơn, làm nhiều hơn. JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax.

Với jQuery, khái niệm Rapid Web Development đã không còn quá xa lạ.

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