Struktura:

ZZZapp:

  • Maui věci

    • program

    • bla

    • bla

    • bla

    • nevim co dal prostě věci na program

  • Kvízy

    • Morseovka:

      • jednoduchá (pouze základní písmena )

      • střední ( základní písmena a čísla )

      • obtížná (všechny znaky v morseovce)

    • Semafor (abeceda s praporky)

    • Zvířata

      • savci

      • ptáci

      • obojzivelnici/plazi

      • ryby

      • bezobratli

    • rostliny

      • houby

      • dreviny

      • byliny

    • geografie

      • pamětihodnosti

      • Mapové značky

    • souhvězdí

ZZZapp/
├── Assets/
│   ├── Images/ (všechny obrázky kvízů)
│   └── Sounds/ (zvukové efekty)
├── Models/
│   ├── QuizCategory.cs
│   ├── QuizDifficulty.cs
│   ├── QuizSettings.cs
│   ├── Question.cs
│   ├── Answer.cs
│   ├── QuizResult.cs
│   └── UserStatistics.cs
├── Services/
│   ├── Interfaces/
│   │   ├── IQuizService.cs
│   │   ├── IDataService.cs
│   │   └── IQuizSession.cs
│   ├── QuizService.cs
│   ├── DataService.cs
│   └── QuizSession.cs
├── ViewModels/
│   ├── BaseViewModel.cs
│   ├── MainViewModel.cs
│   ├── QuizSelectionViewModel.cs
│   ├── QuizSettingsViewModel.cs
│   ├── QuizViewModel.cs
│   └── ResultsViewModel.cs
├── Views/
│   ├── MainPage.xaml
│   ├── QuizSelectionPage.xaml
│   ├── QuizSettingsPage.xaml
│   ├── QuizPage.xaml
│   └── ResultsPage.xaml
├── App.xaml
├── AppShell.xaml
├── appsettings.json
└── README.md

Here’s a comprehensive description of each class in your project structure:

Models/

  • QuizCategory.cs

    Defines quiz categories (Morse code, semaphore, nature, etc.) with properties like CategoryType, Name, and DifficultyLevel.

  • QuizDifficulty.cs

    Enum defining difficulty levels (Easy, Medium, Hard) for quizzes.

  • QuizSettings.cs

    Stores user preferences like number of questions, randomization settings, and timer options.

  • Question.cs

    Represents a quiz question with Text, ImagePath, Answers collection, and Category.

  • Answer.cs

    Contains answer Text, IsCorrect flag, and IsSelected state for UI binding.

  • QuizResult.cs

    Tracks quiz results including Score, TimeTaken, DateCompleted, and incorrect answers.

  • UserStatistics.cs

    Stores user progress, completed quizzes, and category-wise performance metrics.

Services/Interfaces/

  • IQuizService.cs

    Interface for quiz operations: loading questions, calculating results, and saving progress.

  • IDataService.cs

    Interface for data access: loading categories and questions from storage.

  • IQuizSession.cs

    Interface for active quiz session management: question sets and settings.

Services/

  • QuizService.cs

    Implements quiz logic: question randomization, answer checking, and result calculation.

  • DataService.cs

    Handles data loading from JSON files with error fallback to default questions.

  • QuizSession.cs

    Manages current quiz state: selected questions, timer, and user answers.

ViewModels/

  • BaseViewModel.cs

    Base class with INotifyPropertyChanged implementation and common properties.

  • MainViewModel.cs

    Handles app startup and main navigation logic.

  • QuizSelectionViewModel.cs

    Manages category selection screen with available quizzes and recent results.

  • QuizSettingsViewModel.cs

    Controls user preferences and quiz configuration.

  • QuizViewModel.cs

    Core quiz logic: question progression, timing, and answer handling.

  • ResultsViewModel.cs

    Displays quiz results and provides retry/navigation commands.

Views/

  • MainPage.xaml

    Entry point with app logo and main navigation options.

  • QuizSelectionPage.xaml

    Displays category cards and recent quiz history.

  • QuizSettingsPage.xaml

    Configuration screen for quiz preferences.

  • QuizPage.xaml

    Main quiz interface with questions, answers, and progress tracking.

  • ResultsPage.xaml

    Summary screen showing score, correct answers, and time taken.

Converters/

  • StringToVisibilityConverter.cs

    Converts empty strings to UI element visibility.

  • InverseBoolConverter.cs

    Inverts boolean values for UI bindings.

  • IntToBoolConverter.cs

    Converts integers to boolean (e.g., 0 = false).

  • CategoryToStringConverter.cs

    Maps category enums to display names with localization.

Resources/

  • Colors.xaml

    Defines app color palette and themes.

  • Styles.xaml

    Contains reusable UI styles and templates.

Root Files

  • App.xaml

    Application-level resources and styles.

  • AppShell.xaml

    Main navigation structure and routes.

  • appsettings.json

    Configuration for API endpoints and default settings.

  • MauiProgram.cs

    Dependency injection setup and app initialization.

Note: Some file extensions in your image appear incorrect (.xml/.tif should be .xaml/.ttf). The descriptions assume the correct .NET MAUI file formats.