QED Design ========== QED consists of a one-page web app (using Dojo) talking directly to a CouchDB server. Client ------ A small app framework to handle URL parsing, navigation and notifications is implemented in app/. All code that deals with persisted objects is located in the model/ folder. This is split into modules that handle data access and widgets that can display these objects. The data access includes field access, (de)serialization, schema's for checking. Issues ------ * UI is clunky. Place where model schema is checked, data is serialized (dates) database is accessed is not very clear. * Question has too little structure now. Header can be last, no inputs or several. It should have a more fixed structure. Also maybe we want to be able to Include section headers and text in a survey? Double questions still an issue. If questions can be asked multiple times, it might be usefull to include scope? A block in the survey can have scope (e.g. about team red, or team green), the session of a survey can contain scope, date of the question etc. Server ------ Currently this is a bare CouchDB server. In the future we will probably introduce a small REST interface in Node in between, to handle and abstract authentication and maybe search.