Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
snej committed Dec 28, 2011
1 parent 0059632 commit b5f897d
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions README.md
Expand Up @@ -2,7 +2,7 @@

by Jens Alfke (jens@couchbase.com)

**TouchDB** is a lightweight [CouchDB][1]-compatible database engine suitable for embedding into mobile apps. Think of it this way: If CouchDB is MySQL, then TouchDB is SQLite.
**TouchDB** is a lightweight [CouchDB][1]-compatible database engine suitable for embedding into mobile or desktop apps. Think of it this way: If CouchDB is MySQL, then TouchDB is SQLite.

By "_CouchDB-compatible_" I mean that it can replicate with CouchDB and [Couchbase Server][3], and that its data model and high-level design are "Couch-like" enough to make it familiar to CouchDB/Couchbase developers. Its API will _not_ be identical and it may not support some CouchDB features (like user accounts) that aren't useful in mobile apps. Its implementation is _not_ based on CouchDB's (it's not even written in Erlang.) It _does_ support replication to and from CouchDB.

Expand All @@ -26,29 +26,28 @@ More documentation is available on the [wiki][2].
## License ##

* TouchDB is under the Apache License 2.0.
* [FMDB][5] is under the MIT License.
* [FMDB][5], by [Gus Mueller][8], is under the MIT License.
* [MYUtilities][6] (portions of which are copied into the vendor/MYUtilities directory) is under the BSD License. (But note that I, Jens, wrote MYUtilities and would have no problem re-licensing it under Apache for use here.)

## Development Status ##

Currently [Dec. 2011] pre-alpha, but undergoing full-time development. I hope to have a beta release in early 2012.

## Building TouchDB ##

For full details see the [wiki page][7]. The gist of it is:

1. Clone the TouchDB repository to your local disk.
2. In that directory run "`git submodule init`" and then "`git submodule update`". This will clone the [FMDB][5] library (an Objective-C wrapper for sqlite) into vendor/FMDB.
3. Open the Xcode project and build the "Mac Framework" and/or "iOS Framework" schemes.
4. You should now have a "TouchDB.framework" in your build output directory.

### Building The Demo Apps ###

The demo apps use the CouchCocoa framework, which you'll need to check out and build separately:

1. Clone the [CouchCocoa repository][4] to your local disk.
2. Check out the "touchdb" branch.
3. Open the Xcode project and build the appropriate scheme ("Mac Framework" and/or "iOS Framework").
4. Copy or symlink the built "CouchCocoa.framework" into the "Frameworks" subdirectory of the appropriate TouchDB demo subdirectory.
5. Now you can open the TouchDB Xcode project and build and run the demo app(s).

[1]: http://couchdb.apache.org
[2]: https://github.com/couchbaselabs/TouchDB-iOS/wiki
[3]: http://couchbase.com
[4]: https://github.com/couchbaselabs/CouchCocoa
[5]: https://github.com/ccgus/fmdb
[5]: https://github.com/touchbaselabs/fmdb
[6]: https://bitbucket.org/snej/myutilities/overview
[7]: https://github.com/couchbaselabs/TouchDB-iOS/wiki/Building-TouchDB
[8]: https://github.com/ccgus/

0 comments on commit b5f897d

Please sign in to comment.