zeba_academy_exam_proctor_ui 0.0.1
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:
-
Fork the repository
-
Create a feature branch
git checkout -b feature/new-feature
- Commit changes
git commit -m "Add new feature"
- Push branch
git push origin feature/new-feature
- 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:
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:
Learn practical skills through:
- Coding tutorials
- Development resources
- Real-world projects
- Technology courses
Explore:
Main website:
Hands-on coding resources:
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 š