Skip to content
matusfaroPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

DuoMongo 🇲🇳

A Duolingo-style app for learning Mongolian (Cyrillic script) as an English speaker. Fully offline, single-user — all data stays on the device. Built with React + Vite + Capacitor, runs in any browser for development and as a native Android app.

Features

  • Course: 25 skills across 5 sections (Basics, Greetings, Family, Numbers, Food, Colors, Animals, Questions, Verbs, Time, Places, Adjectives, Pronouns & Cases, Weather, Body, Clothes, Past/Future tense, Travel Phrases, Numbers & Money, Days, Shopping, Directions, Feelings, Professions) with ~245 vocabulary items, ~165 sentences, romanization, and grammar tips per skill.
  • Exercise types (12): multiple choice (both directions), word-bank translation (both directions), dictation (assemble what you hear), matching pairs, typed translation, listening comprehension, fill-in-the-blank, pick-the-reply, minimal-pair ear training, emoji picture cards, and speaking practice (record & compare with the native clip).
  • Crown levels: each skill has 5 levels × 3 lessons; higher levels serve harder exercise types. All skills are open from the start.
  • Spaced repetition: every word/sentence is tracked with an SM-2-style scheduler; the Practice tab reviews due or weakest items. Each skill's progress ring shows the combined strength of its words — it fills as you learn and turns gold when everything is strong.
  • Gamification: XP with a configurable daily goal, streak with streak freezes, gems, combo bonuses, 16 achievements. No hearts/lives — mistakes never lock you out.
  • Stats: weekly XP chart, 12-week activity heatmap, accuracy, time spent, words learned, best streak.
  • Stories: four dialogues with line-by-line audio, tap-to-translate, and comprehension questions.
  • Dictionary: searchable Words tab covering the whole course with audio.
  • Audio: bundled real-Mongolian clips (mn-MN neural voice) for every word and sentence, generated at build time; fully offline at runtime.
  • Reminders: daily lesson notification at a configurable time plus an evening streak-saver nudge (Capacitor local notifications).

Development

npm install
npm run dev        # test in a browser
npm run build      # type-check + production bundle in dist/

Android

npm run build
npx cap sync android
cd android && ./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

Note: android/gradle.properties pins org.gradle.java.home to a local OpenJDK 21 (AGP's jlink transform fails on GraalVM/newer JDKs) — adjust the path for your machine.

All progress is stored in localStorage under duomongo-state-v1; the "Danger zone" in the Profile tab resets it.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages