zeba_academy_exam_engine

A complete Flutter Quiz & Exam Engine providing MCQ, True/False, and descriptive assessments with timer support, auto-scoring, analytics, and randomized exams.

Built for EdTech, eLearning, academic, and assessment applications.


โœจ Features

Question Types

  • MCQ (Multiple Choice Questions)
  • True / False
  • Descriptive questions (manual evaluation ready)

Exam Engine

  • Timer support
  • Auto scoring system
  • Negative marking option
  • Randomized question order
  • Question navigation control

Analytics

  • Accuracy calculation
  • Grade evaluation
  • Detailed result summary

Developer Friendly

  • Clean architecture
  • Controller-based state management
  • Fully testable logic
  • Modular design

๐Ÿ“ฆ Installation

Add dependency:

dependencies:
  zeba_academy_exam_engine:
    git:
      url: https://code.zeba.academy

Then run:

flutter pub get

๐Ÿš€ Quick Start

1๏ธโƒฃ Import Package

import 'package:zeba_academy_exam_engine/zeba_academy_exam_engine.dart';

2๏ธโƒฃ Create Questions

final questions = [
  Question(
    id: "1",
    question: "Flutter is developed by?",
    type: QuestionType.mcq,
    options: ["Google", "Apple", "Microsoft"],
    correctAnswer: "Google",
    marks: 1,
  ),
];

3๏ธโƒฃ Configure Exam

final config = ExamConfig(
  duration: Duration(minutes: 10),
  negativeMarking: true,
  negativeMarks: 0.25,
);

4๏ธโƒฃ Create Controller

final controller = ExamController(
  questions: questions,
  config: config,
);

5๏ธโƒฃ Show Exam UI

ExamView(controller: controller);

6๏ธโƒฃ Submit Exam

final result = controller.submit();

๐Ÿ“Š Result Analytics

final accuracy = ResultAnalyzer.accuracy(result);
final grade = ResultAnalyzer.grade(result);

๐Ÿงฑ Architecture

src/
 โ”œโ”€โ”€ models/
 โ”œโ”€โ”€ engine/
 โ”œโ”€โ”€ analytics/
 โ””โ”€โ”€ ui/

Core Components

Component Responsibility
ExamController Exam state & navigation
ScoringEngine Auto scoring logic
ExamTimer Countdown handling
ResultAnalyzer Performance analytics
ExamView Ready-to-use UI

๐Ÿงช Testing

Run tests:

flutter test

The engine is fully unit-testable.


๐ŸŽฏ Use Cases

  • eLearning apps
  • Online exams
  • Mock test platforms
  • Certification systems
  • Religious & academic quizzes
  • Training platforms

๐Ÿ” License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to:

  • Use
  • Modify
  • Distribute

Under the condition that derivative works must also remain open source under GPL v3.

See the LICENSE file for full license text.


๐Ÿ‘จโ€๐Ÿ’ป Author

Zeba Academy

Website: https://code.zeba.academy


๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes
  4. Open a Pull Request

โญ Support

If this package helps your project, please consider giving it a โญ on GitHub.


๐Ÿš€ Roadmap

  • Section-based exams
  • Adaptive difficulty
  • Offline persistence
  • Cloud sync support
  • Advanced analytics dashboard
  • Exam anti-cheat protections