Language Technology at UiT

The Divvun and Giellatekno teams build language technology aimed at minority and indigenous languages

View GiellaLT on GitHub divvungiellatekno/giellalt.uit.no

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 for compilation and project structure management. In order to prepare the development environment, first install Node.js and npm (Node Package Manager), then:

1.) In ~/main/apps/aajege/src/sma-client/ run npm install. 2.) As a convenience, add node_modules/.bin/ to your $PATH variable

Familiarize yourself a little with Brunch.io, but generally speaking you’ll be most interested in:

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

Project structure

This is just a short overview to the most important files and structure. For details, look at any source file For details, look at any source file

app/ structure

Data structure / Models intro

The database structure data is fetched from the server on app initialization and stored locally. (This means, word information, word relations to media files, etc.). Some user data is more or less always live, and data on user activity is synced automatically when a connection is available.

Backbone.js handles data storage, and generates models and collections for searching htesse.

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 image or an audio file, but the data is all heavily cross-linked so that it is easy to find a word for an image, or a related sound file.

Categories / CategoryList

Maintains the main screen category list, as well as is used for an organizational tool for question construction.

Question

Several defaults are provided which happen to line up with the progression in Gïelese, however question types are possible to be defined on the server side. These are then fetched by the client for gameplay.

UserProgression

The complexity of rendering exercises…

Sitemap