mirror of
https://github.com/AdrianKuta/KahootQuiz.git
synced 2025-09-14 17:24:21 +02:00
feat: Implement initial project structure and network layer
This commit introduces the foundational structure of the Kahoot Quiz application and implements the core network layer. Key changes include: - Added new Gradle modules: `core:network`, `domain`, `model:data`, and `ui:quiz`. - Configured Detekt for static code analysis in the new modules. - Implemented Retrofit and Gson for network communication and JSON parsing. - Defined DTOs for the Kahoot quiz API response, splitting them into logical files (QuizResponseDto, CommonDtos, CoverDtos, QuestionDtos, MetadataDtos, ContentTagsDto) for better organization. - Created `QuizApi` interface with a GET request for fetching quiz data. - Added `QuizService` interface and its initial implementation `QuizServiceImpl`. - Set up Hilt for dependency injection in the network module, providing Retrofit and QuizApi instances. - Included a `sample_quiz.json` file for testing and development. - Added unit tests (`QuizResponseDtoParsingTest`) to verify the correct parsing of the sample JSON into DTOs. - Updated `.gitignore` to exclude additional generated files and IDE specific folders. - Modified `settings.gradle.kts` to include the new modules. - Updated `app/build.gradle.kts` to include dependencies on the new `ui:quiz` and `model:data` modules and removed unused dependencies.
This commit is contained in:
11
domain/build.gradle.kts
Normal file
11
domain/build.gradle.kts
Normal file
@@ -0,0 +1,11 @@
|
||||
plugins {
|
||||
alias(libs.plugins.kahootquiz.android.library)
|
||||
alias(libs.plugins.kahootquiz.android.library.hilt)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "dev.adriankuta.kahootquiz.domain"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
}
|
10
domain/config/detekt/detekt.yml
Normal file
10
domain/config/detekt/detekt.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
# Deviations from defaults
|
||||
formatting:
|
||||
TrailingCommaOnCallSite:
|
||||
active: true
|
||||
autoCorrect: true
|
||||
useTrailingCommaOnCallSite: true
|
||||
TrailingCommaOnDeclarationSite:
|
||||
active: true
|
||||
autoCorrect: true
|
||||
useTrailingCommaOnDeclarationSite: true
|
Reference in New Issue
Block a user