A simple Ionic Todo app with a PouchDb local storage backend configured to sync with a CouchDb installation. Demo of offline functionality with server synchronization.
Clone or download
danielzen Update README.md
Point to todo-ng-pouchdb
Latest commit 76c8c59 May 13, 2015



This is an older example of the use of ng-pouchdb.

Please see the latest example of this library in use at http://github.com/danielzen/todo-ng-pouchdb

This is a 4-way data-binding library, in action using a simple Ionic Todo app with a PouchDb local storage backend configured to sync with a CouchDb installation. This is a demo of offline functionality with server synchronization. And is part of my Offline data synchronization talk. Slides available at: http://zndg.tl/ng-pouchdb

You can watch me demo building an early version of the app at FITC Spotlight: AngularJS in Toronto.

This repository has multiple releases you can download or tags you can checkout to see the incremental building of the application. Only the final version using the ng-pouchdb library.


You may need to install bower globally with npm install -g bower before running bower install, to download the necessary required frontend libraries. You may need to do a npm -g install bower, if you haven't already.

Run the App

You can cd into the www directory and run

python -m SimpleHTTPServer 8000

If you're using Python 3.x or higher

python -m http.server 8000

You can then just open http://localhost:8000/index.html in a browser.

Personally I use WebStorm which has a built in server. From a JetBrains product, you can select "View...", "Open in Browser" on index.html.

The final version of this demo requires you to download and install CouchDb, which runs on port 5984. And, enable CORS.

iOS version

However, to run this as a mobile application in iOS emulator, do the following to setup :

$ cd ionic-pouchdb-todo
$ sudo npm install -g cordova ionic gulp

To run in the iPhone Simulator:

ionic platform add ios
ionic build ios
ionic emulate ios

Building Out & Updating Ionic or PouchDb

To update to a new version of Ionic, open bower.json and change the version listed there.

For example, to update from version 1.0.0-beta.12 to 1.0.0-beta.13, open bower.json and change this:

"ionic": "driftyco/ionic-bower#1.0.0-beta.12"

After saving the update to bower.json file, run bower install.

I was a little forward thinking adding the package.json file. To continue working on this repository, adding tests, using SASS, you can

$ npm install
$ gulp install