Mô tả: Dự án Website quản lý và tổ chức thi trắc nghiệm trực tuyến được xây dựng dựa trên nền tảng ASP.NET Core (Razor Pages). Đây là đồ án môn học chuyên ngành Công nghệ Phần mềm tại Trường Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT).
| Trang Chủ | Trang Quản trị |
|---|---|
![]() |
![]() |
| Trang Làm bài | Trang Kết quả |
![]() |
![]() |
- Framework: ASP.NET Core 8.0 (Razor Pages) - Kiến trúc Page-based gọn nhẹ, hiệu năng cao.
- ORM: Entity Framework Core (Code First) - Quản lý dữ liệu và Migrations.
- Authentication: ASP.NET Core Identity - Bảo mật, phân quyền Admin/Student.
- Interface: HTML5, CSS3, Bootstrap 5 (Responsive Design).
- Scripting: JavaScript (ES6), jQuery.
- Logic: Xử lý đếm ngược thời gian (Countdown Timer) và Auto-submit phía Client.
- Database: SQL Server.
- IDE: Visual Studio 2022.
- Version Control: Git & GitHub.
- Dashboard: Xem thống kê tổng quan (số lượng sinh viên, đề thi, kết quả).
- Quản lý Môn học: CRUD (Thêm/Sửa/Xóa) các môn học.
- Quản lý Ngân hàng câu hỏi: - Thêm câu hỏi mới với nhiều lựa chọn đáp án.
- Đánh dấu đáp án đúng.
- Phân loại câu hỏi theo độ khó (Dễ/Trung bình/Khó).
- Quản lý Đề thi (Exam):
- Tạo đề thi thủ công hoặc Random (lấy ngẫu nhiên câu hỏi từ ngân hàng).
- Xáo trộn câu trả lời trong đề thi
- Cài đặt thời gian làm bài.
- Quản lý Kết quả: Xem bảng điểm chi tiết của từng sinh viên.
- Đăng ký/Đăng nhập: Bảo mật thông tin cá nhân.
- Danh sách đề thi: Xem các kỳ thi đang mở.
- Làm bài thi (Real-time):
- Giao diện làm bài tập trung, dễ nhìn.
- Countdown Timer: Đồng hồ đếm ngược thời gian thực (chống gian lận thời gian).
- Tự động chuyển câu hỏi.
- Nộp bài & Chấm điểm:
- Nút "Nộp bài" sớm.
- Auto-submit: Hệ thống tự động thu bài khi hết giờ.
- Hiển thị điểm số và đáp án đúng/sai ngay lập tức (hoặc ẩn tùy cấu hình).
Hệ thống bao gồm các thực thể (Entities) chính:
ApplicationUser: Mở rộng từ IdentityUser (lưu thông tin Sinh viên/Giảng viên).Subject: Lưu thông tin môn học.Question: Lưu nội dung câu hỏi, độ khó, môn học tương ứng.Exam: Lưu thông tin đề thi, thời gian, mã đề.ExamResult: Lưu kết quả thi, điểm số, ngày giờ nộp bài của sinh viên.
Để chạy dự án này trên máy cục bộ (Localhost), vui lòng làm theo các bước sau:
Mở Git Bash hoặc Terminal và chạy lệnh:
git clone https://github.com/Tah0206/QuizSystemOnline.git- Mở SQL Server Management Studio (SSMS)
- Kết nối tới server của bạn
- Chuột phải vào Databases > Restore Database…
- Chọn Device và trỏ đến file
QLKhachSan.BAKcó trong project - Nhấn OK để phục hồi database
- Sau khi hoàn tất bạn sẽ có database sẵn sàng để sử dụng
Việc restore file .BAK sẽ tạo ra database với đầy đủ bảng dữ liệu cần thiết cho website hoạt động bình thường.
Mở file appsettings.json.
Tìm phần ConnectionStrings. Thay đổi Server Name thành tên Server của bạn:
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER_NAME;Database=OnlineQuizDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
}Mở dự án bằng Visual Studio 2022.
Vào menu: Tools > NuGet Package Manager > Package Manager Console.
Chạy lệnh sau để khởi tạo Database:
Update-DatabaseNhấn tổ hợp phím F5 hoặc nút ▶ Run trên thanh công cụ.
Trình duyệt sẽ mở ra trang chủ.
- Tài khoản Admin mặc định: Admin / 123
-
Thêm tính năng Import câu hỏi từ file Excel.
-
Xuất bảng điểm ra file PDF/Excel.
-
Thêm dạng câu hỏi "Điền vào chỗ trống".
-
Tối ưu giao diện Mobile
Nếu bạn thấy dự án này thú vị hoặc muốn trao đổi thêm về kỹ thuật, hãy liên hệ vào trang profile mình



