Hệ thống quản lý Câu lạc bộ Web - Khoa Kỹ Thuật Công Nghệ, Đại học Hùng Vương TPHCM
- 🔐 Xác thực: Đăng nhập bằng Email/Password hoặc Google
- 👥 Quản lý thành viên: Duyệt yêu cầu tham gia, phân quyền (Admin/Trainer/Member)
- 📅 Quản lý buổi học: Tạo, chỉnh sửa, xem chi tiết buổi học
- ✅ Điểm danh QR động: Mã QR thay đổi mỗi 10 giây, chống gian lận
- 📝 Bài tập: Giao bài, nộp bài, chấm điểm với rubric
- ❓ Quiz: Tạo quiz MCQ, làm bài, chấm tự động
- 📢 Thông báo: Đăng và xem thông báo realtime
- 🌙 Dark mode: Hỗ trợ giao diện sáng/tối
- Frontend: Next.js 14 (App Router), React 18, TypeScript
- Styling: TailwindCSS, shadcn/ui
- Backend: Firebase (Auth, Firestore, Storage)
- Charts: Recharts
- Forms: React Hook Form + Zod validation
cd ft-club-hub
npm install-
Tạo project mới tại Firebase Console
-
Bật các services:
- Authentication: Bật Email/Password và Google provider
- Firestore Database: Tạo database ở chế độ production
- Storage: Tạo bucket
-
Tạo file
.env.localtừ.env.examplevà điền thông tin Firebase
firebase deploy --only firestore:rulesnpm run devChạy script:
npx tsx scripts/seed-admin.tsTài khoản mặc định:
- Email:
admin@ftclub.com - Password:
Admin@123456
| Tính năng | Admin | Trainer | Member |
|---|---|---|---|
| Quản lý thành viên | ✅ | ❌ | ❌ |
| Duyệt yêu cầu tham gia | ✅ | ❌ | ❌ |
| Tạo/sửa buổi học | ✅ | ✅ | ❌ |
| Điểm danh | ✅ | ✅ | ✅ |
| Tạo/sửa bài tập | ✅ | ✅ | ❌ |
| Nộp bài tập | ❌ | ❌ | ✅ |
| Tạo quiz | ✅ | ✅ | ❌ |
| Làm quiz | ❌ | ❌ | ✅ |
| Đăng thông báo | ✅ | ✅ | ❌ |
Hệ thống điểm danh sử dụng QR code động để chống gian lận:
- Mã QR và mã dự phòng thay đổi mỗi 10 giây
- Điểm danh chỉ mở trong khoảng thời gian giới hạn
- Danh sách điểm danh cập nhật realtime
- Push code lên GitHub
- Import project vào Vercel
- Thêm Environment Variables từ
.env.local - Deploy
MIT