{"id":28344231,"url":"https://github.com/droidbg/quiz_bank","last_synced_at":"2026-05-16T13:06:12.614Z","repository":{"id":198828251,"uuid":"440959204","full_name":"droidbg/quiz_bank","owner":"droidbg","description":"Quiz Bank - A Flutter package for true/false quiz questions. Perfect for educational apps, trivia games, and learning platforms. Custom question support ","archived":false,"fork":false,"pushed_at":"2025-11-23T09:25:53.000Z","size":1364,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-28T11:29:50.063Z","etag":null,"topics":["dart","education","flutter","learning","pub-dev","questions","quiz","quiz-app","quiz-bank","quiz-maker","quiz-questions","quizapp","trivia","true-false"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/quiz_bank","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/droidbg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-12-22T19:08:32.000Z","updated_at":"2025-11-23T09:25:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa9ea9b5-53bd-4188-808a-91a1e0d841b7","html_url":"https://github.com/droidbg/quiz_bank","commit_stats":null,"previous_names":["droidbg/quiz_bank"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/droidbg/quiz_bank","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droidbg%2Fquiz_bank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droidbg%2Fquiz_bank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droidbg%2Fquiz_bank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droidbg%2Fquiz_bank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/droidbg","download_url":"https://codeload.github.com/droidbg/quiz_bank/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droidbg%2Fquiz_bank/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33103977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","education","flutter","learning","pub-dev","questions","quiz","quiz-app","quiz-bank","quiz-maker","quiz-questions","quizapp","trivia","true-false"],"created_at":"2025-05-27T09:14:54.745Z","updated_at":"2026-05-16T13:06:12.607Z","avatar_url":"https://github.com/droidbg.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quiz Bank 🧠\n\n[![pub package](https://img.shields.io/pub/v/quiz_bank.svg)](https://pub.dev/packages/quiz_bank)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Flutter](https://img.shields.io/badge/Flutter-02569B?logo=flutter\u0026logoColor=white)](https://flutter.dev)\n\nA simple Flutter package for true/false quiz questions. Perfect for educational apps, trivia games, and learning platforms.\n\n## ✨ Features\n\n- 🎯 **Easy to Use** - Simple API with just a few lines of code\n- 📚 **Built-in Questions** - 20+ questions across different categories\n- 🎚️ **Difficulty Levels** - Easy to hard questions\n- 🔄 **Quiz Management** - Navigate questions, track scores, shuffle\n- ➕ **Custom Questions** - Add your own questions\n\n## 📸 Demo\n\n![Quiz Bank Demo](readme-assests/demo.gif)\n\n## 🚀 Quick Start\n\n### 1. Install the package\n\n**Option A: Using flutter pub add (recommended)**\n```bash\nflutter pub add quiz_bank\n```\n\n**Option B: Add to pubspec.yaml**\n```yaml\ndependencies:\n  quiz_bank: ^1.0.0\n```\n\n### 2. Basic Usage\n\n```dart\nimport 'package:quiz_bank/quiz_bank.dart';\n\nvoid main() {\n  // Create a quiz\n  final quiz = QuizBrain();\n  \n  // Get question and answer\n  print(quiz.questionText);      // \"Some cats are actually allergic to humans\"\n  print(quiz.correctAnswer);     // true\n  \n  // Check if user's answer is correct\n  bool userAnswer = true;\n  bool isCorrect = quiz.checkAnswer(userAnswer);  // true\n  \n  // Move to next question\n  quiz.nextQuestion();\n}\n```\n\n### 3. Simple Quiz App\n\n```dart\nclass MyQuizApp extends StatefulWidget {\n  @override\n  _MyQuizAppState createState() =\u003e _MyQuizAppState();\n}\n\nclass _MyQuizAppState extends State\u003cMyQuizApp\u003e {\n  QuizBrain quiz = QuizBrain();\n  int score = 0;\n\n  void _answerQuestion(bool answer) {\n    if (quiz.checkAnswer(answer)) {\n      score++;\n    }\n    quiz.nextQuestion();\n    setState(() {});\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: Column(\n        children: [\n          Text(quiz.questionText),\n          ElevatedButton(\n            onPressed: () =\u003e _answerQuestion(true),\n            child: Text('TRUE'),\n          ),\n          ElevatedButton(\n            onPressed: () =\u003e _answerQuestion(false),\n            child: Text('FALSE'),\n          ),\n          Text('Score: $score'),\n        ],\n      ),\n    );\n  }\n}\n```\n\n## 📱 Example App\n\nCheck out the [`example/`](example/) directory for a complete, simple quiz app that shows how to use the package.\n\n![Quiz Example](readme-assests/quiz-example.png)\n\n![Quiz Example 2](readme-assests/quiz-example-1.png)\n\n## 🎯 More Features\n\n### 📚 Question Categories\n\nGet questions from specific topics:\n\n```dart\n// Science questions only\nfinal scienceQuiz = QuizBrain.fromCategory('Science');\n\n// Technology questions\nfinal techQuiz = QuizBrain.fromCategory('Technology');\n\n// Geography questions  \nfinal geoQuiz = QuizBrain.fromCategory('Geography');\n```\n\n**Available categories:** Science, Technology, Geography, History, Nature, Sports, Entertainment, Food, Health, General\n\n### 🎚️ Difficulty Levels\n\nChoose how hard you want the questions:\n\n```dart\n// Easy questions (Level 1)\nfinal easyQuiz = QuizBrain.fromDifficulty(1);\n\n// Medium questions (Level 3)\nfinal mediumQuiz = QuizBrain.fromDifficulty(3);\n\n// Hard questions (Level 5)\nfinal hardQuiz = QuizBrain.fromDifficulty(5);\n```\n\n**Difficulty levels:** 1 (Easy) to 5 (Hard)\n\n### 🔀 Quiz Controls\n\nNavigate and manage your quiz:\n\n```dart\nquiz.nextQuestion();        // Go to next question\nquiz.previousQuestion();    // Go back to previous question  \nquiz.randomQuestion();      // Jump to random question\nquiz.shuffleQuestions();    // Mix up all questions\nquiz.reset();              // Start over from beginning\n```\n\n### ➕ Custom Questions\n\nAdd your own questions:\n\n```dart\n// Create quiz with your questions\nfinal myQuiz = QuizBrain(questions: [\n  Question(text: 'Is Flutter awesome?', answer: true),\n  Question(text: 'Dart is easy to learn?', answer: true),\n]);\n\n// Add questions to existing quiz\nquiz.addQuestion(Question(text: 'New question?', answer: false));\n```\n\n### 📊 Quiz Information\n\nGet details about your quiz:\n\n```dart\nprint('Total questions: ${quiz.totalQuestions}');\nprint('Current question: ${quiz.currentQuestionNumber}');\nprint('Is finished: ${quiz.isFinished}');\nprint('Has next question: ${quiz.hasNextQuestion}');\n```\n\n### 🏷️ Question Details\n\nGet extra information about the current question:\n\n```dart\n// Basic question info\nprint('Question: ${quiz.questionText}');\nprint('Answer: ${quiz.correctAnswer}');\n\n// Extra details (if available)\nprint('Category: ${quiz.currentCategory}');        // e.g., \"Science\"\nprint('Difficulty: ${quiz.currentDifficulty}');    // e.g., 3\nprint('Explanation: ${quiz.currentExplanation}');  // e.g., \"Because...\"\nprint('Source: ${quiz.currentSource}');            // e.g., \"Wikipedia\"\n```\n\n### 🎯 Combine Features\n\nMix and match different features:\n\n```dart\n// Easy science questions only\nfinal easyScienceQuiz = QuizBrain.fromCategoryAndDifficulty('Science', 1);\n\n// Shuffle all questions\nfinal shuffledQuiz = QuizBrain(shuffle: true);\n\n// Custom questions with categories\nfinal customQuiz = QuizBrain(questions: [\n  Question(\n    text: 'Is Flutter cross-platform?', \n    answer: true,\n    category: 'Technology',\n    difficulty: 2,\n    explanation: 'Flutter works on iOS, Android, Web, and Desktop!',\n  ),\n]);\n```\n\n## 📚 API Reference\n\n### Main Methods\n\n| Method | Description |\n|--------|-------------|\n| `QuizBrain()` | Create a new quiz |\n| `quiz.questionText` | Get current question |\n| `quiz.correctAnswer` | Get correct answer (true/false) |\n| `quiz.checkAnswer(answer)` | Check if answer is correct |\n| `quiz.nextQuestion()` | Go to next question |\n| `quiz.isFinished` | Check if quiz is done |\n| `quiz.totalQuestions` | Get total number of questions |\n\n## 🔄 Upgrading from 0.0.2\n\nYour existing code works with **zero changes**! Just update the version number:\n\n```yaml\ndependencies:\n  quiz_bank: ^1.0.0  # was ^0.0.2\n```\n\nYour old code still works:\n```dart\nQuizBrain quiz_brain = QuizBrain();\nquiz_brain.RandomQuestion();\nString text = quiz_brain.getQuestionText();\n```\n\nBut you can also use the new API:\n```dart\nQuizBrain quiz = QuizBrain();\nquiz.randomQuestion();\nString text = quiz.questionText;\n```\n\n## 🤝 Contributing\n\nFound a bug or want to add a feature? Open an issue or submit a pull request!\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n---\n\nMade with ❤️ by [Binni G.](https://www.linkedin.com/in/binni-goel/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroidbg%2Fquiz_bank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdroidbg%2Fquiz_bank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroidbg%2Fquiz_bank/lists"}