Project description and some details on the development.
Text of Presentación de Be Ruby en la conferencia Rails
23 Noviembre, 2007
Introduccin
Lanzamos en Espaa a finales de julio y en el Reino Unido a principios de octubre
Esperamos lanzar en USA, Alemania y Francia antes de finales de ao
Principales socios en el proyecto:
Agustn Cuenca de ASPgems
Miguel Acosta y Samuel Arenas de ASK.com
Socios en cada uno de los pases donde vamos a lanzar: Reino Unido, Francia, Alemania y Estados Unidos
Qu es BeRuby.com ? Remunera al usuario por su navegar Remunera al usuario por invitar a sus amigos Portal o pgina de inicio
BeRuby paga al usuario por navegar
BeRuby paga al usuario por recomendar
El usuario ganar dinero no slo por la actividad que l realiza sino tambin por la actividad que realicen aquellas personas a las que invite a formar parte de su red
BeRuby como portal o pgina de inicio
Cmo se eligi Rails?
Precio
Tiempo
Concebido para lanzar casi en simultneo en varios pases
Agustn como socio (no option!)
Desde un punto de vista de negocio, como cliente:
Flexibilidad: cambio de marca, cambio en el orden de categoras, base de datos, etc.
Poder que se da a no programadores (capacidad para realizar pequeas modificaciones en la plataforma)
Plataforma multi-idioma (de forma rpida)
Pocos errores de bucle de hecho ninguno
La aplicacin: funcionalmente
Personalizacin pgina
Gestin de tu red: envo invitaciones
Gestin de servicios
Gestin reparto ingresos
Conexin proveedores
Conexin con Paypal
Backoffice de administracin
Carga de informes
Gestin usuarios, servicios y proveedores
El desarrollo
Dos desarrolladores + 1 diseador
Desarrollo iterativo
Cambio continuo de especificaciones
Algunas decisiones crticas
Una aplicacin por pais
Algunas caracterstcas
Aplicacin multi-idioma
Aplicacin multi-pais
Cada Pas una BBDD
Cada Pas una instancia en ejecucin
Escalabilidad por la arquitectura
Redundancia con simplicidad
Arquitectura de produccin
2 servidores front
Varias aplicaciones:
Una por cada pais.
Todo con capistrano
2 servidores bases de datos con fail over
Memcache
Balanceador de carga
La relevanca del share-nothing.
Web 1 BBDD 1 BBDD 2 Web 2 Firewall y balanceador
plugins
Action Mailer Layouts. Presentacin de los mails
Active Merchant. Integracin con PayPal
Acts As Authenticated. Login
Acts As Paranoid. Borrado Lgico de Registros
Calendar Date Select. Helper para seleccin de fechas
Content. Plugin interno para gestin de pginas y fragmentos de HTML
FckEditor. Editor grfico de HTML
Foreign Key Migrations. Creacin automtica de Foreign Keys
Gems. Permite empaquetar las gemas como plugins (facilita el deployment)
Google Analytics
ParseExcel. Tratamiento de ficheros Excel
PseudoCursors. Permite simulacin de cursores sobre ActiveRecord
responds_to_parent. Facilita la subida de ficheros desde AJAX.
El multilenguaje se consigue mediante una librera interna similar al plugin Gibberish (estbamos en pleno desarrollo cuando se public Gibberish). Soportamos modificaciones en caliente de los ficheros de literales.
Gemas
Mechanize. Permite el crawling de pginas web
FasterCSV. Parseo de ficheros en formato CSV
MemCached. Conexin con memcached. Extendida con una librera propia
Contacts. Importacin de contactos de yahoo, msn y gmail
HtmlEntities. Traduccin de entidades html por su cdigo ( == )
Los crticos de Ruby on Rails siempre cuestionan la escalabilidad, os agradecera que nos ayudseis a demostrar que esto no es una preocupacin.... Registraos en BeRuby.com GRACIAS!! [email_address] [email_address]