Môn học: INS3064 - MULTIMEDIA DESIGN AND WEB DEVELOPMENT
Trường: Trường Quốc tế ISchool - ĐHQGHN
Năm: 2026
Đề tài: Quản lý Học tập Theo Dự án – Project-Based Learning Tracker
| STT | Họ và tên | MSSV | Phần phụ trách |
|---|---|---|---|
| 1 | Lê Văn Thuận | 22070984 | users, courses, project_groups |
| 2 | Bùi Minh Hiếu | 22070905 | sprints, user_stories, tasks |
| 3 | Trần Hoàng Minh | 22070343 | task_assignments, activity_logs, peer_reviews |
Nhiều học phần tại ISchool tổ chức theo mô hình project-based có sprint, backlog, demo, peer review. Quản lý thủ công bằng Excel và nhóm Facebook rất rời rạc.
Xây dựng hệ thống web quản lý backlog, user story, sprint, phân công task cho từng thành viên nhóm; giảng viên theo dõi tiến độ thực tế.
- Tạo sprint, kéo user story vào sprint
- Tính tổng story points
- Cảnh báo nếu vượt capacity nhóm
- Ghi log toàn bộ hành động (ai tạo task, ai chuyển trạng thái, thời điểm nào)
- Phục vụ audit khi đánh giá công bằng
- Backend tính "điểm đóng góp" từ log
- Số task hoàn thành, story points, lần review
- Xuất report giúp GV chấm điểm cá nhân trong project nhóm
- users - Quản lý tài khoản người dùng
- courses - Quản lý học phần áp dụng PBL
- project_groups - Quản lý nhóm dự án
- sprints - Quản lý các sprint của nhóm
- user_stories - Quản lý user story trong backlog
- tasks - Quản lý task chi tiết thuộc user story
- task_assignments - Phân công task cho thành viên
- activity_logs - Log mọi thao tác thay đổi trạng thái
- peer_reviews - Đánh giá chéo giữa các thành viên
- Singleton Pattern - Database connection
- Repository Pattern - Data access layer
- MVC Pattern - Model-View-Controller architecture
- Factory Pattern - Repository factory
- Backend: PHP 7.4+
- Database: MySQL 5.7+ / MariaDB 10.2+
- Frontend: Bootstrap 5, Font Awesome 6
- JavaScript: Vanilla JS
- Web Server: Apache / Nginx
- PHP >= 7.4
- MySQL >= 5.7 hoặc MariaDB >= 10.2
- Apache/Nginx với mod_rewrite
- XAMPP/WAMP/MAMP (khuyến nghị cho Windows)
Bước 1: Copy project vào thư mục web server
# Với XAMPP
Copy thư mục studentproject vào: C:\xampp\htdocs\
# Kết quả:
C:\xampp\htdocs\studentproject\Bước 2: Tạo database
-- Mở phpMyAdmin hoặc MySQL CLI
CREATE DATABASE pbl_tracker CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Bước 3: Import database schema
# Sử dụng MySQL CLI
mysql -u root -p pbl_tracker < database/schema.sql
# Hoặc import qua phpMyAdmin:
# 1. Truy cập http://localhost/phpmyadmin
# 2. Chọn database pbl_tracker
# 3. Tab "Import"
# 4. Chọn file database/schema.sql
# 5. Click "Go"Bước 4: Cấu hình kết nối database
Mở file config/database.php và chỉnh sửa:
define('DB_HOST', 'localhost');
define('DB_NAME', 'pbl_tracker');
define('DB_USER', 'root');
define('DB_PASS', ''); // Mật khẩu MySQL của bạnBước 5: Khởi động Apache và MySQL
- Mở XAMPP Control Panel
- Start Apache và MySQL
Bước 6: Truy cập hệ thống
Mở trình duyệt và truy cập:
http://localhost/studentproject/public/
- Email: admin@ischool.vnu.edu.vn
- Password: password
- Email: lecturer@ischool.vnu.edu.vn
- Password: password
- Email: 22070984@vnu.edu.vn
- Password: password
- Email: 22070905@vnu.edu.vn
- Password: password
- Email: 22070343@vnu.edu.vn
- Password: password
studentproject/
├── config/
│ ├── database.php # Cấu hình database
│ └── constants.php # Hằng số hệ thống
├── src/
│ ├── Controllers/ # Controllers (MVC)
│ │ └── AuthController.php
│ ├── Core/ # Core classes
│ │ ├── Database.php # Singleton Database
│ │ └── Session.php # Session management
│ └── Repositories/ # Repository Pattern
│ ├── BaseRepository.php
│ └── UserRepository.php
├── public/ # Public files
│ ├── index.php # Entry point
│ ├── .htaccess # Apache config
│ └── css/
│ └── style.css # Main stylesheet
├── views/ # Views (Templates)
│ ├── auth/
│ │ ├── login.php
│ │ └── register.php
│ └── dashboard/
│ ├── student.php
│ ├── lecturer.php
│ └── admin.php
├── database/
│ └── schema.sql # Database schema
├── .gitignore
└── README.md # File này
- Tách biệt rõ ràng Model, View, Controller
- Routing system chuyên nghiệp
- Database connection singleton
- Tối ưu hiệu năng
- Tách logic truy vấn khỏi controller
- Dễ bảo trì và test
- Thao tác CRUD không reload trang
- Real-time update status
- 3 vai trò: Student, Lecturer, Admin
- Middleware kiểm tra quyền truy cập
- Bootstrap 5
- Mobile-friendly
- Modern design
- Ghi log mọi thao tác
- Audit trail đầy đủ
- Tính điểm đóng góp tự động
- Biểu đồ thống kê
- Capacity planning
- Velocity tracking
- Đánh giá chéo
- Anonymous option
- Aggregated scores
Tổng điểm cộng dự kiến: +90%
- Kiểm tra MySQL đã khởi động chưa
- Kiểm tra thông tin trong
config/database.php - Đảm bảo database
pbl_trackerđã được tạo
- Kiểm tra file
.htaccesstrong thư mụcpublic/ - Đảm bảo Apache mod_rewrite đã được bật
- Kiểm tra đường dẫn truy cập:
http://localhost/studentproject/public/
- Trên Linux/Mac:
chmod -R 755 studentproject/ - Đảm bảo Apache có quyền đọc thư mục
- Import lại database từ
database/schema.sql - Xóa cache trình duyệt
- Kiểm tra PHP session đang hoạt động
Mọi thắc mắc xin liên hệ:
- Lê Văn Thuận: 22070984@vnu.edu.vn
- Bùi Minh Hiếu: 22070905@vnu.edu.vn
- Trần Hoàng Minh: 22070343@vnu.edu.vn
Dự án này được phát triển cho mục đích học tập tại Trường Quốc tế ISchool - ĐHQGHN.
- PHP Official Documentation
- MySQL Documentation
- Bootstrap 5 Documentation
- Design Patterns in PHP
- Scrum Guide
© 2026 Team Alpha - Trường Quốc tế ISchool - ĐHQGHN