Circular is built as a Backbone.js application that communicates with a MongoDB datastore through a REST API written in PHP.
The server part, based on the Silex PHP micro-framework and the Mongovel wrapper to MongoDB, is intended to be the dumbest possible, i.e. we tried to put most "intelligence" in the Backbone app, not in the API. (For example, the API only takes UNIX timestamps and posts' content, while the Backbone app computes the scheduled timestamps).
A daemon based on PHP-Daemon then runs in the background and is responsible for sending your posts to Twitter when they're due.
Prerequisites:
Installation:
extlib
api/config.php.sample
and rename it to api/config.php
http://[server_name]/[path to buffer]/api/oauth.php
cd api && composer install
uploads
directory and make it writable by the Web serverhttp://localhost/Circular
. The MongoDB datastore's name will be circular
(you don't have to explicitly create it).php Daemon/run.php
-d
to run as daemon, i.e. detach and run in the background/var/log/daemons/circular
, or if this is not writable, in Daemon/logs
. You can use/rotate this log to monitor your daemon.