An experimental website written in noir (a web app platform in Clojure).
If you use cake, substitute 'lein' with 'cake' below. Everything should work fine.
lein deps
lein run
In this project we're experimenting with Clojure and Noir, so all client-side stuff (including layout) is limited to a bare minimum.
We're focussing on:
- Clojure composition basics (how to use namespaces, load config files, etc)
- Architecture (Models, Views, as used by Noir)
- Server side validation
- Database abstraction layer (Korma, for now)
- Basic login system
i18n - there are some wrappers around the apparently excellent Java i18n: https://github.com/ptaoussanis/tower
The website is a language learning tool. You make a list of words or phrases in your native language and for each item you also provide the translation in the foreign language you're learning.
The website then shuffles the list and displays each item in turn. You type in the translation and get two retries if you make a mistake. At the end of the turn, the correct translation is displayed if you failed, otherwise you proceed to the next item.
- Collect all word - meaning pairs for a game
- present pair
- check answer:
- correct: next round
- incorrect:
- store id of the word
- show pair again (twice, if necessary) -- use session object to store ids of wrong words (multiple ids of the same word, if necessary)
- Next round
- No more words: end
- Other words: go to 2
- End: show results
Copyright Solin (C) 2012