Spreche : A Tool for Learning German Interactively

IMG
Learning German can be quite tricky for beginners. Especially when you want to practice, you will need exercises. What if you can practice interactively with the bash command line?

Origin of the ideas

Indeed I wanted to build a chatbot.
A fully interactive conversation between the user and CLI would be much fun (to build and to play). However I need something quick. As my weekly German course goes on, I want to keep adding new grammatical features I learned real quick. So the idea deviated into a quick sentence building CLI instead.

First prototype

I build a prototype in Scala so designing the language model in Functional programming can also help accustoming myself into the German grammatical idea more naturally.
IMG
The UI is simple. The CLI prompts for a sentence from the user and as they put it in, the CLI makes a correction in terms of the grammatical case, conjugation, gender.

The language model

The sentence is split into following generic components.
Of course, I'm aware that it sounds very odd to have such these clauses which don't make much sense in grammar thingy. However it's intuitive to reference the component within the sentence by their function and I refer to them as clauses.

Functionality

The project offers the following grammatical functions.

Source code

The project is opensource and available publicly on Github here in the following link.

Future work

The project is just in its initial stage which has lots of grammatical things to add. As my German course goes, I will keep adding more.