Language learning

Russian Training Hub

A lightweight, modular web experience to train the Cyrillic alphabet, vocabulary, and Russian grammar directly in the browser.

Experience
SPA interface with no backend, ready to run offline with a service worker.
Design
Visuals aligned with the identity defined in assets/css/style.css, keeping accessibility intact.
Overview

Accessible gamification for Russian literacy

RTH provides independent mini-games with immediate feedback, adjusting difficulty based on user progress.

  • Responsive typography and keyboard navigation with ARIA elements and visible focus.
  • Centralised dataset for characters, words, and verbs, easing translation and customisation.
  • Modular architecture with ES modules and no build step.
  • Detailed documentation in docs/ to help contributors extend the project.
Modules

Games and experiences available

Each folder in pages/ represents an independent module. Below is the current status.

Typing

Typing drills for characters and words, with Latinโ†”Cyrillic switching and scoring.

Vocabulary

Typing + multiple-choice quiz mode, with configurable levels and shuffled distractors.

Conjugation

Interface ready while waiting for verb datasets. Ideal for contributions with regular and irregular verbs.

Declension

Structured placeholder for case exercises and contextual phrases.

Architecture

Structure designed for quick extensions

Folders organised by responsibility ensure new modules can be added without side effects.

RussianTrainingHub/
โ”œโ”€โ”€ assets/         # Styles, images, and visual components
โ”œโ”€โ”€ data/           # Character, word, and verb datasets
โ”œโ”€โ”€ pages/          # Mini-games (typing, vocabulary, conjugation...)
โ”œโ”€โ”€ utils/          # Shared functions
โ”œโ”€โ”€ docs/           # Development guides
โ”œโ”€โ”€ index.html      # Main SPA
โ””โ”€โ”€ sw.js           # Service worker for offline
Installation

Host in minutes

As a 100% frontend project, you only need to serve the static files on any host.

  1. Clone the repository or fork it:
git clone https://github.com/eduardo45MP/RussianTrainingHub.git
cd RussianTrainingHub
  1. Deploy to a static server (e.g. GitHub Pages):
git checkout main
# Configure GitHub Pages: Settings โ–ธ Pages โ–ธ Branch main /root
# or use surge, vercel, netlify for static deploys
  1. For local development:
npx serve .  # Or use a Live Server extension

The service worker activates automatically in production (HTTPS). Clear cache via DevTools when updating datasets.

Open Source

How to strengthen Russian Training Hub

The community can expand datasets, create new game modes, and improve accessibility.

Datasets

Add verbs, phrases, and audio organised by difficulty level and theme.

Instant feedback

Create animations and sounds that reinforce hits/misses without impacting performance.

New languages

Reuse the structure for Spanish, German, or Mandarin by swapping datasets.

Review pages/pages.md and docs/architectureRTH.md to align content, visual identity, and accessibility guidelines.