Quiz App
This is a Quiz App built using Flutter. The application allows users to take quizzes and view results in an engaging and interactive manner. It integrates an API for fetching quiz data and organizes the codebase using the MVC (Model-View-Controller) pattern for better maintainability.
Features
Interactive Quiz Interface: A user-friendly quiz experience with responsive design.
API Integration: Fetches quiz data dynamically from an external API.
Result Screen: Displays quiz results at the end of each quiz.
Modular Code Structure: Clean and maintainable project structure using separate folders for models, screens, services, and widgets.
Project Structure
The project is organized as follows: lib/ |-- models/ |-- quiz_question.dart # Model for quiz questions |-- quiz.dart # Model for the quiz structure |-- screens/ |-- home_screen.dart # Home screen of the app |-- quiz_screen.dart # Screen to display the quiz |-- result_screen.dart # Screen to display results |-- services/ |-- api_service.dart # API integration for fetching quiz data |-- widgets/ |-- quiz_view.dart # Widget for rendering quiz-related UI components |-- main.dart # Entry point of the application
API Integration
The app fetches quiz data dynamically through an external API. The integration was implemented with the help of Copilot for generating boilerplate code and streamlining the API service layer.
File: lib/services/api_service.dart
Handles HTTP requests and parses JSON data.
Uses the http package for API communication.
Screenshots and Demo
View the app screenshots and demo video in the Google Drive link below: App Overview
Contributions
Contributions are welcome! Feel free to open an issue or submit a pull request for any improvements or suggestions.
License
This project is licensed under the MIT License.