From 189cde5ae3e98dd609b106310157634efbbca092 Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 08:46:09 +0100 Subject: [PATCH 1/8] ajout dto question / reponse --- .../model/dto/{Difficulte.kt => DifficulteDTO.kt} | 2 +- .../java/fr/iut/sciencequest/model/dto/QuestionDTO.kt | 10 ++++++++++ .../java/fr/iut/sciencequest/model/dto/ReponseDTO.kt | 11 +++++++++++ .../model/dto/{Scientifique.kt => ScientifiqueDTO.kt} | 2 +- .../model/dto/{Thematique.kt => ThematiqueDTO.kt} | 2 +- .../java/fr/iut/sciencequest/model/metier/Question.kt | 7 +++++++ .../java/fr/iut/sciencequest/model/metier/Reponse.kt | 9 +++++++++ 7 files changed, 40 insertions(+), 3 deletions(-) rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{Difficulte.kt => DifficulteDTO.kt} (73%) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{Scientifique.kt => ScientifiqueDTO.kt} (88%) rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{Thematique.kt => ThematiqueDTO.kt} (73%) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt similarity index 73% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt index cd4f41e..fd3231e 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt @@ -1,6 +1,6 @@ package fr.iut.sciencequest.model.dto -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class DifficulteDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt new file mode 100644 index 0000000..84b66d0 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt @@ -0,0 +1,10 @@ +package fr.iut.sciencequest.model.dto + +import kotlinx.serialization.Serializable + +@Serializable +class QuestionDTO ( + val id: Int, + val question: String, + val reponses: List +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt new file mode 100644 index 0000000..7794ee1 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt @@ -0,0 +1,11 @@ +package fr.iut.sciencequest.model.dto + +import kotlinx.serialization.Serializable + +@Serializable +class ReponseDTO ( + val id: Int, + val reponse: String, + val question: QuestionDTO, + val scientifique: ScientifiqueDTO +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt similarity index 88% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt index 89f8eda..605b44c 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt @@ -1,7 +1,7 @@ package fr.iut.sciencequest.model.dto import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class ScientifiqueDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt similarity index 73% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt index b07da37..a1deae5 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt @@ -1,6 +1,6 @@ package fr.iut.sciencequest.model.dto -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class ThematiqueDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt new file mode 100644 index 0000000..d6c1550 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt @@ -0,0 +1,7 @@ +package fr.iut.sciencequest.model.metier +class Question( + val id: Int, + val question: String, + val reponses: List +) {} + diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt new file mode 100644 index 0000000..aaacc6d --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.model.metier + +class Reponse ( + val id: Int, + val reponse: String, + val question: Question, + val scientifique: Scientifique +) {} + From 90947bcbfc39ef74e148911551b8fa8acd0b1b7a Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 08:50:25 +0100 Subject: [PATCH 2/8] dossier pour dto reponse et question --- .../iut/sciencequest/model/dto/{ => question}/QuestionDTO.kt | 3 ++- .../fr/iut/sciencequest/model/dto/{ => reponse}/ReponseDTO.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{ => question}/QuestionDTO.kt (60%) rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{ => reponse}/ReponseDTO.kt (54%) diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt similarity index 60% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt index 84b66d0..11e9096 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/QuestionDTO.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt @@ -1,5 +1,6 @@ -package fr.iut.sciencequest.model.dto +package fr.iut.sciencequest.model.dto.question +import fr.iut.sciencequest.model.dto.reponse.ReponseDTO import kotlinx.serialization.Serializable @Serializable diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt similarity index 54% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt index 7794ee1..e7233d6 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/ReponseDTO.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt @@ -1,5 +1,7 @@ -package fr.iut.sciencequest.model.dto +package fr.iut.sciencequest.model.dto.reponse +import fr.iut.sciencequest.model.dto.question.QuestionDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTO import kotlinx.serialization.Serializable @Serializable From c8fb640d18e2d28bb92c79768c838f0bb244e9e9 Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 08:50:49 +0100 Subject: [PATCH 3/8] ajout dto simple pour question contenant uniquement une liste des reponses avec un string --- .../dto/question/QuestionWithSimpleResponseDTO.kt | 11 +++++++++++ .../model/dto/reponse/ReponseSimpleDTO.kt | 9 +++++++++ 2 files changed, 20 insertions(+) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt create mode 100644 android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt new file mode 100644 index 0000000..5a87330 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt @@ -0,0 +1,11 @@ +package fr.iut.sciencequest.model.dto.question + +import fr.iut.sciencequest.model.dto.reponse.ReponseDTO +import kotlinx.serialization.Serializable + +@Serializable +class QuestionWithSimpleResponseDTO( + val id: Int, + val question: String, + val reponses: List +){} \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt new file mode 100644 index 0000000..beb9af6 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.model.dto.reponse + +import kotlinx.serialization.Serializable + +@Serializable +class ReponseSimpleDTO( + val id: Int, + val reponse: String, +) \ No newline at end of file From cad113168ff025388265c10b64b99ce8fe577bb5 Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 09:00:23 +0100 Subject: [PATCH 4/8] fix constructor --- .../model/dto/question/QuestionWithSimpleResponseDTO.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt index 5a87330..651a8b8 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt @@ -1,11 +1,12 @@ package fr.iut.sciencequest.model.dto.question import fr.iut.sciencequest.model.dto.reponse.ReponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO import kotlinx.serialization.Serializable @Serializable class QuestionWithSimpleResponseDTO( val id: Int, val question: String, - val reponses: List -){} \ No newline at end of file + val reponses: List +) \ No newline at end of file From 63f60b34b0fa5c0f166eca6ea12dc15829195d81 Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 09:32:37 +0100 Subject: [PATCH 5/8] extensible dto questionwithsimplereponse --- .../model/dto/question/QuestionWithSimpleResponseDTO.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt index 651a8b8..05dcc07 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt @@ -1,11 +1,10 @@ package fr.iut.sciencequest.model.dto.question -import fr.iut.sciencequest.model.dto.reponse.ReponseDTO import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO import kotlinx.serialization.Serializable @Serializable -class QuestionWithSimpleResponseDTO( +open class QuestionWithSimpleResponseDTO( val id: Int, val question: String, val reponses: List From 9d398496757de5457a3d1c952879367c53d05a7e Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 09:33:00 +0100 Subject: [PATCH 6/8] ajout interface base kahoot --- .../fr/iut/sciencequest/view/games/Kahoot.kt | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt new file mode 100644 index 0000000..5d13b14 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt @@ -0,0 +1,63 @@ +package fr.iut.sciencequest.view.games + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import fr.iut.sciencequest.R +import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO +import fr.iut.sciencequest.stub.StubQuestionWithReponses +import fr.iut.sciencequest.view.TopBar + +@Composable +fun KahootScreen(goToAccount: () -> Unit, goToHome: () -> Unit, question: QuestionWithSimpleResponseDTO) { + Column(modifier = Modifier.fillMaxWidth()) { + TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) + KahootPlayer(question) + } +} + +@Preview +@Composable +fun KahootScreenPreview(){ + KahootScreen(goToAccount = {}, goToHome = {}, StubQuestionWithReponses) +} + + +@Preview +@Composable +fun KahootPlayerPreview(){ + KahootPlayer(question = StubQuestionWithReponses) +} + + +@Composable +fun KahootPlayer(question: QuestionWithSimpleResponseDTO){ + Column { + KahootQuestion(question = question.question) + KahootReponses(reponses = question.reponses) + } +} + + +@Composable +fun KahootReponses(reponses : List) { + LazyVerticalGrid(columns = GridCells.Fixed(2)) { + reponses.forEach { + item() { + Text(it.reponse) + } + } + } +} + +@Composable +fun KahootQuestion(question: String){ + Text(question) +} \ No newline at end of file From 85084cbd1c2c66755047dd57b5134b60625908c8 Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 09:33:10 +0100 Subject: [PATCH 7/8] ajout stub question/reponses --- .../sciencequest/stub/QuestionWithReponses.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt diff --git a/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt new file mode 100644 index 0000000..6bb7c56 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt @@ -0,0 +1,16 @@ +package fr.iut.sciencequest.stub + +import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO + +object StubQuestionWithReponses: QuestionWithSimpleResponseDTO( + id = 0, + question = "Ceci est une question ?", + reponses = listOf( + ReponseSimpleDTO(id=0, "Reponse 1"), + ReponseSimpleDTO(id=1, "Reponse 2"), + ReponseSimpleDTO(id=1, "Reponse 3"), + ReponseSimpleDTO(id=1, "Reponse 4"), + ) +) +{} \ No newline at end of file From c0cfd2014acb544a80604eb9824b4332c61f9a0e Mon Sep 17 00:00:00 2001 From: visoulier Date: Wed, 20 Mar 2024 09:33:17 +0100 Subject: [PATCH 8/8] ajout kahoot --- android/app/src/main/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 2c76941..3c7e941 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -6,4 +6,5 @@ Mot de passe Compte Pendu + Kahoot \ No newline at end of file