The service is deployed here: https://check-your-czech.azurewebsites.net/
Seven exercises are available now:
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".
This app uses the SAFE-stack. Everything is F# driven:
For hosting and metrics, Microsoft Azure is used.
Developing and testing locally is possible both for Windows and Unix. Full stack debugging is supported in VS Code as described here.
First three steps are same as for Windows.
For Azure storage emulator use azurite. Use V2 because the latest version supports Blobs only.
To install azurite use: npm install -g azurite@2.7.0
To run Azure storage emulator use: azurite
dotnet fsi build.fsx target runscraper
dotnet fsi build.fsx target runweb
To upgrade paket dependencies
dotnet tool run paket update
Testing
dotnet test
UI Testing
dotnet fsi build.fsx target rune2etests
libgdiplus is required for Linux/Mac OS: https://github.com/dotnet/core/issues/2746 (https://formulae.brew.sh/formula/mono-libgdiplus)
sudo ln -s /usr/local/lib/libgdiplus.dylib /usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.6
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.