Zeba Academy Interview Prep ๐
A Flutter package for building powerful interview preparation experiences with question banks, mock interviews, difficulty levels, timers, bookmarks, and answer tracking.
Create engaging interview apps, coding preparation platforms, quiz systems, and assessment tools using reusable Flutter components.
โจ Features
๐ Question Bank
- Create and manage interview questions
- Multiple choice questions
- Answer validation
- Reusable question models
- Easy question management
๐ค Mock Interviews
- Real interview simulation experience
- Timed interview sessions
- Question navigation
- Performance tracking
๐ฏ Difficulty Levels
Supports:
- Easy
- Medium
- Hard
Each question can display its difficulty level using built-in widgets.
โฑ Interview Timer
- Countdown timer support
- Time-based assessments
- Mock interview duration tracking
๐ Bookmarks
- Save important questions
- Quickly revisit difficult topics
- Manage bookmarked questions
๐ Answer Tracking
- Track selected answers
- Store interview progress
- Calculate performance score
๐ฆ Installation
Add this package to your pubspec.yaml:
dependencies:
zeba_academy_interview_prep: ^0.0.1
Run:
flutter pub get
๐ Getting Started
Import the package:
import 'package:zeba_academy_interview_prep/zeba_academy_interview_prep.dart';
๐ Create Interview Questions
final questions = [
InterviewQuestion(
id: "flutter_1",
question:
"Which language is used by Flutter?",
answers: [
"Dart",
"Java",
"Python"
],
correctAnswer:
"Dart",
difficulty:
Difficulty.easy,
),
];
๐ Display Question Bank
QuestionBank(
questions: questions,
)
โ Validate Answers
final question = questions.first;
bool result =
question.checkAnswer("Dart");
print(result);
Output:
true
๐ Bookmark Questions
Create controller:
final controller =
InterviewController();
Add bookmark:
controller.toggleBookmark(
"flutter_1"
);
Check bookmark:
controller.isBookmarked(
"flutter_1"
);
โฑ Timer Usage
InterviewTimer(
duration:
Duration(minutes:30),
)
๐ค Mock Interview
MockInterview()
Includes:
- Interview simulation
- Timer
- Question flow
- Answer tracking
๐ Interview Result
final result = InterviewResult(
totalQuestions:20,
correctAnswers:16,
duration:
Duration(minutes:25),
);
print(result.score);
Output:
80
๐ Project Structure
lib/
โโโ models
โ โโโ question.dart
โ โโโ interview_result.dart
โโโ controllers
โ โโโ interview_controller.dart
โโโ widgets
โ โโโ question_card.dart
โ โโโ timer_widget.dart
โ โโโ difficulty_badge.dart
โโโ screens
โโโ question_bank.dart
โโโ mock_interview.dart
๐ฏ Use Cases
Perfect for:
- Coding interview apps
- Developer preparation platforms
- Online learning systems
- Quiz applications
- Skill assessment tools
- Technical training apps
๐งช Testing
Run tests:
flutter test
Analyze:
flutter analyze
๐ค Contributing
Contributions are welcome.
Steps:
-
Fork the repository
-
Create branch:
git checkout -b feature/new-feature
- Commit:
git commit -m "Add new feature"
- Push:
git push origin feature/new-feature
- Create Pull Request
๐จโ๐ป About Me
โจ Iโm Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
Learn more about my work:
Website:
LinkedIn:
https://www.linkedin.com/in/sufyanism
๐ Zeba Academy
Your all-in-one learning hub!
๐ Explore courses and resources in coding, technology, and development.
Learn through:
- Practical tutorials
- Real-world projects
- Hands-on experience
Visit:
Main Website:
Coding Resources:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
๐ License
Copyright (C) 2026 Zeba Academy
This project is licensed under the GNU General Public License v3.0.
You are free to:
- Use this package
- Modify the source code
- Distribute copies
- Improve the project
Modified versions must remain open-source under GPL v3.
See LICENSE file for complete details.
โญ Support
If this package helps you:
โญ Star the repository
Share with developers
Keep building amazing Flutter projects ๐
Made with โค๏ธ using Flutter