Skip to content
A service to practice Czech grammar
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.paket Split unit and integration tests (#423) Apr 14, 2019
src Filtered out not positive adjectives (#505) May 20, 2019
tests Improved comparison degree detection (#503) May 20, 2019
.editorconfig Added and applied .editorconfig (#137) Dec 23, 2018
.gitignore Deployment of Scraper (#231) Sep 27, 2018
CheckYourCzech.sln Split unit and integration tests (#423) Apr 14, 2019
LICENSE Updated the license (#126) Jun 8, 2018 Added instructions for local testing & development Mar 14, 2019
_config.yml Set theme jekyll-theme-cayman May 2, 2019
arm-template-appinsights.json Added one more robotic request to ignore (#412) Mar 23, 2019
arm-template.json Updated ARM template for logger DI (#380) Mar 7, 2019
package.json Logging client answers (#463) May 12, 2019
paket.dependencies Split unit and integration tests (#423) Apr 14, 2019
paket.lock Split unit and integration tests (#423) Apr 14, 2019
yarn.lock Logging client answers (#463) May 12, 2019

Check Your Czech - a service to practice Czech grammar

Build Status

See it in action

The service is deployed here:

Three exercises are available now:

  1. Plurals - make plural number for nouns
  2. Accusatives - make accusative case for nouns
  3. Comparatives - make comparative degree for adjectives
  4. Imperatives - make imperative mood for verbs
  5. Participles - make active participle for verbs


The idea of the service is to have a nice app that will help to selectively train some Czech grammar rules.

Selectively is a key word as language services usually check the language knowledge in full. Whereas in reality some people learn new language rule by rule, case by case, aspect by aspect - so that they can not only lamely communicate but actually speak properly.

This service is supposed to give exercises like "practice all the exceptions of the second case plural for the masculine animate gender".


  • For plurals and accusatives, gender can be selected
  • For imperatives, verb class and verb pattern can be selected
  • For comparatives and participles, regularity can be selected
  • Automated deployment via Azure Devops
  • Alerts about requests and exceptions

Tech stack

This app uses the SAFE-stack. Everything is F# driven:

  • Saturn server framework
  • Fable compiler for JS
  • Elmish architecture for front end
  • Paket dependency manager
  • Fake build automation system

For hosting and metrics, Microsoft Azure is used.

Local testing

Thanks for your interest! Developing and testing locally should be possible both for Windows and Unix.

Installation for Windows

  1. Install .NET Core SDK
  2. Install node.js
  3. Install yarn
  4. Install Microsoft SQL Server LocalDB either as a part of SQL Server or Visual Studio
  5. Install and run Azure Storage Emulator

Running the App

  1. Open PowerShell, go to the repo root
  2. Run Scraper: fake build target runscraper
  3. Let it run for a a few minutes to generate some local word database
  4. Stop Scraper
  5. Run web app: fake build target runweb

Plan of development

There are a lot of issues to address, starting from handling rear language quirks and ending with conceptual tasks.

As for features, current exercises will be extended, new exercises will be added. And maybe, at some point in the future, new languages.

You can’t perform that action at this time.