Presentacin de Be Ruby en la conferencia Rails

  • Published on
    07-Sep-2014

  • View
    2.740

  • Download
    0

DESCRIPTION

Project description and some details on the development.

Transcript

  • 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 ( == )
  • Ejemplos de bondad
    • No ha petado
    • Los bugs han sido fciles de corregir
      • Horas
    • Cambios en requerimientos
      • Servicios co-branded
      • Cambio estrategias de reparto
    • Flexibilidad de negocio sin cambios de software.
  • Rake Stats +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 2943 | 2152 | 20 | 210 | 10 | 8 | | Helpers | 669 | 533 | 0 | 110 | 0 | 2 | | Models | 2555 | 1775 | 28 | 165 | 5 | 8 | | Libraries | 1808 | 1394 | 25 | 141 | 5 | 7 | | Components | 0 | 0 | 0 | 0 | 0 | 0 | | Integration tests | 0 | 0 | 0 | 0 | 0 | 0 | | Functional tests | 1025 | 819 | 30 | 108 | 3 | 5 | | Unit tests | 531 | 403 | 14 | 50 | 3 | 6 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 9531 | 7076 | 117 | 784 | 6 | 7 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 5854 Test LOC: 1222 Code to Test Ratio: 1:0.2
  • 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]