BeefBeef Restaurant - Đặt Bàn & Gọi Món
Đồ án tốt nghiệp làm theo nhóm: website nhà hàng cho đặt bàn trực tuyến, xem menu và đặt món giao tận nơi, giao diện responsive trên cả mobile và desktop.
- Năm
- 2025
- Thời gian
- 3 tháng
- Bộ công nghệ
- 10 công nghệ
Xem qua sản phẩm
Bản desktop
Bản mobile
Phạm vi & vai trò của mình
Fullstack Developer & trưởng nhóm frontend
Phạm vi sản phẩm
Website khách: đặt bàn, xem menu, gọi món giao tận nơi hoặc nhận tại quán.
Trang quản trị: bàn, menu, đơn hàng, voucher, bài viết, người dùng, kho nguyên liệu.
Màn thu ngân: chat với khách, nhận diện khuôn mặt nhân viên, theo dõi trạng thái đơn.
Công nghệ
- React
- Node.js
- MongoDB (Mongoose)
- Socket.IO
- Express.js
- Docker
- Vite
- TypeScript
- Tailwind CSS
- Material UI
Cách mình giải quyết
Bài toán cần giải quyết
Đồ án tốt nghiệp của nhóm: một nhà hàng cần nhận đặt bàn và gọi món online trên cùng một hệ thống. Chỗ khó nhất là giờ cao điểm, khi nhiều khách cùng chọn một khung giờ: bàn phải được giữ ngay lúc khách chọn, để hai người không đặt trùng một bàn. Ngoài ra đơn đặt bàn, đơn gọi món, thanh toán và tồn kho phải luôn khớp nhau.
Quyết định kỹ thuật
Website khách và trang quản trị dùng chung một API, để quy tắc nghiệp vụ chỉ viết một lần.
MongoDB cho menu, đơn và kho, vì cấu trúc món và nguyên liệu thay đổi nhiều trong lúc làm.
Socket.IO cho chat, tin nhắn đến ngay thay vì phải tải lại trang.
Đóng gói Docker để mọi thành viên chạy cùng một môi trường.
Bài toán phức tạp
Giữ bàn theo khung giờ khi nhiều khách cùng đặt một giờ cao điểm.
Giữ đơn đặt bàn, thanh toán, đơn gọi món và tồn kho khớp nhau trong cùng một lần thanh toán.
Tự huỷ đơn quá hạn chưa thanh toán bằng tác vụ chạy định kỳ, để bàn và hàng không bị giữ mãi.
Kết quả đạt được
Nhóm hoàn thành website cho khách và trang quản trị cho nhà hàng. Khách đặt bàn qua 5 bước, gọi món giao tận nơi hoặc nhận tại quán, dùng voucher và điểm thưởng, nhắn tin trực tiếp với nhà hàng. Luồng đặt bàn chạy trọn trên website; nối đơn sang app gọi món tại quán khi khách đến là bước tiếp theo nếu phát triển tiếp.
Website khách và trang quản trị có bản demo trực tuyến.
Bước tiếp theo nếu phát triển tiếp: nối đơn đặt bàn sang app gọi món tại quán, để khách đến là bàn và món đã sẵn sàng.
Điểm nổi bật
Đặt bàn 5 bước: kiểm tra ngày, giờ và sức chứa, giữ bàn theo khung giờ, xác nhận đặt cọc và theo dõi trạng thái thanh toán.
Gọi món trọn luồng: giỏ hàng kiểm tra tồn kho, chọn giao tận nơi hoặc nhận tại quán, chọn giờ nhận, áp voucher và điểm thưởng, gửi email xác nhận.
Trang quản trị cho nhà hàng: doanh thu, quản lý menu, bàn, đơn, voucher, bài viết, người dùng và kho nguyên liệu (nhập, xuất, kiểm kê, xuất CSV/PDF/Excel).
Trưởng nhóm frontend: đặt chuẩn code và giao diện cho cả nhóm, review component, giữ giao diện ổn định trên điện thoại, máy tính bảng và máy tính.
Kết nối với mình
Cảm ơn bạn đã ghé thăm góc nhỏ của mình. Rất mong chúng ta sẽ có dịp trò chuyện và hợp tác!
Mình luôn cởi mở với những cuộc trò chuyện về phát triển sản phẩm, ứng dụng AI hay các ý tưởng khởi nghiệp. Cứ thoải mái ném thẳng một tin nhắn cho mình nhé!
Nhận hợp tác chọn lọc · trả lời trong ngày