Esta Web utiliza cookies para ofrecer nuestros contenidos y realizar labores analíticas. Al continuar con la navegación entendemos que se acepta nuestra política de cookies *aquí*
Leonardo247
Descubre el proyecto
Año
2016
Cliente
Leonardo247
Area
Startups / 360º

Leonardo 247 es una empresa con sede en Los Angeles, USA con una larga trayectoria en el sector de gestión inmobiliaria. La aplicación concretamente ayuda a medir y analizar el desempeño de los gestores a nivel regional y de propiedad.

La herramienta original estaba desarrollada en Java, y tenía serios problemas de arquitectura que impedían un crecimiento a futuro tanto en volumen de clientes como en nuevas funcionalidades. La rigidez del sistema hacía que solo se pudieran crear nuevas características en las propiedades mediante actualizaciones por parte de los desarrolladores en código y en BBDD.

La capacidad de síntesis, definición y empatía del equipo de Mr. Milú permitieron que la conexión con el cliente fuera muy grande desde el principio, permitiendo que en la fase de definición del proyecto Mr. Milú aportase soluciones innovadoras a los problemas y necesidades del Leonardo247.

En Mr. Milú estamos acostumbrados a trabajar con otros países, (México, Colombia, Francia, Dinamarca...) y en varios idiomas. La comunicación y el desarrollo siempre en Inglés son nuestro día a día, además al trabajar con metodologías ágiles la comunicación y el progreso han sido fluidos y constantes.

El proyecto consistió en un desarrollo a medida buscando una interfaz más intuitiva, una aplicación más potente y flexible.

backend
DJANGO
A MEDIDA

Como en todo proyecto la fase de definición es clave, donde se crean los diagramas de flujo y entidades. Mirando a largo plazo se contempló la posibilidad de que la herramienta creciera para otros sectores y otros países / idiomas.

El proyecto tiene dos procesos que requieren de un gestor de tareas asíncrono:

  • Creación de tareas diarias - Todos los días se cruzan todas las plantillas existentes con las propiedades para generar el listado de tareas.

  • Generación de informes - La herramienta crea informes dinámicos a medida pudiendo exportarse y compartirse en diferentes formatos (PDF, Excel). Debido a la alta complejidad de esto el sistema de tareas en colas de Django Celery nos permite gestionar su ejecución sin perjuicio de la experiencia de usuario.

Para el desarrollo de aplicaciones a medida en Mr. Milú usamos diferentes Frameworks como Symphony, Lavarel o Drupal. Pero cuando el proyecto requiere altas cargas de procesamiento asíncronas y tiene un perfil poco editorial solemos elegir Django como solución.

Uno de los grandes retos del proyecto era conseguir una aplicación en la que la estructura fuera dinámica, la generación de tareas para cada propiedad dependiendo de las características de estas hacía que el algoritmo de generación de tareas tuviera que estar construido sobre una estructura flexible.

Por ello decidimos usar PostgreSQL como BBDD, ya que cuenta con campos como JSONField, ArrayField, HStoreField, que nos permiten tener una estructura dinámica y podemos construir sobre ellos algoritmos con alto grado de flexibilidad y escalabilidad.

apps
NATIVAS
iOS / Android

Puesto que gran parte del trabajo en Leonardo se realiza en los propios edificios, era importante que la aplicación estuviera disponible en el móvil. En muchos de estos sitios no se dispone de conexión a Internet, por lo que el desarrollo de una aplicación nativa era imprescindible.

Mr. Milú ha desarrollado una aplicación en iOS y en Android teniendo en cuenta las particularidades de cada plataforma y pensada para facilitar el trabajo a los usuarios.

El modo offline y la sincronización total permiten que se trabaje sin conexión y enviar los datos al llegar a la oficina.

front
ANGULAR JS
Desacoplado

Tras el boom en las librerías de javascript para desarrollo de “one page applications” construir páginas totalmente desacopladas al Backend se ha convertido en tendencia. El front está desarrollado con AngularJS, usando módulos como ui-router, restangular y angular translate.

Además, al poder usarse con autenticación y no tener que ser leída por los buscadores no requiere de renderizado del lado del servidor.

sistemas
AWS
ESCALABLE

Cuando muchas empresas dependen en su día a día y tienen miles de empleados trabajando con una aplicación en concreto la disponibilidad 24/7 es obligatoria.

Para poder asegurar un nivel de servicio alto, y tener posibilidades de aumentar la capacidad de la aplicación si se incorporan nuevas cuentas se apostó por Amazon como proveedor de servidores.

La aplicación está estructurada con un balanceador que distribuye la carga en N frontales. Además, el número de team de celery también es flexible, usando elasticache para la gestión de la memoria y RabbitMQ

El front está alojado en S3.

device