[Mã code 107135]

Source code web đặt vé xem phim online Next.js + MySQL đầy đủ 3 phân quyền

  (1 Đánh giá)
  0       32    

Website đặt vé xem phim hoàn chỉnh bằng Next.js và MySQL: chọn ghế, giữ chỗ, thanh toán, vé QR, giao diện riêng cho khách hàng, nhân viên và admin.

Danh mục
Thể loại
Ngày đăng
31-10-2026
Loại file
Full code
File download
 lumi-cinema-booking.zip [ MB]
CAM KẾT TỪ NGƯỜI BÁN
Hỗ trợ cài đặt và chạy được source trên máy của bạn qua email/điện thoại
Fix lỗi phát sinh do source code trong 30 ngày
Giải đáp cách cấu trúc code, cách tích hợp cổng thanh toán thật
Cung cấp tài khoản mẫu admin, nhân viên, khách hàng để dùng thử ngay

(Hạng vàng)
Xem trang

Source code
2

Đánh giá (2)
5/5

Ngày tham gia
7/10/2026

Lumi Cinema là website đặt vé xem phim hoàn chỉnh, xây dựng bằng Next.js 14 (App Router) cho cả frontend và backend (API Routes), cơ sở dữ liệu MySQL. Có 3 giao diện riêng cho 3 loại tài khoản: khách hàng, nhân viên và quản trị viên.
 
GIAO DIỆN KHÁCH HÀNG
- Trang chủ, danh sách phim (tìm kiếm, lọc thể loại, sắp xếp), chi tiết phim, trailer YouTube
- Lịch chiếu theo ngày và theo rạp, hiển thị số ghế còn trống
- Sơ đồ ghế trực quan (ghế thường, VIP, ghế đôi), trạng thái ghế tự động cập nhật
- Giữ ghế 10 phút có đếm ngược, hết giờ tự nhả ghế
- Chọn combo bắp nước, nhập mã khuyến mãi, dùng điểm thưởng, hạng thành viên
- Vé điện tử có mã QR, in vé, lịch sử vé, tự hủy vé (hoàn tiền, điều chỉnh điểm)
- Đăng ký, đăng nhập, quên/đặt lại mật khẩu, hồ sơ cá nhân, đánh giá phim
 
GIAO DIỆN NHÂN VIÊN
- Bán vé tại quầy bằng tiền mặt, in vé ngay, tích điểm cho thành viên
- Soát vé bằng nhập mã, máy quét hoặc camera quét QR; chặn vé đã dùng, vé đã hủy
- Tra cứu đơn, hủy và hoàn tiền cho khách
 
GIAO DIỆN QUẢN TRỊ VIÊN
- Dashboard doanh thu theo ngày, top phim, doanh thu theo rạp, xuất báo cáo CSV
- Quản lý phim (tải poster lên), rạp, phòng chiếu (tự sinh sơ đồ ghế), suất chiếu (chặn trùng lịch phòng, hủy suất tự hoàn tiền), combo, khuyến mãi
- Quản lý người dùng (phân quyền, khóa tài khoản), đơn đặt vé, đánh giá
 
KỸ THUẬT VÀ BẢO MẬT
- Mật khẩu băm bcrypt, đăng nhập bằng JWT cookie httpOnly, phân quyền ở middleware và ở từng API
- Chống đặt trùng ghế bằng UNIQUE + transaction (đã thử 25 yêu cầu đồng thời cùng một ghế: đúng 1 yêu cầu thành công)
- Giá, giảm giá và điểm đều tính lại ở server; câu lệnh SQL dùng tham số; giới hạn đăng nhập sai
- Kèm 102 kịch bản kiểm thử luồng chính, đã chạy đạt trên bản này
 
LƯU Ý
- Cổng thanh toán là giả lập để demo luồng, không trừ tiền thật. Muốn thu tiền thật cần tích hợp MoMo/VNPAY/Stripe (chỉ sửa một hàm, có hướng dẫn trong README)
- Chưa tích hợp gửi email; link đặt lại mật khẩu đang ở chế độ phát triển
- Dữ liệu phim mẫu là hư cấu, ảnh mẫu lấy từ picsum.photos


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

HÌNH ẢNH DEMO


web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé

web đặt vé xem phim,source code nextjs,đặt vé xem phim online,code web rạp chiếu phim,nextjs mysql,đồ án web bán vé


HƯỚNG DẪN CÀI ĐẶT
YÊU CẦU
Node.js 18.17 trở lên, MySQL 8 (hoặc MariaDB 10.5 trở lên).
 
CÁC BƯỚC CÀI ĐẶT
Bước 1: Giải nén file, mở terminal tại thư mục dự án và chạy: npm install
Bước 2: Sao chép file .env.example thành .env.local, rồi sửa DB_USER và DB_PASSWORD cho đúng với MySQL trên máy bạn.
Bước 3: Tạo database và nạp dữ liệu mẫu: npm run db:init
        (Muốn xóa và tạo lại từ đầu: npm run db:reset)
Bước 4: Chạy dự án: npm run dev
        Mở trình duyệt vào http://localhost:3000
Bước 5: Chạy bản production: npm run build, sau đó npm start
 
TÀI KHOẢN ĐĂNG NHẬP
- Quản trị viên: admin@lumi.vn / Admin@123 (vào địa chỉ /admin)
- Nhân viên: staff@lumi.vn / Staff@123 (vào địa chỉ /staff)
- Khách hàng: user@lumi.vn / User@123
 
Đăng nhập xong hệ thống tự chuyển đúng giao diện theo vai trò. Hãy đổi mật khẩu các tài khoản mẫu trước khi triển khai thật.
 
GHI CHÚ
Xem file README.md trong source để biết cấu trúc thư mục và cách tích hợp cổng thanh toán thật.



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á
11:33 - 31/10/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