Llamarada guidelines
September 4, 2010
Llamarada development guidelines
a) 100% test driven development, complete with at least unit test for the models and helpers and cucumber tests for higher end functionality
b) written using compass/sass, based on blueprint css, forms will be created using formtastic
c) hosted in github
d) managed in pivotal tracker
e) written in rails 3 and HTML 5
f) app server will be unicorn
g) web server will be nginx
h) asterisk version will be 1.6
i) deployment will be handled by chef
j) middle-ware will be Redis, a fast key,value data store will store
k) Resque could be used as a work queue to deal with background jobs such as processing lists
i) Javascript will be structured using Prototypes, using either functional or object oriented techniques. Observer patterns and Non Intrusive Javascript approaches will be used. Prototype or Jquery will be the supporting libraries
l) Adhearsion will publish live status data to Redis
m) Sikwamic -a rack based tool- will query Redis to get live status data
n) Asterisk dialplan and voicemail will be stored in a database, possibly even voice mail messages
o) All the infrastructure is to be built and tear down using Chef
p) There has to be a frontend that will do metering of calls and provision numbers (based on z2) will allow for online payments and balance checks and will provision rackspace servers using fog to interact with rackspace API and Opscode platform to provision them
q) where to store file uploads? maybe in the frontend, and mount the frontend via something like NFS, maybe in rackspace harddrive who knows?
r) grafico is a nice graphing tool but it requires Prototype which is regarded as outdated. Would be nice to work directly on Raphael or gRaphael. Specially to build advanced UI stuff, and maybe to draw things in SVG :D