[Mã code 98135]

Xây Dựng Hệ Thống Quản Lý Bán Vé Xe Khách Cho Nhà Xe RedBus

  (1 Đánh giá)
  0       8    

RedBus là hệ thống website quản lý và bán vé xe khách trực tuyến, xây dựng trên nền Spring Boot (backend) và ReactJS + Vite (frontend), kết nối cơ sở dữ liệu MySQL qua MyBatis

Danh mục
Thể loại
Ngày đăng
28-6-2026
Loại file
Full code
File download
 redbus.zip [#]
CAM KẾT TỪ NGƯỜI BÁN
Cung cấp đầy đủ mã nguồn backend (Spring Boot) và frontend (React + Vite), kèm file cấu hình mẫu.
Hỗ trợ hướng dẫn cài đặt và chạy trên máy local (MySQL, JDK 17, Node.js) qua tin nhắn nền tảng.
Hỗ trợ xử lý lỗi cài đặt phát sinh từ mã nguồn gốc trong vòng 7 ngày kể từ ngày mua.
Giải đáp thắc mắc về cấu trúc dự án, chức năng chính và luồng nghiệp vụ (đặt vé, thanh toán, quản trị).
Không hỗ trợ miễn phí: thêm tính năng mới, sửa theo yêu cầu riêng, triển khai server/hosting thay người mua.
Người mua tự chịu trách nhiệm cấu hình MySQL, PayOS, Gmail và môi trường triển khai.


Source code
2

Đánh giá (4)
4/5

Ngày tham gia
31/5/2024

GIỚI THIỆU

RedBus là hệ thống website quản lý và bán vé xe khách trực tuyến, phù hợp làm đồ án tốt nghiệp, đề tài web full-stack hoặc tham khảo xây dựng sản phẩm thực tế cho nhà xe vừa và nhỏ.

Hệ thống gồm 2 phần: giao diện khách hàng (đặt vé, thanh toán, quản lý vé) và khu quản trị (vận hành tuyến, chuyến, ghế, đơn đặt, báo cáo). Kiến trúc Client – Server, frontend và backend tách biệt, giao tiếp qua REST API.


CÔNG NGHỆ SỬ DỤNG

Backend

  • Java 17, Spring Boot 3.2
  • Spring Security + JWT (phân quyền)
  • MyBatis + MySQL 8
  • Tích hợp PayOS (thanh toán online)
  • Spring Mail (OTP, thông báo email)
  • Tác vụ nền: tự hủy vé quá hạn thanh toán

Frontend

  • React 19 + TypeScript
  • Vite, React Router, Axios
  • Recharts (biểu đồ báo cáo)
  • Leaflet (bản đồ lộ trình)
  • QR vé điện tử

CHỨC NĂNG KHÁCH HÀNG

  • Đăng ký, đăng nhập, quên mật khẩu (OTP email)
  • Tìm chuyến theo tuyến, ngày, loại xe, khoảng giá
  • Xem sơ đồ ghế realtime, chọn nhiều ghế
  • Nhập mã khuyến mãi, xem giá sau giảm trước khi đặt
  • Đặt vé (trạng thái chờ thanh toán, giữ ghế theo thời gian quy định)
  • Thanh toán tiền mặt hoặc PayOS (đơn lẻ / gộp nhiều vé)
  • Vé của tôi: xem, thanh toán, hủy vé
  • Vé điện tử / mã QR
  • Tra cứu vé công khai (mã vé + SĐT, không cần đăng nhập)
  • Đổi ghế, đổi chuyến (trước giờ khởi hành)
  • Hủy vé đã thanh toán + yêu cầu hoàn tiền (nhập STK ngân hàng)
  • Đánh giá chuyến sau khi đi
  • Hồ sơ cá nhân, lịch sử thanh toán
  • Thông báo, chat hỗ trợ
  • Xem tin tức / khuyến mãi

CHỨC NĂNG QUẢN TRỊ (ADMIN / STAFF)

  • Tổng quan hệ thống, báo cáo doanh thu (biểu đồ)
  • Quản lý tuyến đường, điểm dừng, loại xe, xe khách
  • Quản lý chuyến xe: thêm/sửa, gen lịch hàng loạt, phân trang danh sách
  • Quản lý ghế theo xe (trống / khóa / đã bán)
  • Danh sách đơn đã đặt (theo dõi vé toàn hệ thống)
  • Quản lý khách hàng
  • Quản lý khuyến mãi, tin tức
  • Xử lý yêu cầu hoàn tiền
  • Hỗ trợ chat khách hàng
  • Phân quyền: Admin (đầy đủ), Staff (vận hành, không xóa một số danh mục)

DỮ LIỆU MẪU (SEED)

  • Tài khoản sẵn khi chạy lần đầu:
    • Admin: admin / Admin@123
    • Staff: staff / Staff@123
    • Khách demo: khach1 … khach5
  • Có sẵn tuyến, xe, chuyến, khuyến mãi mẫu (VD: REDBUS10, TET2026)

YÊU CẦU CÀI ĐẶT

  • JDK 17+, Maven 3.8+
  • Node.js 18+, npm
  • MySQL 8.0+
  • (Tùy chọn) Tài khoản PayOS, Gmail App Password để dùng thanh toán online và gửi mail

Chạy nhanh:

  1. Tạo database redbus, cấu hình application.yml
  2. cd backend → mvn spring-boot:run → API: http://localhost:8080/api
  3. cd frontend → npm install → npm run dev → Web: http://localhost:5173

BỘ SOURCE GỒM

  • Mã nguồn backend + frontend đầy đủ
  • File SQL schema tự tạo bảng khi khởi động
  • File cấu hình mẫu (.env, application-local.yml.example)
  • README hướng dẫn cài đặt

LƯU Ý

  • Mã nguồn dùng cho học tập, đồ án, tham khảo; người mua tự triển khai và cấu hình môi trường.
  • PayOS/Gmail cần tự đăng ký và điền key; có thể demo bằng thanh toán tiền mặt không cần PayOS.
  • Giao diện responsive, hỗ trợ tiếng Việt.


XEM THÊM ==> Hướng dẫn cài đặt chi tiết

HÌNH ẢNH DEMO


hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý

hệ thống quản lý nhà xe,hệ thống quản lý,quản lý nhà xe khách,java quản lý


HƯỚNG DẪN CÀI ĐẶT

1. Yêu cầu

  • JDK 17 trở lên
  • Maven 3.8+
  • Node.js 18+ và npm
  • MySQL 8.0+
  • IDE: IntelliJ IDEA / VS Code (tùy chọn)

2. Cài đặt MySQL

  1. Cài và khởi động MySQL Server.
  2. Tạo database (hoặc để backend tự tạo khi chạy):
CREATE DATABASE redbus CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Ghi nhớ: host, port (3306), user, password.

3. Cấu hình & chạy Backend

  1. Giải nén source, mở thư mục backend.

  2. Cấu hình database trong src/main/resources/application.yml:

spring:
datasource:
url: jdbc:mysql://localhost:3306/redbus?useSSL=false&serverTimezone=Asia/Ho_Chi_Minh&characterEncoding=utf8
username: root # đổi theo máy bạn
password: 12345678 # đổi theo máy bạn

Hoặc dùng biến môi trường: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD.

  1. (Tùy chọn) PayOS + Gmail — sao chép file mẫu:
application-local.yml.example → application-local.yml

Điền client-id, api-key, checksum-key PayOS và Gmail App Password.
Không bắt buộc nếu chỉ demo bằng thanh toán tiền mặt.

  1. Chạy backend:
cd backend
mvn spring-boot:run

Đợi log Started → API: http://localhost:8080/api

Lần chạy đầu: tự tạo bảng (schema.sql) và dữ liệu mẫu (tuyến, xe, chuyến, tài khoản demo).


4. Cấu hình & chạy Frontend

  1. Mở terminal mới, vào thư mục frontend.

  2. Cài package:

npm install
  1. Tạo file .env (sao từ .env.example):
VITE_API_URL=http://localhost:8080/api
  1. Chạy:
npm run dev

Truy cập: http://localhost:5173


5. Tài khoản demo

Vai trò Tài khoản Mật khẩu
Quản trị
admin
Admin@123
Nhân viên
staff
Staff@123
Khách hàng
khach1 … khach5
(theo seed / đăng ký mới)
  • Quản trị: http://localhost:5173/quan-tri
  • Đặt vé: http://localhost:5173/dat-ve

6. Thứ tự chạy khi demo

  1. Bật MySQL
  2. Chạy backend (mvn spring-boot:run)
  3. Chạy frontend (npm run dev)
  4. Mở trình duyệt → http://localhost:5173

7. Lỗi thường gặp

Lỗi Cách xử lý
Không kết nối MySQL
Kiểm tra MySQL đang chạy; đúng user/password trong application.yml
mvn không nhận lệnh
Cài Maven, thêm PATH; hoặc chạy bằng IntelliJ
Frontend không gọi được API
Backend phải chạy trước; kiểm tra VITE_API_URL=http://localhost:8080/api
Port 8080 / 5173 bị chiếm
Đổi port trong cấu hình hoặc tắt app đang dùng port
PayOS lỗi
Dùng Tiền mặt khi demo; hoặc cấu hình đủ key trong application-local.yml

 




Nguồn: Topcode.vn

BÌNH LUẬN (0)


ĐÁNH GIÁ (1)

ĐIỂM TRUNG BÌNH

5
1 Đánh giá
Code rất tốt (1)
Code tốt (0)
Code rất hay (0)
Code hay (0)
Bình thường (0)
Thành viên
Nội dung đánh giá
19:58 - 28/6/2026
Code rất tốt
Code rất tốt và phù hợp để phát triển
HỖ TRỢ TRỰC TUYẾN