zeba_academy_exam_proctor_ui 0.0.1 copy "zeba_academy_exam_proctor_ui: ^0.0.1" to clipboard
zeba_academy_exam_proctor_ui: ^0.0.1 copied to clipboard

Flutter exam proctor UI package with timer, fullscreen, warnings, attempts and violation tracking.

Zeba Academy Exam Proctor UI #

A powerful Flutter package for building secure online exam interfaces with proctoring features.

zeba_academy_exam_proctor_ui provides reusable UI components and controllers for:

  • Exam countdown timer
  • Fullscreen exam mode
  • Warning management
  • Attempt tracking
  • Violation detection

✨ Features #

ā± Exam Timer #

  • Configurable exam duration
  • Live countdown display
  • Automatic exam completion handling
  • Timer formatting support

šŸ–„ Fullscreen Mode #

  • Immersive exam environment
  • Fullscreen management
  • Detect fullscreen exits
  • Track fullscreen violations

āš ļø Warning System #

  • Custom warning limits
  • Warning callbacks
  • Violation-based warnings
  • Exam security control

šŸ” Attempt Tracking #

  • Track exam attempts
  • Limit maximum attempts
  • Attempt history support

🚨 Violation Events #

Track suspicious activities:

  • Fullscreen exit
  • Tab switching
  • Copy attempts
  • Suspicious actions

Installation #

Add this package to your pubspec.yaml:

dependencies:
  zeba_academy_exam_proctor_ui: ^1.0.0

Run:

flutter pub get

Usage #

Import the package:

import 'package:zeba_academy_exam_proctor_ui/zeba_academy_exam_proctor_ui.dart';

Create Exam Configuration #

final config = ExamConfig(

  duration:
      Duration(minutes: 60),

  maxWarnings: 3,

  maxAttempts: 1,

);

Create Proctor Controller #

final controller =
ExamProctorController(

  config,

);

Add Proctor Screen #

ProctorScreen(

 controller: controller,

 child: ExamPage(),

);

Your exam now includes:

āœ… Timer
āœ… Fullscreen protection
āœ… Warning system
āœ… Attempt tracking


Handling Violations #

controller.addViolation(

 ViolationType.copyAttempt

);

Available violation types:

ViolationType.fullscreenExit

ViolationType.tabChange

ViolationType.copyAttempt

ViolationType.suspiciousActivity

Timer Example #

ExamTimer(

 controller: controller,

)

Output:

59:59

Warning Handling #

controller.onWarning = () {

 print(
   "Warning detected"
 );

};

Time Completion #

controller.onTimeFinished = () {

 print(
  "Exam completed"
 );

};

Project Structure #

lib/

ā”œā”€ā”€ zeba_academy_exam_proctor_ui.dart

└── src/

    ā”œā”€ā”€ models/

    │   ā”œā”€ā”€ exam_config.dart

    │   └── violation_event.dart

    │

    ā”œā”€ā”€ controllers/

    │   └── exam_proctor_controller.dart

    │

    ā”œā”€ā”€ widgets/

    │   ā”œā”€ā”€ proctor_screen.dart

    │   └── exam_timer.dart

    │

    └── services/

        └── fullscreen_service.dart


Requirements #

Flutter:

>=3.10.0

Dart:

>=3.0.0 <4.0.0

Roadmap #

Future improvements:

  • AI-based proctoring support
  • Screen recording integration
  • Cloud violation reports
  • Exam analytics dashboard
  • Remote monitoring
  • Custom themes
  • Localization

Contributing #

Contributions are welcome!

Steps:

  1. Fork the repository

  2. Create a feature branch

git checkout -b feature/new-feature
  1. Commit changes
git commit -m "Add new feature"
  1. Push branch
git push origin feature/new-feature
  1. Open Pull Request

About Me #

✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

You can learn more about me and my work at:

https://sufyanism.com/

Connect with me:

LinkedIn:

https://www.linkedin.com/in/sufyanism


Zeba Academy #

Your all-in-one learning hub! #

šŸš€ Explore courses and resources in coding, tech, and development at:

https://zeba.academy

Learn practical skills through:

  • Coding tutorials
  • Development resources
  • Real-world projects
  • Technology courses

Explore:

Main website:

https://zeba.academy

Hands-on coding resources:

https://code.zeba.academy

YouTube tutorials:

https://www.youtube.com/@zeba.academy

Instagram:

https://www.instagram.com/zeba.academy/


License #

This project is licensed under the GNU General Public License v3.0.

You are free to:

  • Use
  • Modify
  • Share
  • Distribute

Under the conditions of GPL-3.0.

See the full license:

LICENSE

⭐ Support #

If this package helps you, consider giving it a star ⭐

Thank you for using Zeba Academy Exam Proctor UI šŸš€

0
likes
135
points
90
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

Flutter exam proctor UI package with timer, fullscreen, warnings, attempts and violation tracking.

Homepage

License

GPL-3.0 (license)

Dependencies

flutter, provider, shared_preferences

More

Packages that depend on zeba_academy_exam_proctor_ui