Introducing Sofa King: Sync
My latest iOS project is Sofa King: Sync. It is a mobile database replication app that allows you to sync CouchDB databases from your server to your pocket. It is written almost entirely in Swift and is a launching point for some interesting concepts I want to test out on Apple’s newest tech. You can keep reading about it below... or just download it and try it out.
I built it in Swift using Cloudant’s CDTDatastore. It’s very barebones right now, only allowing one way pull replication from a server to the device. I hope to enable more functionality once I get some feedback on the current version. I’m interested in what CouchDB users/developers think about the navigation system. I’d also love to hear what functionality is important to developers when they are away from their lappy.
I’m also interested in populating my initial database with some useful JSON documents. If you have a dataset you think would be useful for demonstration purposes, please feel free to contact me. Thank you!
Features & Specs
- Compatible with Apache CouchDB and IBM Cloudant databases.
- Innovative JSON document interface. Drill down into each successive layer of a JSON tree without getting lost in the forest.
- Locally stores a list of your favorite CouchDB servers.
- Server credentials are stored securely using iOS keychain.
- SSL enforced. Connections to servers using credentials require HTTPS (but HTTP is okay for anonymous usage).
- Side effect free design. All network requests require explicit user action to ensure you only speak to your server when you desire.
- No ads; Distraction free usage.
- Absolutely no warranty. Use it like you stole it.
Roadmap
Here are some of the features I would love to explore adding in the future:
- Rapid editing of JSON docs
- Backup server info and databases with iCloud account
- TouchID protection
- Store favorite JSON docs in central location
- Map Reduce views powered locally by Javascript Core and GCD
- Schema support
- Javascript triggers
- Background replication
- Database sharing