Hệ thống quản lý sinh viên được xây dựng bằng Laravel, cho phép quản lý thông tin sinh viên, điểm số, điểm danh và các hoạt động học thuật.
- Hệ điều hành: Windows 10/11, macOS, hoặc Linux
- Docker Desktop: Phiên bản mới nhất (bao gồm Docker Compose)
- Git: Để clone repository
- Trình duyệt: Chrome, Firefox, Edge, hoặc Safari
Nếu chưa có Docker Desktop:
- Tải về từ docker.com
- Cài đặt và khởi động Docker Desktop
- Đảm bảo Docker Desktop đang chạy (icon whale ở taskbar)
git clone https://github.com/ChauDungHT/QLSV.git
cd QLSVDự án đã bao gồm các file cấu hình Docker cần thiết:
docker-compose.yml- Cấu hình các dịch vụDockerfile- Build image cho Laravel app.env- Cấu hình môi trường.dockerignore- Loại trừ file khỏi build
Nếu thiếu bất kỳ file nào, tham khảo plan.md để tạo lại.
(Prompt để agent thực thi plan.md)
- Docker Desktop đã được cài đặt và đang chạy
- Terminal (PowerShell / Command Prompt)
cd QLSV
docker compose up -d --buildĐợi 2-3 phút để build image (lần đầu có thể lâu hơn).
docker compose psTất cả containers phải ở trạng thái Up. Nếu có lỗi, xem phần Troubleshooting.
docker compose exec app php artisan migrate
docker compose exec app php artisan db:seedLệnh này sẽ tạo bảng database và nạp dữ liệu mẫu.
Mở trình duyệt và truy cập:
- Laravel App: http://localhost:8001
- Frontend Dev Server: http://localhost:5174
- MailHog (Email Test UI): http://localhost:8025
✅ Hoàn tất! Ứng dụng đã sẵn sàng sử dụng.
- Email: admin@example.com
- Password: password
- Host: localhost
- Port: 3307
- Database: studentmanagement
- Username: root
- Password: root
docker compose logs --tail=20 app # Logs từ Laravel app
docker compose logs --tail=20 vite # Logs từ Vite dev server
docker compose logs mysql # Logs từ MySQLdocker compose exec app php artisan migrate:fresh --seed # Reset & seed database
docker compose exec app php artisan tinker # Laravel REPL
docker compose exec app php artisan key:generate # Tạo app key mớidocker compose down # Dừng tất cả containers
docker compose up -d # Khởi động lại
docker compose restart app # Khởi động lại riêng app containerdocker system prune -f
docker compose up -d --build --no-cacheKiểm tra process sử dụng port:
netstat -ano | findstr :8001- Chắc chắn MySQL container đang chạy:
docker compose ps - Xem logs MySQL:
docker compose logs mysql
- Kiểm tra vite container:
docker compose ps - Xem logs:
docker compose logs vite
- plan.md: Hướng dẫn toàn diện với Docker
- thinking.md: Quá trình xây dựng setup
- result.md: Kết quả Docker hóa
- Backend: Chỉnh sửa code trong
app/,routes/,config/- tự động reflect vào container - Frontend: Chỉnh sửa CSS/JS trong
resources/- Vite tự động hot reload - Database: Import/export dữ liệu thông qua MySQL trên port 3307
- Email: Kiểm tra test email trên http://localhost:8025
Nếu gặp vấn đề, kiểm tra:
- Docker Desktop đang chạy
- Ports 8001, 5174, 8025, 3307, 6380 không bị chiếm
- Logs của containers:
docker compose logs
Chúc mừng! Dự án QLSV đã sẵn sàng. 🎉