Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

German Articles Trainer

A fast, lightweight web app to help you master German grammatical articles — der, die, and das.

Built with Rust and Axum. No database required.


What It Does

German articles are notoriously tricky. Every noun has a grammatical gender, and there are few reliable rules to follow — you just have to memorize them. This app turns that memorization into a quick, repeatable practice loop.

Practice mode — you're shown a random German noun and its English translation. Pick the correct article. Get instant feedback.

Flashcard mode — after practising, come back here to review the words you keep getting wrong. Cards are sorted by how many times you've missed them, so you focus on your weakest spots.

Progress is tracked in memory for the duration of your session.


Getting Started

Prerequisites

Run

git clone https://github.com/your-username/german-articles.git
cd german-articles
cargo run

Then open http://localhost:3000 in your browser.

Word List

Nouns are loaded from data/noun_list.csv. The format is:

article,noun,translation
der,Hund,dog
die,Katze,cat
das,Haus,house

Add your own words to expand the vocabulary set.


Project Structure

src/
  main.rs       — server startup
  routes.rs     — URL routing
  handlers.rs   — request logic
  models.rs     — data types
  database.rs   — in-memory state + CSV loading
templates/
  index.html    — practice page
  flashcards.html — flashcard review page
data/
  noun_list.csv — vocabulary list

Tech Stack

Crate Purpose
axum Web framework
tokio Async runtime
serde JSON serialisation
rand Random word selection
csv Vocabulary file parsing

Contributing

Contributions are welcome — whether that's fixing bugs, improving the UI, or adding more vocabulary.

  1. Fork the repo
  2. Create a branch (git checkout -b my-feature)
  3. Commit your changes
  4. Open a pull request

If you want to add a large set of nouns to noun_list.csv, that's especially appreciated.


License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages