Monocles (formerly CouchAppSpora)
..is (more or less) Diaspora implemented on CouchDB
The Diaspora source code was initially released on September 15th, 2010. This project is an implementation of the Diaspora protocol as a CouchApp built entirely on CouchDB.
Why?
CouchDB is a good fit for a federated social web node due to it’s robust replication, HTTP and JSON APIs. Diaspora is an attractive implementation of a federated social web application. I want to marry the front end and features of Diaspora, but build them on the flexible replication of CouchDB. The resulting application is written in pure Javascript and HTML and only requires CouchDB in order to run.
Protocols
I am shooting for Social Web Acid Test level 0 (SWAT0) compliance by implementing the OStatus stack. Since Couch can use CommonJS, I started a project called ostatus-js to write the OStatus protocols in server side javascript. To learn more about how monocles works and interoperates with other seeds, check out this wiki page.
Hosting your own
You can run monocles anywhere that you can run CouchDB, and since it’s a CouchApp, the entire application lives inside your database and can be replicated from any other monocles seed. To demonstrate the built in replication that you get with CouchDB:
- Get a CouchDB somewhere! You can get a hosted Couch from Cloudant or IrisCouch, a downloadable Couch from CouchBase, or an Android Couch from the Android Marketplace
- Make a database and set up bidirectional continuous replication from
http://monocl.es/api
(or any other monocles instance) to your new database. - Visit http://yourcouch/yourdb/_design/monocles/_rewrite
TO-DO (aka ‘how to contribute’)
Hack on the interface and make it do something cool! The bulk of the application logic is in monocles.js
, monocles.html
and monocles.css
Check out the Issues page
If you’ve never worked with CouchApps before, I’d highly recommend learning more about them at couchapp.org
License
TODO: I think I have to comply with Diaspora’s AGPLV3 License…