Skip to content

Latest commit

Β 

History

90 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‡©πŸ‡ͺ German Gender

Platform Learning

πŸ“– Overview

The German Gender app is designed to make learning German vocabulary and grammar engaging and effective by gamifying the learning process. Initially focused on helping users learn articles (der, die, das) hence the name of the app, the app has grown into a comprehensive vocabulary builder with tools for practice, revision, and sentence creation.


⚑ Core Experience

πŸ‘€ Account and Guest Modes

  • Welcome Message: Upon launching, users see a welcome message: β€œHello, [Name],” or β€œHello, Guest” if not logged in.
  • Offline Functionality: The app works offline with data saved locally via SQLite. Creating an account enables data synchronization across devices and ensures that the progress will not be lost if the app is deleted.
  • Authentication: Logging into the app requires an email and password. If an account with the specified email does not exist, the user will be redirected to a page where he is asked to enter a username in order to create a new account.

✨ Main Features

πŸ“š 1. Word List

  • The place where all the progress can be seen, as well as the things that are planned for the future.
  • Explore the vocabulary organized in Nouns, Verbs, Adjectives, Adverbs, Pronouns, Prepositions.
  • Words are organized based on real-world frequency and display their type, subtype, translation, article if applicable and the mastery score.
  • Search functionality tailored to the selected word type (e.g., β€œSearch noun...”).
  • Locked words are marked with a πŸ”’ padlock and can be unlocked by achieving full scores on already unlocked words in practice.

🧠 2. Revision Mode

  • Flashcards for unlocked words, including translations, usage examples, and grammar highlights.
  • Sentence examples with Word Highlighting to emphasize the target word in context, even when it appears in an inflected form (e.g., "sein" in Ich bin mΓΌde highlights bin in orange).
  • Encourages mastery of words before progressing to the practice mode.
  • Allows user to skip practice, but displays a ⚠️ warning.

🎯 3. Practice Mode

  • Users get prompted with up to 10 unlocked words and get tested on translations, articles (for nouns), and cases (for prepositions). The selection of words prioritizes words with low scores and tries to minimize the appearance of words with large scores.
  • Dynamic hints guide users step-by-step (e.g., β€œChoose an article first” followed by β€œWhat is German for year?”).
  • Colored progress indicators at the top of the screen show current (πŸ”΅ blue), correct (🟒 green), and incorrect (πŸ”΄ red) responses.
  • The feedback is immediate, correct answers are highlighted in green, while errors are marked red and missing letters indicated by ? question marks.
  • Motivational messages track streaks (e.g., X words in a row) and their color is dynamic to represent the size of the streak (green = low streak, yellow = medium streak, red = high streak). These messages are only displayed during the first round of practice and are not shown when retrying mistakes.
  • If the user finishes the practice round and has made mistakes, he is asked if he would like to retry those words or if he would like to exit the practice round.

πŸ“Š 4. Practice Statistics

  • They are displayed every time the user exits a practice round. Even if they exit it before finishing it.
  • Provides a summary of progress, showing score changes for each word. Negative changes in score are highlighted red, while positive ones are green.
  • Newly unlocked words are displayed with a πŸ† trophy and mastered words (those where a score of 4 was reached) are displayed with a πŸ† green trophy.
  • Words with high scores are gradually phased out to ensure focus on weaker areas.
  • The score of the words will only change during the first round of practice and not during the retrial rounds.
  • If practice is ended early, the words that were not attempted will display a blue 0 to indicate that their score was not affected.
Screenshot_1736628664Screenshot_1736628630

πŸ—οΈ 5. Sentence Builder

  • Use unlocked words to generate and understand sentences and their formation.
  • Select the type of words you want to be used in a sentence and one word per type (noun, verb, etc.) to have a sentence automatically generated.
Screenshot_1736628761Screenshot_1736628764Screenshot_1736628772
  • The selected sentence components are highlighted with their own specific color codes. These color codes are used in the entire app, making it easier for the user to distinguish them.
  • Beginner-friendly explanations below the sentence provide insights into word placement, forms, and grammatical rules.
Screenshot_1736628786Screenshot_1736628792Screenshot_1736628812

πŸ—‚οΈ 6. Flashcards

  • Interactive flashcards display translations, word types, and relevant grammar rules.
  • Example: For Der Mann, the flashcard explains β€œA noun is a person, place, thing, or idea” and includes the article's function (e.g., Der is for masculine nouns).
Screenshot_1736628095Screenshot_1736628111Screenshot_1736628101

πŸ† 7. Score System

  • Words are scored from -4 to 4 based on performance.
  • Achieving a score of 4 unlocks new words, and a trophy icon marks mastered words.
  • Newly unlocked words get a score of 0.
  • The system encourages consistent learning by balancing repetition with progress.

πŸ”„ Flow of Use

1. Revision

  • Begin by reviewing unlocked words using flashcards.
  • Example sentences show how words are used in context, with target words highlighted in their respective color.
  • After reviewing, users can proceed to Practice or revisit missed words.

2. Practice

  • Answer vocabulary questions, select articles (nouns), or identify cases (prepositions).
  • Receive feedback on each response and track progress using visual indicators.
  • Unlock new words by mastering the existing ones.
Screenshot_1736628420Screenshot_1736628413

3. Sentence Builder

  • Use unlocked words to construct sentences.
  • Select one word per type, with each selection dynamically updating the list for ease of use.
  • Generate sentences that maintain the selected word order and display them with translations and grammar explanations.

πŸš€ Technologies Used

πŸ“± Mobile Application (Frontend)

  • Framework: React Native
  • Platform: Expo (Managed Workflow)
  • Navigation: Custom navigation (Component-based state)
  • State Management: React Context API (UserContext)
  • Styling: StyleSheet, react-native-safe-area-context, react-native-vector-icons

☁️ Data & Backend

πŸ”„ Alternative Backend (Optional)

The project includes a separate Node.js/Express backend located in the backend/ directory, which uses PostgreSQL. An alternative to the Firebase implementation for users preferring a self-hosted SQL solution.


πŸ“‚ Project Structure

β”œβ”€β”€ App.js                  # Main entry point
β”œβ”€β”€ assets/                 # Images and static assets
β”œβ”€β”€ backend/                # Node.js/Express backend (Alternative)
β”œβ”€β”€ components/             # UI Components (Home, Practice, Stats, etc.)
β”œβ”€β”€ context/                # React Context (UserContext)
β”œβ”€β”€ data/                   # Static data files (wordsData.js)
β”œβ”€β”€ firebase/               # Firebase configuration and helper functions
β”œβ”€β”€ sqlite/                 # Local SQLite database initialization and queries
β”œβ”€β”€ styles/                 # Global styles and colors
β”œβ”€β”€ utils/                  # Utility functions
└── package.json            # Dependencies and scripts

About

React Native app to practice nouns, verbs, adjectives, adverbs and more in German with AI generated Sentence Builder based on words you choose

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages