sew9-2425-worttrainer-rguptatgm
ist eine Java-basierte Anwendung zum Trainieren von Wort-Bild-Paaren. Benutzer können Bilder betrachten und versuchen, das zugehörige Wort zu erraten. Die Anwendung zeigt Rückmeldungen zu den Eingaben an und verfolgt die Anzahl der richtigen und falschen Antworten. Die Session kann gespeichert und wiederhergestellt werden, sodass Benutzer ihre Fortschritte fortsetzen können.
- Auswahl von zufälligen oder gezielten Wort-Bild-Paaren.
- Überprüfung der Benutzereingabe (richtige oder falsche Antwort).
- Anzeige von Statistiken (richtige/falsche Antworten).
- Speicherung und Laden von Trainingseinheiten (Persistenz).
- Unterstützt serielle Speicherung (Dateiformat
.ser
).
- Java 8 oder höher
- Gradle zur Verwaltung von Abhängigkeiten und zum Bauen des Projekts
- JUnit 5 für Unit Tests
- Apache Commons Validator
Verwendet für die URL-Validierung, um sicherzustellen, dass die Bild-URLs der Flashcards gültig sind.
Dokumentation: Apache Commons Validator
Das Projekt folgt einer typischen Gradle-Struktur:
├── src
│ ├── main
│ │ ├── java
│ │ │ └── org
│ │ │ └── rgupta
│ │ │ ├── App.java
│ │ │ ├── Coach.java
│ │ │ ├── CoachController.java
│ │ │ ├── CoachView.java
│ │ │ ├── Flashcard.java
│ │ │ ├── PersistenceStrategy.java
│ │ │ ├── SerializationStrategy.java
│ │ │ └── Statistics.java
│ ├── test
│ │ └── java
│ │ └── org
│ │ └── rgupta
│ │ └── CoachTest.java
└── build.gradle
Coach
: Verwaltet die Flashcards und überprüft die Antworten.CoachController
: Bindet die View und die Logik zusammen. Handelt Benutzeraktionen wie das Erraten von Wörtern und das Speichern/Laden von Sessions.CoachView
: Die grafische Benutzeroberfläche (GUI), erstellt mitSwing
. Sie zeigt die Flashcards, Rückmeldungen und Statistiken an.Flashcard
: Repräsentiert ein einzelnes Wort-Bild-Paar.Statistics
: Hält die Statistiken für richtige und falsche Antworten.PersistenceStrategy
: Schnittstelle für die Speicherstrategie. Die Anwendung unterstützt zurzeit die Java-Serialisierung.SerializationStrategy
: Implementiert die Serialisierung, um Trainingseinheiten als.ser
-Dateien zu speichern.
-
Projekt klonen
git clone https://github.com/yourusername/sew9-2425-worttrainer-rguptatgm.git cd sew9-2425-worttrainer-rguptatgm
-
Abhängigkeiten mit Gradle installieren
Stelle sicher, dass du
Gradle
installiert hast. Führe dann im Projektverzeichnis den Befehl aus:gradle build
-
Anwendung ausführen
Um die Anwendung zu starten, kannst du den folgenden Befehl verwenden:
gradle run
-
Unit Tests ausführen
Um die Unit Tests (basierend auf JUnit 5) auszuführen, verwende den folgenden Befehl:
gradle test
- Um eine Trainingseinheit zu speichern, klicken Sie auf „Save Session“. Die Sitzung wird in einer
.ser
-Datei gespeichert. - Um eine Sitzung zu laden, klicken Sie auf „Load Session“ und wählen Sie die gespeicherte
.ser
-Datei aus.
- Sollten beim Laden oder Speichern Probleme auftreten, wird eine Fehlermeldung in einem Dialogfenster angezeigt.
- Nicht verfügbare Bilder werden in der GUI mit einer Fehlermeldung angezeigt.
- Erweiterbarkeit: Die Anwendung kann durch die Implementierung weiterer Speicherstrategien (z.B. JSON, XML, SQLite) erweitert werden, indem die
PersistenceStrategy
-Schnittstelle erweitert wird. - Neue Flashcards hinzufügen: Weitere Flashcards können einfach durch Ändern oder Hinzufügen in der
main
-Methode desApp
-Einstiegspunkts hinzugefügt werden.
- Rahul Gupta – Hauptentwickler und Projektleitung
Kontakt: rahul@example.com