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.mdHere’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.