From dba9eb8692cc47d325ebb12f9882f35c6161896f Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 31 Mar 2026 10:13:12 +0200 Subject: [PATCH] feat(bisaya-course): enhance evening and sleep routines in course content - Updated the Bisaya course to include new evening greetings and sleep-related phrases in core patterns. - Added multiple exercises focusing on recognizing and using these phrases, improving practical language skills for learners. - Expanded lesson didactics to incorporate prompts for evening and sleep routines, enriching the overall learning experience. --- .gitea/workflows/deploy.yml | 32 +++++-- .../scripts/apply-bisaya-course-refresh.js | 10 ++- .../scripts/create-bisaya-course-content.js | 90 +++++++++++++++++++ backend/scripts/create-bisaya-course.js | 30 ++++++- backend/scripts/update-bisaya-didactics.js | 10 ++- 5 files changed, 158 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index c659f9f..f3f4db0 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy to production +name: Deploy yourpart (blue-green) on: push: @@ -9,26 +9,44 @@ jobs: deploy: runs-on: ubuntu-latest + env: + SSH_HOST: ${{ vars.PROD_HOST }} + SSH_PORT: ${{ vars.PROD_PORT }} + SSH_USER: ${{ vars.PROD_USER }} + steps: + - name: Show resolved non-secret config + run: | + echo "SSH_HOST=$SSH_HOST" + echo "SSH_PORT=$SSH_PORT" + echo "SSH_USER=$SSH_USER" + - name: Prepare SSH run: | + set -e mkdir -p ~/.ssh printf "%s" "${{ secrets.PROD_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - ssh-keyscan -p "${{ secrets.PROD_PORT }}" "${{ secrets.PROD_HOST }}" >> ~/.ssh/known_hosts + ssh-keyscan -p "$SSH_PORT" "$SSH_HOST" >> ~/.ssh/known_hosts - name: Test SSH connection run: | + set -e ssh -i ~/.ssh/id_ed25519 \ -o StrictHostKeyChecking=no \ -o BatchMode=yes \ - -p "${{ secrets.PROD_PORT }}" \ - "${{ secrets.PROD_USER }}@${{ secrets.PROD_HOST }}" \ + -o ConnectTimeout=10 \ + -p "$SSH_PORT" \ + "$SSH_USER@$SSH_HOST" \ "echo SSH OK" - - name: Run deployment script + - name: Run blue-green deployment run: | + set -e ssh -i ~/.ssh/id_ed25519 \ - -p "${{ secrets.PROD_PORT }}" \ - "${{ secrets.PROD_USER }}@${{ secrets.PROD_HOST }}" \ + -o StrictHostKeyChecking=no \ + -o BatchMode=yes \ + -o ConnectTimeout=10 \ + -p "$SSH_PORT" \ + "$SSH_USER@$SSH_HOST" \ "/home/tsschulz/deploy-yourpart-bluegreen.sh" \ No newline at end of file diff --git a/backend/scripts/apply-bisaya-course-refresh.js b/backend/scripts/apply-bisaya-course-refresh.js index 98e337f..0f9767d 100644 --- a/backend/scripts/apply-bisaya-course-refresh.js +++ b/backend/scripts/apply-bisaya-course-refresh.js @@ -22,16 +22,20 @@ const LESSON_DIDACTICS = { 'Höfliche Reaktionen wie Danke und Bitte passend einsetzen.', 'Ein kurzes Begrüßungs-Mini-Gespräch laut üben.' ], - corePatterns: ['Kumusta ka?', 'Maayong buntag.', 'Maayong adlaw.', 'Maayong gabii.', 'Maayong gabii, matulog na ta.', 'Katulog og maayo.', 'Amping.', 'Babay.', 'Maayo ko.', 'Salamat.', 'Palihug.'], + corePatterns: ['Kumusta ka?', 'Maayong buntag.', 'Maayong adlaw.', 'Maayong gabii.', 'Maayong gabii, matulog na ta.', 'Katulog og maayo.', 'Kapoy na ka?', 'Matulog na ta.', 'Inom sa og tubig.', 'Patya ang suga.', 'Tabuni ang imong kaugalingon.', 'Ugma nasad.', 'Damgo og nindot.', 'Amping.', 'Babay.', 'Maayo ko.', 'Salamat.', 'Palihug.'], grammarFocus: [ { title: 'Kurzantworten mit ko', text: 'Mit "ko" sprichst du über dich selbst: "Maayo ko."', example: 'Maayo ko. = Mir geht es gut.' }, { title: 'Maayong + Tageszeit', text: 'Mit "Maayong" kannst du Grüße für verschiedene Tageszeiten bilden.', example: 'Maayong buntag. / Maayong gabii.' }, - { title: 'Abend und Schlafen', text: 'Im Familienalltag folgen auf einen Abendgruß oft direkte Schlafens- oder Fürsorgeformeln.', example: 'Maayong gabii. / Katulog og maayo.' } + { title: 'Abend und Schlafen', text: 'Im Familienalltag folgen auf einen Abendgruß oft direkte Schlafens- oder Fürsorgeformeln.', example: 'Maayong gabii. / Katulog og maayo.' }, + { title: 'Sanfte Schlafensroutine', text: 'Kurze Fragen nach Müdigkeit und kleine Aufforderungen klingen im Familienalltag natürlicher als lange Sätze.', example: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' }, + { title: 'Familiäre Abendformeln', text: 'Am Abend folgen oft sehr kurze Handlungsformeln wie Licht aus, zudecken oder ein Schlafwunsch.', example: 'Patya ang suga. Tabuni ang imong kaugalingon. Damgo og nindot.' } ], speakingPrompts: [ { title: 'Mini-Gespräch', prompt: 'Begrüße eine Person, frage nach dem Befinden und reagiere höflich.', cue: 'Kumusta ka? Maayo ko. Salamat.' }, { title: 'Verabschiedung', prompt: 'Verabschiede dich kurz und wünsche, dass die andere Person auf sich aufpasst.', cue: 'Babay. Amping.' }, - { title: 'Abend und Schlaf', prompt: 'Wünsche einen guten Abend, eine gute Nacht und dass die Person gut schlafen soll.', cue: 'Maayong gabii. Katulog og maayo.' } + { title: 'Abend und Schlaf', prompt: 'Wünsche einen guten Abend, eine gute Nacht und dass die Person gut schlafen soll.', cue: 'Maayong gabii. Katulog og maayo.' }, + { title: 'Schlafensroutine', prompt: 'Frage, ob die Person müde ist, und leite dann sanft zum Schlafengehen über.', cue: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' }, + { title: 'Vor dem Schlafen', prompt: 'Bitte darum, das Licht auszumachen, sich zuzudecken, und wünsche eine gute Nacht bis morgen.', cue: 'Patya ang suga. Tabuni ang imong kaugalingon. Ugma nasad. Damgo og nindot.' } ], practicalTasks: [{ title: 'Alltag', text: 'Sprich die Begrüßung dreimal laut und variiere die Antwort.' }] }, diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index 84f1019..f8ba483 100644 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -483,6 +483,66 @@ const BISAYA_EXERCISES = { }, explanation: '"Katulog og maayo." bedeutet sinngemäß "Schlaf gut."' }, + { + exerciseTypeId: 2, + title: 'Müdigkeit erkennen', + instruction: 'Wähle die passende Frage vor dem Schlafengehen.', + questionData: { + type: 'multiple_choice', + question: 'Wie fragst du: "Bist du schon müde?"', + options: ['Kapoy na ka?', 'Kumusta ka?', 'Asa ang sakayan?', 'Tagpila ni?'] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: '"Kapoy na ka?" ist eine natürliche Frage in der Abendroutine.' + }, + { + exerciseTypeId: 1, + title: 'Schlafensroutine ergänzen', + instruction: 'Fülle die Lücken mit den passenden Wörtern.', + questionData: { + type: 'gap_fill', + text: '{gap} na ta. Inom sa og {gap}.', + gaps: 2 + }, + answerData: { + type: 'gap_fill', + answers: ['Matulog', 'tubig'] + }, + explanation: '"Matulog na ta." und "Inom sa og tubig." ergeben zusammen eine sehr alltagsnahe Schlafensroutine.' + }, + { + exerciseTypeId: 2, + title: 'Licht aus erkennen', + instruction: 'Wähle die passende Abendaufforderung.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagst du: "Mach das Licht aus"?', + options: ['Patya ang suga.', 'Kumusta ka?', 'Mubayad ko.', 'Asa ang merkado?'] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: '"Patya ang suga." ist eine typische kurze Abendaufforderung.' + }, + { + exerciseTypeId: 2, + title: 'Zudecken und Schlafwunsch', + instruction: 'Wähle die passende warme Abendformel.', + questionData: { + type: 'multiple_choice', + question: 'Welche Formulierung passt am besten zu "Deck dich zu und träum schön"?', + options: ['Tabuni ang imong kaugalingon. Damgo og nindot.', 'Tagpila ni? Salamat.', 'Asa ang sakayan? Amping.', 'Kumusta ka? Maayo ko.'] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: 'Diese Kombination klingt sehr familientypisch und warm.' + }, { exerciseTypeId: 2, title: 'Verabschiedung erkennen', @@ -586,6 +646,36 @@ const BISAYA_EXERCISES = { type: 'speaking_from_memory' }, explanation: 'Die Übung verankert die Abend- und Schlafensformeln für den Familienalltag.' + }, + { + exerciseTypeId: 8, + title: 'Kurze Schlafensroutine sprechen', + instruction: 'Sprich eine kleine Abendroutine laut.', + questionData: { + type: 'speaking_from_memory', + question: 'Sprich: "Bist du müde? Lass uns schlafen gehen. Trink erst etwas Wasser."', + expectedText: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.', + keywords: ['kapoy', 'matulog', 'tubig'] + }, + answerData: { + type: 'speaking_from_memory' + }, + explanation: 'So wird aus Einzelwörtern eine kleine familiennahe Abendsequenz.' + }, + { + exerciseTypeId: 8, + title: 'Abendsequenz mit morgen sprechen', + instruction: 'Sprich eine warme Schlusssequenz für den Abend laut.', + questionData: { + type: 'speaking_from_memory', + question: 'Sprich: "Mach das Licht aus. Deck dich zu. Bis morgen. Träum was Schönes."', + expectedText: 'Patya ang suga. Tabuni ang imong kaugalingon. Ugma nasad. Damgo og nindot.', + keywords: ['suga', 'tabuni', 'ugma', 'damgo'] + }, + answerData: { + type: 'speaking_from_memory' + }, + explanation: 'Die Übung verbindet mehrere kleine Familienformeln zu einer natürlichen Abendsequenz.' } ], diff --git a/backend/scripts/create-bisaya-course.js b/backend/scripts/create-bisaya-course.js index 3a4d950..ea78407 100755 --- a/backend/scripts/create-bisaya-course.js +++ b/backend/scripts/create-bisaya-course.js @@ -22,7 +22,8 @@ const LESSON_DIDACTICS = { 'Einfache Begrüßungen verstehen und selbst verwenden.', 'Tageszeitbezogene Grüße und einfache Verabschiedungen unterscheiden.', 'Höfliche Reaktionen wie Danke und Bitte passend einsetzen.', - 'Ein kurzes Begrüßungs-Mini-Gespräch laut üben.' + 'Ein kurzes Begrüßungs-Mini-Gespräch laut üben.', + 'Eine kurze Abend- und Schlafensroutine im Familienalltag sprechen.' ], corePatterns: [ 'Kumusta ka?', @@ -31,6 +32,13 @@ const LESSON_DIDACTICS = { 'Maayong gabii.', 'Maayong gabii, matulog na ta.', 'Katulog og maayo.', + 'Kapoy na ka?', + 'Matulog na ta.', + 'Inom sa og tubig.', + 'Patya ang suga.', + 'Tabuni ang imong kaugalingon.', + 'Ugma nasad.', + 'Damgo og nindot.', 'Amping.', 'Babay.', 'Maayo ko.', @@ -52,6 +60,16 @@ const LESSON_DIDACTICS = { title: 'Abend und Schlafen', text: 'Im Familienalltag folgen auf einen Abendgruß oft direkte Schlafens- oder Fürsorgeformeln.', example: 'Maayong gabii. / Katulog og maayo.' + }, + { + title: 'Sanfte Schlafensroutine', + text: 'Kurze Fragen nach Müdigkeit und kleine Aufforderungen klingen im Familienalltag natürlicher als lange Sätze.', + example: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' + }, + { + title: 'Familiäre Abendformeln', + text: 'Am Abend folgen oft sehr kurze Handlungsformeln wie Licht aus, zudecken oder ein Schlafwunsch.', + example: 'Patya ang suga. Tabuni ang imong kaugalingon. Damgo og nindot.' } ], speakingPrompts: [ @@ -69,6 +87,16 @@ const LESSON_DIDACTICS = { title: 'Abend und Schlaf', prompt: 'Wünsche einen guten Abend, eine gute Nacht und dass die Person gut schlafen soll.', cue: 'Maayong gabii. Katulog og maayo.' + }, + { + title: 'Schlafensroutine', + prompt: 'Frage, ob die Person müde ist, und leite dann sanft zum Schlafengehen über.', + cue: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' + }, + { + title: 'Vor dem Schlafen', + prompt: 'Bitte darum, das Licht auszumachen, sich zuzudecken, und wünsche eine gute Nacht bis morgen.', + cue: 'Patya ang suga. Tabuni ang imong kaugalingon. Ugma nasad. Damgo og nindot.' } ], practicalTasks: [ diff --git a/backend/scripts/update-bisaya-didactics.js b/backend/scripts/update-bisaya-didactics.js index 443a53a..b3cdb78 100644 --- a/backend/scripts/update-bisaya-didactics.js +++ b/backend/scripts/update-bisaya-didactics.js @@ -18,16 +18,20 @@ const LESSON_DIDACTICS = { 'Höfliche Reaktionen wie Danke und Bitte passend einsetzen.', 'Ein kurzes Begrüßungs-Mini-Gespräch laut üben.' ], - corePatterns: ['Kumusta ka?', 'Maayong buntag.', 'Maayong adlaw.', 'Maayong gabii.', 'Maayong gabii, matulog na ta.', 'Katulog og maayo.', 'Amping.', 'Babay.', 'Maayo ko.', 'Salamat.', 'Palihug.'], + corePatterns: ['Kumusta ka?', 'Maayong buntag.', 'Maayong adlaw.', 'Maayong gabii.', 'Maayong gabii, matulog na ta.', 'Katulog og maayo.', 'Kapoy na ka?', 'Matulog na ta.', 'Inom sa og tubig.', 'Patya ang suga.', 'Tabuni ang imong kaugalingon.', 'Ugma nasad.', 'Damgo og nindot.', 'Amping.', 'Babay.', 'Maayo ko.', 'Salamat.', 'Palihug.'], grammarFocus: [ { title: 'Kurzantworten mit ko', text: 'Mit "ko" sprichst du über dich selbst: "Maayo ko."', example: 'Maayo ko. = Mir geht es gut.' }, { title: 'Maayong + Tageszeit', text: 'Mit "Maayong" kannst du Grüße für verschiedene Tageszeiten bilden.', example: 'Maayong buntag. / Maayong gabii.' }, - { title: 'Abend und Schlafen', text: 'Im Familienalltag folgen auf einen Abendgruß oft direkte Schlafens- oder Fürsorgeformeln.', example: 'Maayong gabii. / Katulog og maayo.' } + { title: 'Abend und Schlafen', text: 'Im Familienalltag folgen auf einen Abendgruß oft direkte Schlafens- oder Fürsorgeformeln.', example: 'Maayong gabii. / Katulog og maayo.' }, + { title: 'Sanfte Schlafensroutine', text: 'Kurze Fragen nach Müdigkeit und kleine Aufforderungen klingen im Familienalltag natürlicher als lange Sätze.', example: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' }, + { title: 'Familiäre Abendformeln', text: 'Am Abend folgen oft sehr kurze Handlungsformeln wie Licht aus, zudecken oder ein Schlafwunsch.', example: 'Patya ang suga. Tabuni ang imong kaugalingon. Damgo og nindot.' } ], speakingPrompts: [ { title: 'Mini-Gespräch', prompt: 'Begrüße eine Person, frage nach dem Befinden und reagiere höflich.', cue: 'Kumusta ka? Maayo ko. Salamat.' }, { title: 'Verabschiedung', prompt: 'Verabschiede dich kurz und wünsche, dass die andere Person auf sich aufpasst.', cue: 'Babay. Amping.' }, - { title: 'Abend und Schlaf', prompt: 'Wünsche einen guten Abend, eine gute Nacht und dass die Person gut schlafen soll.', cue: 'Maayong gabii. Katulog og maayo.' } + { title: 'Abend und Schlaf', prompt: 'Wünsche einen guten Abend, eine gute Nacht und dass die Person gut schlafen soll.', cue: 'Maayong gabii. Katulog og maayo.' }, + { title: 'Schlafensroutine', prompt: 'Frage, ob die Person müde ist, und leite dann sanft zum Schlafengehen über.', cue: 'Kapoy na ka? Matulog na ta. Inom sa og tubig.' }, + { title: 'Vor dem Schlafen', prompt: 'Bitte darum, das Licht auszumachen, sich zuzudecken, und wünsche eine gute Nacht bis morgen.', cue: 'Patya ang suga. Tabuni ang imong kaugalingon. Ugma nasad. Damgo og nindot.' } ], practicalTasks: [ { title: 'Alltag', text: 'Sprich die Begrüßung dreimal laut und variiere die Antwort.' }