MegaLearning - Nền tảng E-Learning Hiện đại
MegaLearning là nền tảng e-learning toàn diện được xây dựng với Laravel 12, tích hợp nhiều công nghệ hiện đại nhằm mang lại trải nghiệm học tập trực tuyến tốt nhất cho học sinh, giáo viên và quản trị viên.
🎥 Video Call tích hợp Zoom API & Jitsi Meet
🤖 AI Assistant sử dụng Google Gemini AI miễn phí
📝 Quản lý thi cử tự động chấm điểm
💬 Chat Real-time với Laravel Echo & Pusher
🔐 Phân quyền đa vai trò (Admin/Teacher/Student)
📝 Hệ thống Thi cử & Kiểm tra
Làm bài kiểm tra
Đề thi tự động
✅ Chấm điểm & Quản lý câu hỏi
Chấm bài
Quản lý câu hỏi
Tính năng
Mô tả
📝 Quản lý bài thi
Tạo, chỉnh sửa, xóa bài thi với nhiều loại câu hỏi
✅ Tự động chấm điểm
Chấm điểm tự động cho trắc nghiệm, đúng/sai
⏱️ Giới hạn thời gian
Countdown timer, auto-submit khi hết giờ
🔀 Ngẫu nhiên hóa
Xáo trộn câu hỏi và đáp án để chống gian lận
📊 Thống kê kết quả
Biểu đồ, báo cáo chi tiết theo lớp/học sinh
🏆 Bảng xếp hạng
Xếp hạng học sinh theo điểm số
Tính năng
Mô tả
🎥 Video Call
Tích hợp Zoom API + Jitsi Meet backup
💬 Chat Real-time
Nhắn tin 1-1, nhóm với Laravel Echo
🤖 AI Assistant
Trợ lý AI Google Gemini hỗ trợ học tập
📢 Thông báo
Push notifications real-time
💬 Diễn đàn Q&A
Hỏi đáp kiểu Stack Overflow với upvote/downvote
Tính năng
Mô tả
👥 Phân quyền RBAC
3 vai trò: Admin, Teacher, Student
🔑 Xác thực API
Laravel Sanctum token-based auth
🔒 Bảo mật thi
Chống gian lận, full-screen mode
📧 Reset Password
Email-based + CLI tool backup
📋 Quản lý điểm danh
Điểm danh lớp học tự động
Tính năng
Mô tả
📁 Thư viện tài liệu
Upload, chia sẻ tài liệu học tập
📂 Quản lý môn học
Tổ chức theo cấu trúc phân cấp
📊 Import/Export Excel
Nhập xuất dữ liệu hàng loạt
☁️ Google Drive
Tích hợp lưu trữ cloud
Công nghệ
Version
Mô tả
12.x
PHP Framework chính
8.2+
Ngôn ngữ server-side
8.0+
Cơ sở dữ liệu
4.2
API Authentication
Công nghệ
Version
Mô tả
4.x
CSS Framework
7.x
Build Tool
-
Templating Engine
ES6+
Client-side scripting
Công nghệ
Version
Mô tả
8.x
WebSocket broadcasting
1.16
Real-time events
-
Video conferencing
-
AI Assistant
Package
Mục đích
Spatie Permission
Role-Based Access Control (RBAC)
Maatwebsite Excel
Import/Export Excel & CSV
Laravel Telescope
Debug & Monitoring
Google Drive Ext
Cloud Storage Integration
PHPSpreadsheet
Xử lý file Excel
Công cụ
Mục đích
Containerization
Version Control
Unit Testing
Browser Testing
┌─────────────────────────────────────────────────────────────┐
│ CLIENT SIDE │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Browser │ │ Mobile │ │ API Clients │ │
│ │ (Blade + │ │ (Future) │ │ (Sanctum Token) │ │
│ │ Tailwind) │ │ │ │ │ │
│ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │
└─────────┼────────────────┼───────────────────┼──────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ LARAVEL APPLICATION │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ROUTES │ │
│ │ web.php (Views) │ api.php (REST API) │ │
│ └─────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ MIDDLEWARE │ │
│ │ Auth │ Role │ Permission │ Sanctum │ CORS │ │
│ └─────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ CONTROLLERS │ │
│ │ Admin │ Teacher │ Student │ API Controllers │ │
│ └─────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ SERVICES │ │
│ │ AIService │ ZoomService │ ExamService │ etc. │ │
│ └─────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ MODELS │ │
│ │ User │ Exam │ Question │ ChatRoom │ VideoCall │ │
│ └─────────────────────┬───────────────────────────────┘ │
└─────────────────────────┼───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ DATA LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MySQL │ │ Redis │ │ Google Drive │ │
│ │ (Database) │ │ (Queue) │ │ (Storage) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ EXTERNAL SERVICES │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Zoom │ │ Jitsi │ │ Gemini │ │ Pusher │ │
│ │ API │ │ Meet │ │ AI │ │WebSocket │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
PHP >= 8.2
MySQL >= 8.0
Composer >= 2.0
Node.js >= 18.x
npm >= 9.x
# Clone repository
git clone https://github.com/Lucdpt3105/MegaLearning.git
cd MegaLearning
# Cài đặt dependencies
composer install
npm install
# Cấu hình environment
cp .env.example .env
php artisan key:generate
# Setup database
php artisan migrate --seed
# Build assets
npm run build
# Chạy server
php artisan serve
📋 Các bảng chính
Bảng
Mô tả
users
Thông tin người dùng
exams
Bài thi
questions
Câu hỏi
answers
Đáp án
submissions
Bài làm
chat_rooms
Phòng chat
chat_messages
Tin nhắn
video_calls
Cuộc gọi video
subjects
Môn học
documents
Tài liệu
# Chạy tất cả tests
php artisan test
# Chạy feature tests
php artisan test --testsuite=Feature
# Chạy browser tests
php artisan dusk
⬆ Về đầu trang