Skip to content

Mohamedismaell/Quiz_app_flutter

Repository files navigation

🧠 Quiz App (Flutter)

A simple and interactive Quiz Application built with Flutter & Dart 📱
The app presents multiple-choice questions, tracks user answers, and displays a detailed results summary at the end.

This project focuses on learning Flutter fundamentals such as widget composition, state management, and UI navigation.


📌 Project Overview

The Quiz App guides users through a set of predefined questions.
Each question has multiple answers, and the selected answers are stored and evaluated.
After completing the quiz, the user is shown a results screen with a score and answer breakdown.


🚀 Features

  • Start screen to begin the quiz
  • Multiple-choice questions
  • Dynamic question rendering
  • Answer selection handling
  • Results screen with score summary
  • Question-by-question answer review
  • Gradient-based UI background
  • Modular and reusable widgets

📸 Screenshots

Light

🛠 Tech Stack

  • Flutter
  • Dart
  • Material Design

📁 Project Structure

lib/ ├── main.dart ├── quiz.dart ├── start_screen.dart ├── question_screen.dart ├── result_screen.dart ├── answer_button.dart ├── answer_list.dart ├── question_summary.dart ├── gradiant_color.dart ├── models/ │ └── quiz_question.dart └── data/ └── questions.dart


⚙️ How It Works

  1. The app starts with a welcome screen
  2. Questions are loaded from a predefined list
  3. The user selects one answer per question
  4. Selected answers are stored in memory
  5. After the last question, a results screen is displayed
  6. The results screen shows:
  • Total score
  • User answers
  • Correct answers

🚀 Getting Started Prerequisites

Flutter SDK Android Studio or VS Code Emulator or physical device

🛠 Installation

git clone https://github.com/Mohamedismaell/Quiz_app_flutter.git cd Quiz_app_flutter flutter pub get flutter run

🎯 Learning Outcomes

  • Understanding StatelessWidget vs StatefulWidget
  • Managing state using setState()
  • Passing data and callbacks between widgets
  • Building reusable Flutter components
  • Structuring small Flutter applications

Future Improvements

  • Add a timer for each question
  • Randomize question order
  • Add animations between screens
  • Store results locally
  • Add difficulty levels or categories

📜 License

This project is open-source and intended for learning and educational purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors