Quiz App — Ứng dụng trắc nghiệm trực tuyến bằng Flutter
Ứng dụng quiz đa nền tảng xây dựng bằng Flutter và Firebase, hỗ trợ làm bài trắc nghiệm theo thời gian, tính điểm tự động, bảng xếp hạng, tìm kiếm quiz và hệ thống quản lý nội dung cho quiz, câu hỏi, danh mục và người dùng.
Câu chuyện dự án
Quá trình, quyết định và kết quả nổi bật của dự án.
Tổng quan
Quiz App là ứng dụng trắc nghiệm được phát triển bằng Flutter và Dart, tập trung vào việc xây dựng một hệ thống quiz hoàn chỉnh thay vì chỉ hiển thị các câu hỏi tĩnh.
Người dùng có thể đăng ký tài khoản, đăng nhập, tìm kiếm bài quiz, thực hiện bài thi theo thời gian giới hạn, nhận điểm sau khi hoàn thành và tham gia hệ thống ranking.
Ứng dụng đồng thời cung cấp các màn hình quản lý dành cho việc tạo và chỉnh sửa quiz, câu hỏi, đáp án, danh mục cũng như quản lý người dùng.
Chức năng chính
Ứng dụng bao gồm hai nhóm chức năng lớn: Quiz Experience cho người dùng và Content Management cho quản trị nội dung.
Người dùng
Đăng ký tài khoản.
Đăng nhập.
Quản lý hồ sơ cá nhân.
Cập nhật ảnh đại diện.
Duy trì phiên đăng nhập trên thiết bị.
Xem danh sách quiz.
Tìm kiếm quiz.
Lọc quiz theo danh mục.
Làm bài trắc nghiệm.
Countdown cho từng câu hỏi.
Tính điểm tự động.
Lưu kết quả.
Theo dõi trạng thái hoàn thành.
Bảng xếp hạng.
Quản lý nội dung
Tạo và chỉnh sửa Quiz.
Quản lý Question.
Quản lý Answer.
Quản lý Category.
Quản lý User.
Quản lý bộ câu hỏi và đáp án.
Cấu trúc màn hình trong source xác nhận project có riêng các màn hình cho login, register, quiz, search, profile, quiz management, question management, category management và user management.
Quiz Engine
Phần quan trọng nhất của ứng dụng là luồng xử lý một bài quiz.
Khi người dùng bắt đầu một bài:
Quiz
→ Load Questions
→ Display Question
→ Start Countdown
→ Select Answer
→ Validate Answer
→ Update Score
→ Next Question
→ Save Result
→ Update Ranking
Mỗi câu hỏi hiện có thời gian mặc định 30 giây.
Khi người dùng chọn đáp án, câu trả lời được khóa để tránh thay đổi lựa chọn. Nếu đáp án trùng với correctAnswer, score được tăng lên một điểm.
Khi hoàn thành toàn bộ câu hỏi, ứng dụng lưu kết quả quiz và cập nhật ranking của người dùng.
Countdown & Scoring
Quiz được thiết kế với countdown riêng cho từng câu hỏi.
Project xây dựng được một ứng dụng quiz với luồng tương đối hoàn chỉnh từ:
User Authentication
→ Browse/Search Quiz
→ Select Quiz
→ Answer Questions
→ Countdown
→ Automatic Scoring
→ Save Result
→ Ranking
đồng thời cung cấp hệ thống quản lý cho quiz, question, answer, category và user.
Project thể hiện kinh nghiệm thực tế với Flutter mobile development, Firebase integration, asynchronous Dart, CRUD, local persistence và cloud media storage.
Hạn chế & Hướng phát triển
Chuyển authentication sang Firebase Authentication.
Áp dụng state management chuyên biệt như Riverpod hoặc BLoC.
Tối ưu responsive UI.
Bổ sung Unit Test và Widget Test.
Cải thiện validation và error handling.
Thiết lập CI/CD cho quá trình test và build application.