Client Development
Gïelese client development
For information on Phonegap, see phonegap/README.md
Getting started notes
The frontend client uses Node.js 's environment, and specifically Brunch.io
1.) In ~/main/apps/aajege/src/sma-client/ run npm install.
Familiarize yourself a little with Brunch.io, but generally speaking you'll
brunch watch --server
Buildin for release on the other hand will require:
brunch build --production
This will minify everything to prepare it for web or inclusion in apps.
Languages required
- Coffeescript and Literate Coffeescript
- CSS is written in Stylus: http: //learnboost.github.io/stylus/
- Templates are in eco: https: //github.com/sstephenson/eco. Someone could
Project structure
This is just a short overview to the most important files and structure. For
-
config.coffee: handles brunch configuration, file concatenation order
- package.json: build dependencies and installation configuration for npm.
- app/: Source!
app/ structure
-
application.coffee: the main application file, handles initialization of
-
routers/routers.coffee: URL routing and view processing. New views need to
-
views/: The views directory should include one folder per view, each
-
models/: one file per model or collection. Models should be well
Data structure / Models intro
The database structure data is fetched from the server on app initialization
Backbone.js handles data storage, and generates models and collections for
General note on Collections and data fetching
TODO: @fetch method; @server.offline_media vs. @server.path
Concepts
Concept is a general term for learning information. It may be a word, an
Categories / CategoryList
Maintains the main screen category list, as well as is used for an
Question
Several defaults are provided which happen to line up with the progression in
UserProgression
The complexity of rendering exercises...
<!-- vim: set ts=4 sw=4 tw=0 syntax=jspwiki : -->