Mô tả
# 🚌 Trang web đặt vé xe buýt
Nền tảng toàn diện cho khách hàng đặt vé xe buýt trực tuyến. Trang web cung cấp giao diện dễ sử dụng, cập nhật theo thời gian thực và nhiều tùy chọn thanh toán, giúp việc đặt vé xe buýt trở nên đơn giản và hiệu quả cho cả hành trình ngắn và dài.
## 🎯 Tính năng
### Tính năng dành cho khách hàng
- **Tìm kiếm tuyến đường**: Tìm xe buýt theo điểm đến, ngày và giờ.
- **So sánh giá**: Xem giá giữa các xe buýt và nhà điều hành khác nhau.
- **Lựa chọn chỗ ngồi**: Chọn chỗ ngồi ưa thích của bạn từ các tùy chọn có sẵn.
- **Lịch sử đặt chỗ**: Xem các lần đặt chỗ trước và nhận vé kỹ thuật số qua email.
- **Thanh toán trực tuyến**: Thanh toán an toàn và liền mạch thông qua VNPAY, thẻ tín dụng và các phương thức khác.
- **Cập nhật theo thời gian thực**: Nhận thông báo về lịch trình xe buýt, sự chậm trễ hoặc thay đổi.
### Tính năng dành cho người giao hàng
- **Xem các công việc khả dụng**: Tìm kiếm các chuyến giao hàng để đấu giá dựa trên vị trí và giá cơ bản.
- **Nhắn tin**: Trò chuyện với khách hàng để xác nhận thông tin chi tiết về giao hàng.
### Tính năng quản trị
- **Quản lý xe buýt và tuyến đường**: Thêm, cập nhật hoặc xóa lịch trình xe buýt, tuyến đường và tình trạng chỗ ngồi.
- **Quản lý khách hàng và người gửi hàng**: Xác minh và phê duyệt tài khoản người gửi hàng, xử lý các yêu cầu của khách hàng.
- **Báo cáo**: Xem báo cáo chi tiết về doanh thu và số liệu thống kê đặt chỗ (hàng tháng và hàng quý).
- **Quản lý dịch vụ và danh mục**: Hoạt động CRUD cho các dịch vụ và danh mục.
## 🛠️ Tech Stack
### Backend
- **Java 14**: Logic kinh doanh cốt lõi.
- **Spring MVC**: Khung backend để xử lý API RESTful.
- **Hibernate**: ORM cho các tương tác cơ sở dữ liệu.
- **MySQL**: Cơ sở dữ liệu quan hệ để lưu trữ dữ liệu người dùng, đặt chỗ và xe buýt.
### Frontend
- **ReactJS**: Các thành phần UI cho trải nghiệm người dùng năng động và phản hồi.
- **Bootstrap**: Khung CSS để tạo kiểu và bố cục.
- **Chart.js**: Để trực quan hóa dữ liệu trong báo cáo và số liệu thống kê.
### Cổng thanh toán
- **VNPAY**: Tích hợp để thanh toán liền mạch và an toàn.