This app demonstrates how to make complex query using compound index, multiEntry and key joining. It is also design to analyse query performance. It also illustrates efficient paging strategy.
NOTE: This app use older API and no longer maintained. I plan to rewrite using newer query module.
NoSQL query demo app
This is straight forward port of simple todo list app into Android app using Phonegap platform (Cordova). WebSQL is used as storage mechanism.
This app uses legacy Codova version 2.7.0.
Todo list on Android
WebSQL storage size is limited to 50 MB and sometimes its durability is under question. Sqliteplugin for Cordova, however use bundled sqlite, instead of WebSQL on WebView offering larger storage size and better durability. It is also possible to use some SQL statement not supported in WebSQL.
The instruction on the project repo show all instruction necessary to setup and run on iOS and Android.
Phonegap app for iOS and Android with Sqliteplugin (Cordova 3.4.0)
This Angular app demonstrates how to use synchronization. Angular is one of the popular framework for developing modern web app.
Take a look at services.js for how to create database service. The database service is very simple, it simple returns the storage instance. The trick with asynchronious service is that when it is consumed on controller,
$scope.$apply(); is to be invoked to activate rendering view.
Google Cloud Storage (GCS) backend server is used to synchronized data with client side database. GCS backend is essentially a RESTFul API. Only new records are delivered to the client by using monotonic increasing key.
Feature matrix Angular.js app (source code repo)
This animal serach app show how to use full-text search. Input text field is suggested by a datalist as user type in the input field.
Animal search app
Pubmed search app demonstrate free text search query and render query result. The search result token are highlighted on the original document.
The app also show how to utilize opportunistic caching, in which, query are perform first on the client and then, if satisfactory result is not found, query again on backend server and cached on the client side.
Pubmed search app (source code repo)
Unit test are also good source of how to use the API. It is more comprehensive than an app does.