/Quiz-Genius

Introducing Quiz Genius: The ultimate Flutter quiz app with Firebase authentication, dynamic quizzes, real-time feedback, and personalized profiles. Join now to test your knowledge, track progress, and challenge friends. Clone, customize, and conquer quizzes. Start your intellectual adventure today!

Primary LanguageDartMozilla Public License 2.0MPL-2.0

Quiz Genius - A Flutter Quiz App

Quiz Genius is a quiz app built with Flutter and Dart, designed to provide an engaging quiz experience with various features that enhance user interaction and performance tracking.

Stars 🌟 Forks🍴 Issues πŸ› Pull πŸ”” Requests Closed PRs πŸ”•
Stars Forks Issues Pull Requests Closed PRs

This project is now OFFICIALLY accepted for

Event Logo Event Name Event Description
GSSoC 24 GirlScript Summer of Code 2024 GirlScript Summer of Code is a three-month-long Open Source Program conducted every summer by GirlScript Foundation. It is an initiative to bring more beginners to Open-Source Software Development.
Hacktoberfest 2024 Hacktoberfest 2024 Hacktoberfest is a month-long celebration of open source software run by DigitalOcean, GitHub, and Twilio. It encourages contributions to open source projects and promotes a global community of developers.

Table of Contents

  1. UI Preview
  2. Features
  3. Technical Implementation
  4. Example of API Structure
  5. Contributing to Quiz Genius
  6. Reporting Bugs and Requesting Features
  7. Code Contributions
  8. Getting Started

UI Preview

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4

Features

  • User Profile: Each user has a profile that saves their name and quiz performance for easy tracking.
  • Quiz History: View previous quizzes and scores, allowing users to review past performance and questions.
  • Login & Data Saving: User progress is saved through Firebase, ensuring continuity between sessions.
  • Take a Quiz: Users can start a new quiz and test their knowledge on a variety of topics.

Technical Implementation

  • User Login: Authentication (login, sign-up, sign-in) is managed using Firebase Authentication.
  • Data Storage: User data and quiz performance are stored securely using Cloud Firestore.
  • Questions Bank: Quiz questions are fetched from a third-party API using JSON serialization to handle the data.
  • User-Friendly UI: The app features a professional and intuitive UI, providing a seamless user experience.

Example of API Structure

(Question Bank)

The questions are pulled from an external API with the following structure:

{
  "results": [
    {
      "type": "boolean",
      "difficulty": "medium",
      "category": "Geography",
      "question": "Is Tartu the capital of Estonia?",
      "correct_answer": "False",
      "incorrect_answers": [
        "True"
      ]
    }
  ]
}

Contributing to Quiz Genius

Thank you for your interest in contributing to Quiz Genius! We greatly appreciate community involvement to help enhance the app and introduce new features. Whether you're reporting bugs or submitting code contributions, your input is valuable. For more detailed information on how to contribute, please refer to the CONTRIBUTING.md file. Here are some guidelines to help you get started:

Reporting Bugs and Requesting Features

If you encounter a bug or have a suggestion for a new feature, please open an issue. Provide as much detail as possible, including clear reproduction steps if it's a bug. This helps us better understand and address the problem or request.

Code Contributions

Contributions that improve functionality or user experience are always welcome. Follow these steps to contribute:

  1. Fork this repository to your GitHub account.
  2. Clone your forked repository locally.
  3. Create a new branch for your changes: git checkout -b your-branch-name.
  4. Implement your changes, ensuring they adhere to the Flutter style guide.
  5. Test your changes thoroughly to verify everything works correctly.
  6. Commit your work with a detailed message: git commit -m "Description of changes".
  7. Push your branch to your GitHub fork: git push origin your-branch-name.
  8. Submit a pull request to the main repository's main branch, describing the purpose and scope of your changes.

We look forward to your contributions!

Getting Started

To run the Quiz Genius app locally, you need to have Flutter and Dart installed on your machine. Follow these steps:

  1. Clone this repository:
git clone https://github.com/yagnik2411/Quiz-Genius.git
  1. Navigate to the project's root directory:
cd Quiz-Genius
  1. Install dependencies:
flutter pub get
  1. Check for Flutter setup and connected devices:
flutter doctor
  1. Run the app:
flutter run

Our Contributors

Thank you for contributing to our repository

Contributors

  • We extend our heartfelt gratitude for your invaluable contribution to our project! Your efforts play a pivotal role in elevating this project to greater heights.
  • Make sure you show some love by giving ⭐ to our repository.

πŸ‘₯ Team

Yagnik Panchal Kirolos Mayiz Fahem
Yagnik Panchal
Project Admin
Kirolos Mayiz Fahem
Project Mentor
LinkedIn Gmail LinkedIn

For any inquiries or feedback, please contact. Happy Contributing 🫑