Skip to content

Lucdpt3105/MegaLearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

368 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MegaLearning - Nền tảng E-Learning Hiện đại

MegaLearning Banner

Nền tảng học trực tuyến thế hệ mới với Video Call, AI Assistant, Quản lý Thi cử và Cộng tác Real-time

Laravel PHP Tailwind CSS MySQL

DemoTính năngTech StackCài đặt


📖 Giới thiệu

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.

✨ Điểm nổi bật

  • 🎥 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)

📸 Screenshots

🏠 Trang chủ & Dashboard

Trang chủ


🔐 Đăng nhập / Đăng ký

Login Page


👤 Thông tin cá nhân

Profile


📚 Quản lý Môn học

Môn học


📝 Hệ thống Thi cử & Kiểm tra

Làm bài kiểm tra Đề thi tự động
Kiểm tra Đề thi auto

✅ Chấm điểm & Quản lý câu hỏi

Chấm bài Quản lý câu hỏi
Chấm bài Câu hỏi

📁 Tài liệu học tập

Tài liệu


📅 Thời khóa biểu

Thời khóa biểu


💬 Diễn đàn Q&A

Forum


🚀 Tính năng chính

🎓 Học tập & Thi cử

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ố

📹 Giao tiếp & Cộng tác

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

🔐 Quản trị & Bảo mật

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

📚 Nội dung & Tài liệu

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

🛠 Tech Stack

Backend

Công nghệ Version Mô tả
Laravel 12.x PHP Framework chính
PHP 8.2+ Ngôn ngữ server-side
MySQL 8.0+ Cơ sở dữ liệu
Sanctum 4.2 API Authentication

Frontend

Công nghệ Version Mô tả
Tailwind 4.x CSS Framework
Vite 7.x Build Tool
Blade - Templating Engine
JavaScript ES6+ Client-side scripting

Real-time & APIs

Công nghệ Version Mô tả
Pusher 8.x WebSocket broadcasting
Laravel Echo 1.16 Real-time events
Zoom - Video conferencing
Gemini - AI Assistant

Packages & Libraries

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

DevOps & Tools

Công cụ Mục đích
Docker Containerization
Git Version Control
PHPUnit Unit Testing
Dusk Browser Testing

🏗 Kiến trúc hệ thống

┌─────────────────────────────────────────────────────────────┐
│                        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 │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
└─────────────────────────────────────────────────────────────┘

💻 Cài đặt

Yêu cầu hệ thống

  • PHP >= 8.2
  • MySQL >= 8.0
  • Composer >= 2.0
  • Node.js >= 18.x
  • npm >= 9.x

Cài đặt nhanh

# 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

Tài khoản demo

Email Password Vai trò
admin@megalearning.com password Admin
teacher@megalearning.com password Teacher
student@megalearning.com password Student

📊 Database Schema

📋 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

🧪 Testing

# 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

Star

⬆ Về đầu trang

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors