🔹 1. Trang chủ
-
Giới thiệu ngắn gọn về hệ thống.
-
Thông báo mới (lịch thi, cập nhật ngân hàng câu hỏi, kết quả thi…).
-
Liên kết nhanh đến Đăng nhập/Đăng ký.
🔹 2. Quản lý tài khoản
-
Đăng nhập/Đăng ký: phân quyền người dùng (Quản trị viên – Giám khảo – Thuyền viên).
-
Hồ sơ cá nhân: lưu thông tin thuyền viên (họ tên, chức danh, số GCN, kinh nghiệm…).
-
Quản lý người dùng: (chỉ dành cho quản trị) – thêm, sửa, khóa tài khoản.
🔹 3. Ngân hàng câu hỏi
-
Phân loại theo chuyên đề: an toàn hàng hải, nghiệp vụ boong, máy, luật, tiếng Anh hàng hải…
-
Cho phép thêm/sửa/xóa câu hỏi (câu hỏi trắc nghiệm, câu hỏi tình huống).
-
Tính năng import/export ngân hàng câu hỏi từ file Excel/CSV.
🔹 4. Hệ thống trắc nghiệm
-
Chế độ luyện tập:
-
Chế độ thi thử/thi chính thức:
-
Đề thi tạo ngẫu nhiên theo cấu hình (số câu, thời gian, chuyên đề).
-
Đếm ngược thời gian.
-
Tự động nộp bài khi hết giờ.
-
Kết quả: hiển thị điểm, phần trăm đúng, đáp án chi tiết.
🔹 5. Quản lý kỳ thi
-
Quản trị viên có thể tạo kỳ thi mới (tên kỳ thi, thời gian, số lượng câu hỏi, đối tượng tham gia).
-
Phân bổ thuyền viên vào kỳ thi.
-
Quản lý phòng thi online (mã phòng, giám sát trực tuyến nếu cần).
🔹 6. Báo cáo & Thống kê
-
Thống kê kết quả theo cá nhân, nhóm hoặc chức danh.
-
Báo cáo tiến độ học tập và rèn luyện.
-
Xuất file PDF/Excel để phục vụ lưu trữ, trình cơ quan quản lý hoặc công ty vận tải biển.
🔹 7. Tiện ích khác
-
Tra cứu chứng chỉ/GCN: gắn kết quả thi với hồ sơ thuyền viên.
-
Thông báo & nhắc nhở: qua email, SMS, hoặc thông báo trên website.
-
Đa ngôn ngữ: hỗ trợ tiếng Việt – tiếng Anh.
-
Ứng dụng di động: giao diện tối ưu cho điện thoại.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Hướng dẫn cài đặt phần mềm quản lý bài kiểm tra
Bước 1: Chuẩn bị môi trường phát triển
-
Cài đặt Composer
-
Composer là công cụ quản lý thư viện cho PHP.
-
Tải về và cài đặt từ trang chính thức: https://getcomposer.org/download/
-
Kiểm tra cài đặt thành công bằng lệnh composer --version trên terminal/cmd.
-
Cài đặt PHP
-
Cài PHP bản mới phù hợp với dự án
-
Nếu dùng XAMPP hoặc Laragon, PHP đã được tích hợp sẵn.
-
Cài đặt Visual Studio Code (VS Code)
-
Cài đặt XAMPP hoặc Laragon
-
Cả hai đều là phần mềm máy chủ web local, tích hợp Apache, MySQL và PHP.
-
Tải về:
-
Cài đặt và chạy Apache + MySQL.
Bước 2: Cập nhật và cấu hình dữ liệu
-
Tạo database bằng phpMyAdmin hoặc Laragon
-
Mở phpMyAdmin qua: http://localhost/phpmyadmin
-
Tạo database mới, ví dụ đặt tên thuyenvien.
-
Cấu hình kết nối database
-
Trong thư mục dự án, tạo file .env (nếu chưa có).
-
Mở file .env, chỉnh sửa dòng sau để kết nối tới database mới:
DB_DATABASE=thuyenvien
DB_USERNAME=root
DB_PASSWORD=
DB_HOST=127.0.0.1
DB_PORT=3306
-
Cài đặt các thư viện và tối ưu dự án bằng Artisan
-
Mở terminal trong VS Code hoặc CMD ở thư mục dự án.
-
Chạy lệnh để cài đặt các thư viện composer:
composer install
-
Chạy tối ưu config và cache:
php artisan optimize
-
Nếu có migrations, chạy migrate để tạo bảng:
php artisan migrate
-
Chạy ứng dụng
php artisan serve
-
Terminal sẽ hiện URL ví dụ: http://127.0.0.1:8000
-
Mở trình duyệt, truy cập URL đó để dùng ứng dụng.
Lưu ý
-
Nếu bạn muốn dừng server artisan, nhấn Ctrl + C trong terminal.
-
Mọi thay đổi về cấu hình database hoặc môi trường cần restart lại server nếu cần thiết.
-
Đảm bảo XAMPP/Laragon đang chạy Apache và MySQL trước khi kết nối.
-
Kiểm tra quyền ghi và đọc file trong thư mục dự án nếu gặp lỗi.
Admin — Quản lý ngân hàng câu hỏi, bài kiểm tra, cấp chứng chỉ
Bước 1: Đăng nhập Admin
-
Giao diện: Trang đăng nhập gồm 2 ô nhập liệu:
-
Hành động: Admin nhập tài khoản rồi bấm nút “Đăng nhập”.
-
Xử lý: Server kiểm tra:
-
Nếu tài khoản hợp lệ & mật khẩu đúng → tạo session đăng nhập cho Admin → chuyển hướng sang Dashboard.
-
Nếu sai → trả về lỗi “Sai tên đăng nhập hoặc mật khẩu” và giữ nguyên form đăng nhập.
Bước 2 : Quản lý thuyền viên
-
Tên chức năng: Quản lý Thuyền viên
-
Mô tả:
Cho phép Quản trị viên (Admin) thực hiện các thao tác tạo, cập nhật, xem và xóa thông tin của các thuyền viên trên hệ thống. Bao gồm các trường thông tin cơ bản, vai trò, và quyền truy cập.
2.1. Xem danh sách thuyền viên
-
Giao diện: Bảng danh sách thuyền viên với các cột:
-
Checkbox (chọn nhiều người)
-
ID người dùng
-
Họ tên
-
Email
-
Số điện thoại
-
Ngày sinh
-
Trình độ chuyên môn / Cấp bậc
-
Trạng thái (Hoạt động / Ngừng)
-
Thao tác (Sửa, Xoá)
-
Tính năng tìm kiếm, lọc:
-
Ô tìm kiếm theo tên hoặc email
-
Bộ lọc theo trình độ, trạng thái, cấp bậc
-
Tương tác:
-
Chọn nhiều dòng để thực hiện thao tác hàng loạt (xóa, xuất danh sách)
-
Click vào tiêu đề cột để sắp xếp tăng/giảm
2.2. Thêm thuyền viên mới
-
Admin bấm nút “Thêm thuyền viên” (nút nổi bật trên đầu trang)
-
Form nhập liệu chi tiết:
-
Họ tên: Text
-
Email: Email input
-
Mật khẩu: Password input
-
Ngày sinh: Date picker
-
Số điện thoại: Text
-
Giới tính: Radio (Nam / Nữ / Khác)
-
Trình độ chuyên môn: Dropdown
-
Cấp bậc / Vai trò: Dropdown (VD: Máy trưởng, Thuyền trưởng,...)
-
Trạng thái: Dropdown (Hoạt động / Ngừng)
-
Ghi chú: Textarea (tuỳ chọn)
-
Nút Lưu và Hủy
-
Hành động:
-
Nhập đầy đủ thông tin → bấm Lưu
-
Xử lý:
-
Hệ thống validate:
-
Email không trùng
-
Trường bắt buộc không được rỗng
-
Định dạng đúng của ngày, số điện thoại
-
Nếu hợp lệ:
-
Lưu vào cơ sở dữ liệu
-
Hiển thị thông báo “Thêm thuyền viên thành công”
2.3. Sửa thông tin thuyền viên
-
Bấm nút “Sửa” tại dòng tương ứng
-
Hiển thị form như thêm mới, nhưng đã có dữ liệu hiện tại
-
Admin chỉnh sửa thông tin, bấm Lưu
-
Hệ thống kiểm tra và cập nhật như bước thêm mới
2.4. Xoá thuyền viên
-
Chọn thuyền viên → bấm nút “Xóa”
-
Hệ thống hiển thị popup xác nhận:
-
Nội dung: “Bạn có chắc chắn muốn xóa thuyền viên này? Hành động không thể hoàn tác.”
-
Nút Đồng ý hoặc Hủy
-
Nếu đồng ý:
-
Xóa bản ghi khỏi cơ sở dữ liệu
-
Cập nhật lại danh sách
Tệp & cơ sở dữ liệu liên quan
-
Giao diện và xử lý:
-
Danh sách thuyền viên
-
Form thêm/sửa
-
Xoá người dùng
-
Xử lý backend
-
Cơ sở dữ liệu:
-
Bảng:
users
hoặc thuyenvien
-
Các trường:
id
, name
, email
, phone
, dob
, role
, status
, password
, ...
Bước 3: Quản lý Ngân hàng câu hỏi
-
Admin vào mục “Ngân hàng câu hỏi” trên menu sidebar.
2.1. Xem danh sách câu hỏi
-
Giao diện: Bảng danh sách câu hỏi với các cột:
-
Checkbox chọn nhiều câu hỏi
-
ID câu hỏi
-
Nội dung câu hỏi (rút gọn, khoảng 100 ký tự)
-
Loại câu hỏi (trắc nghiệm, tình huống, thực hành, tự luận)
-
Danh mục
-
Mức độ khó
-
Thao tác (Sửa, Xóa,Chỉnh Sửa)
-
Tính năng tìm kiếm, lọc:
-
Ô tìm kiếm theo nội dung.
-
Bộ lọc theo loại câu hỏi, chủ đề, mức độ khó.
-
Chọn checkbox để thực hiện thao tác hàng loạt (xóa, xuất file).
-
Click vào tiêu đề cột để sắp xếp tăng/giảm.
-
Tương tác:
2.2. Thêm câu hỏi mới
-
Admin bấm nút “Thêm câu hỏi mới” (nút nổi bật trên đầu trang).
-
Form nhập liệu chi tiết:
-
Nội dung câu hỏi: editor hỗ trợ định dạng (in đậm, in nghiêng, chèn hình ảnh).
-
Loại câu hỏi: dropdown, chọn 1 trong các loại.
-
Phương án trả lời (nếu là trắc nghiệm):
-
Các ô nhập cho từng phương án (A, B, C, D...), có nút thêm/bớt phương án.
-
Chủ đề: dropdown hoặc multi-select
-
Mức độ khó: radio button hoặc dropdown (Dễ, Trung bình, Khó).
-
Ghi chú (tuỳ chọn): textbox.
-
Nút Lưu và Hủy.
-
Hành động:
-
Admin nhập đầy đủ thông tin → bấm Lưu.
-
Hệ thống validate:
-
Kiểm tra nội dung không được rỗng.
-
Loại câu hỏi hợp lệ.
-
Có ít nhất một đáp án đúng.
-
Nếu lỗi hiển thị thông báo cụ thể bên dưới từng trường.
-
Nếu thành công:
-
Lưu câu hỏi vào cơ sở dữ liệu.
-
Chuyển về danh sách câu hỏi với thông báo “Thêm câu hỏi thành công”.
-
Xử lý:
2.3. Sửa câu hỏi
-
Admin bấm nút “Sửa” ở dòng câu hỏi cần chỉnh.
-
Form sửa hiển thị như form tạo, dữ liệu đã được điền sẵn.
-
Admin thay đổi nội dung hoặc đáp án.
-
Bấm Lưu để cập nhật.
-
Hệ thống xử lý như bước thêm.
2.4. Xóa câu hỏi
-
Admin chọn câu hỏi, bấm nút “Xóa”.
-
Hệ thống hiện popup xác nhận:
-
Nội dung: “Bạn có chắc chắn muốn xóa câu hỏi này? Hành động không thể hoàn tác.”
-
Nút “Đồng ý” hoặc “Hủy”.
-
Nếu đồng ý, xóa câu hỏi và cập nhật danh sách.
Bước 4: Quản lý bài kiểm tra
-
Admin vào mục “Bài kiểm tra”.
3.1. Xem danh sách bài kiểm tra
-
Bảng liệt kê với cột:
-
Tên bài kiểm tra
-
Mô tả
-
Thời gian làm bài (phút)
-
Số câu hỏi
-
Trạng thái (hoạt động, không hoạt động)
-
Thao tác (Sửa, Xóa, Xem chi tiết)
-
Có ô tìm kiếm và lọc theo trạng thái, thời gian.
3.2. Tạo bài kiểm tra mới
-
Nút Tạo bài kiểm tra hiện ở trên đầu bảng.
-
Form gồm:
-
Tên bài kiểm tra (bắt buộc)
-
Mô tả bài kiểm tra (không bắt buộc)
-
Thời gian làm bài (bắt buộc, nhập số phút)
-
Cách chọn câu hỏi:
-
Chọn thủ công:
-
Danh sách câu hỏi từ ngân hàng hiện bên phải.
-
Admin tích chọn câu hỏi cần thêm vào bài kiểm tra.
-
Số lượng câu hỏi hiển thị ở góc.
-
Tạo đề ngẫu nhiên:
-
Nhập số lượng câu hỏi cần lấy.
-
Chọn chủ đề, mức độ khó (checkbox/multi-select).
-
Nút “Tạo đề ngẫu nhiên”.
-
Hệ thống tự động chọn câu hỏi phù hợp.
-
Hiển thị danh sách câu hỏi được chọn.
-
Nút Xem trước đề thi để xem nội dung đầy đủ.
-
Nút Lưu và Hủy.
-
Admin nhập đủ thông tin, chọn câu hỏi, bấm Lưu.
-
Hệ thống lưu bài kiểm tra.
3.3. Sửa bài kiểm tra
-
Chọn “Sửa” trong danh sách bài kiểm tra.
-
Form tương tự tạo bài kiểm tra.
-
Thay đổi thông tin, câu hỏi.
-
Bấm Lưu.
3.4. Xóa bài kiểm tra
-
Chọn “Xóa” → popup xác nhận → xóa bài.
Bước 5: Cấp chứng chỉ
-
Menu “Quản lý chứng chỉ” hiển thị bảng:
-
Tên người dùng
-
Tên bài thi
-
Điểm số
-
Ngày thi
-
Trạng thái chứng chỉ (chưa cấp, đã cấp)
-
Nút “Cấp chứng chỉ” hoặc “Xem chứng chỉ”
-
Admin có thể:
-
Tìm kiếm người dùng hoặc bài thi.
-
Chọn người dùng đủ điều kiện.
-
Bấm nút “Cấp chứng chỉ”.
-
Chứa thông tin: tên người dùng, bài thi, điểm số, ngày cấp.
-
Hệ thống tạo file PDF chứng chỉ:
-
Gửi email cho người dùng (tuỳ chọn).
-
Cập nhật trạng thái chứng chỉ.
Bước 6: Quản lý danh mục
-
Tên chức năng: Quản lý Danh mục (chủ đề, lĩnh vực chuyên môn liên quan đến các câu hỏi, bài kiểm tra, hoặc thuyền viên)
-
Mô tả:
Cho phép Admin tạo, chỉnh sửa, xóa và xem danh sách danh mục. Danh mục có thể là chuyên ngành, lĩnh vực kiến thức, hoặc loại bài kiểm tra để phục vụ phân loại câu hỏi và bài thi.
5.1. Xem danh sách danh mục
-
Giao diện: Bảng danh sách danh mục với các cột:
-
ID danh mục
-
Tên danh mục
-
Mô tả ngắn (rút gọn khoảng 80-100 ký tự)
-
Số lượng câu hỏi liên quan (nếu có)
-
Thao tác (Sửa, Xóa)
-
Tương tác:
-
Chọn để thao tác (Xoá)
-
Chọn thao tác thêm(Thêm)
5.2. Thêm danh mục mới
-
Admin bấm nút “Thêm danh mục” (nút nổi trên cùng bảng danh sách)
-
Form nhập liệu:
-
Tên danh mục: Text (bắt buộc)
-
Mô tả chi tiết: Textarea (tuỳ chọn)
-
Loại danh mục: Dropdown (VD: Lý thuyết, Thực hành, An toàn, Máy tàu,...)
-
Trạng thái: Dropdown (Hoạt động / Ngừng)
-
Nút Lưu và Hủy
-
Xử lý:
-
Validate tên danh mục không rỗng, không trùng
-
Nếu hợp lệ → lưu vào cơ sở dữ liệu
-
Hiển thị thông báo thành công
5.3. Sửa danh mục
-
Bấm nút “Sửa” tại dòng tương ứng trong danh sách
-
Hiển thị form giống thêm mới, đã điền sẵn dữ liệu
-
Admin thay đổi thông tin, bấm Lưu
-
Hệ thống xử lý validate và cập nhật
5.4. Xoá danh mục
-
Admin chọn danh mục, bấm “Xóa”
-
Popup xác nhận hiển thị:
-
Nội dung: “Bạn có chắc chắn muốn xoá danh mục này? Hành động không thể hoàn tác.”
-
Nếu danh mục có liên kết với câu hỏi: cảnh báo “Không thể xoá danh mục đã được sử dụng”
-
Nếu được phép xoá:
-
Xoá khỏi CSDL, cập nhật danh sách
-
Thông báo thành công
Tệp & cơ sở dữ liệu liên quan
-
Giao diện và xử lý:
-
Danh sách danh mục
-
Form thêm/sửa
-
Xoá danh mục
-
Xử lý backend
-
Cơ sở dữ liệu:
-
Bảng:
categories
hoặc danhmuc
-
Trường dữ liệu:
id
, name
, description
, type
, status
, created_at
, updated_at
Người dùng — Tham gia làm bài kiểm tra và nhận chứng chỉ
Bước 1: Đăng ký tài khoản
-
Trang đăng ký gồm các trường:
-
Họ tên
-
Email
-
Mật khẩu
-
Xác nhận mật khẩu
-
Nút “Đăng ký”
-
Người dùng nhập, bấm đăng ký.
-
Hệ thống gửi email xác thực.
-
Người dùng kích hoạt tài khoản.
Bước 2: Đăng nhập
-
Nhập email/mật khẩu.
-
Bấm “Đăng nhập”.
-
Hệ thống xác thực → chuyển tới trang cá nhân.
Bước 3: Danh sách bài kiểm tra
-
Trang hiển thị danh sách bài kiểm tra được phép làm:
-
Tên bài
-
Mô tả
-
Thời gian
-
Trạng thái (chưa làm, đang làm, đã hoàn thành)
-
Nút “Bắt đầu thi” hoặc “Xem kết quả”
Bước 4: Làm bài kiểm tra
-
Bấm “Bắt đầu thi”.
-
Giao diện bài kiểm tra gồm:
-
Đồng hồ đếm ngược thời gian làm bài.
-
Câu hỏi hiển thị từng câu hoặc nhiều câu một trang.
-
Các tùy chọn trả lời:
-
Trắc nghiệm: chọn radio.
-
Điền khuyết: ô nhập văn bản.
-
Nút “Câu trước”, “Câu tiếp theo”.
-
Nút “Nộp bài” (bật lên khi đủ câu trả lời hoặc hết thời gian).
-
Người dùng trả lời câu hỏi, có thể quay lại câu trước sửa.
-
Bấm “Nộp bài” hoặc hết thời gian hệ thống tự động nộp.
Bước 5: Xem kết quả và nhận chứng chỉ
-
Sau khi nộp:
-
Hiển thị điểm số.
-
Thông báo đạt hoặc không đạt.
-
Nếu đạt, thông báo admin đợi cấp chứng chỉ
-
Người dùng có thể tải file PDF chứng chỉ (nếu có).
Bước 6: Quản lý tài khoản cá nhân
-
Trang cá nhân:
-
Thông tin cá nhân, có thể chỉnh sửa.
-
Lịch sử thi: danh sách bài thi đã làm, điểm số, trạng thái chứng chỉ.
-
Nút đổi mật khẩu.
Bước 7: Đăng xuất
-
Nút “Đăng xuất” góc trên cùng.
-
Kết thúc phiên đăng nhập, chuyển về trang đăng nhập.