Bookstore tests have become outdated and now they are only messing up with building routine. For the time being, they should be removed - hopefully later new ones will be written.
Instead of "panda" being hardcoded in the model init(), it should go there via the message.
Then the real fetching of the from the server will be smoother.
Let the tech stack be SAFE for this app. It gets somewhat promoted at different events devoted to functional programming and has a cute web site. The tutorial should help to build some basic thing.
The project is going to heavily rely on type providers which are not supported in Fable.
Therefore the result should be got on server and passed to client via simple web requests.
Some articles, even about Czech nouns, do not have a proper declination. For example, it may be an article about a word in a non-nominative case (antilopu) or already in a multiple number (turisté).
Those look strange as tasks and cannot be easily checked at the backend. Therefore they should not appear as tasks.
Solution contains Shared folder with Client.props and Shared.props_, both containing nothing. This is referenced from both Client.fsproj and Server.fsproj which likely slows down and complicated build process.
Therefore, until there is no real shared functionality, it should be removed.
Basic app is working however without the knowledge of the stack it is quite unclear how to fill it and how to deploy it. Therefore it should be easier to start with the BookStore example.
Currently there is panda hardcoded as a task. Instead it should be a random word.
In the beginning the idea was to get words from here. However that site does not seem to have any proper API to do it. Thus a way to go is to look for a random article in the wiktionary and pass the first noun found.
Button "OK" will make more sense when titled "Check" and button "Repeat" can be called "Next" instead.
Let us switch them because they have it like this in Duolingo - so it has probably passed the A/B testing and also the audience (haha) may be the same.
Currently the only way to send the answer is to explicitly click OK button. Clicking Enter submits the page which is an incorrect behavior. Instead it should be the same as clicking OK, this is what users are used to.
Currently file referencing in the two projects are somewhat complicated - as the result, the Server project has files that it does not have any relation to.
Some nouns have two (maybe more?) variants of multiple, e.g. medvěd -> medvědi / medvědové. Thus instead of returning just a string from the declension table, the list of possible answers should be returned and the input should be compared with each of them.
The page and the task loads - and after a user fills the answer and presses "OK" new word appears, along with "Incorrect" (always). Then this behavior does not repeat.
This is annoying. Instead, the correct response should appear (correct/incorrect) and the page should not load the new word until user wants.