HomeJab

HomeJab Descripción

HomeJab es una aplicación web que permite generar recorridos virtuales de inmuebles pensada para agentes inmobiliarios que desean ofrecer un servicio diferencial a sus potenciales clientes mostrando las propiedades que tienen a la venta con un enfoque mucho mas profesional. Esta aplicación captura los pedidos de los agentes y se encarga de todo el proceso de obtención de las imágenes en la propiedad, procesamiento y publicación de los vídeos editados.

Fase de inicio

El cliente se aproximó buscando un equipo de desarrollo que pueda comprometerse a realizar un sistema de gestión de su proceso de negocio integrando diferentes APIs y generando una aplicación diseñada y pensada para la facilidad del usuario final. Comenzamos a trabajar en la etapa de definición de requerimientos y analizando las necesidades del cliente hasta obtener un documento detallado que nos permita proceder con el desarrollo.

Fase de desarrollo

Iniciamos generando un plataforma de trabajo basado en la arquitectura Cliente-Servidor mediante el uso de las llamadas REST, permitiéndonos tener una aplicación desarrollada en AngularJS como cliente desde el navegador del usuario y un servicio REST API en el servidor implementado en Laravel para atender estas solicitudes. Toda la información del sistema se guarda en una base de datos relacional implementada en MySQL.

Desde la aplicación AngularJS se construye la interfaz de usuarios. Esta app consume información del REST API construido con Laravel, el cual accede a la base de datos y provee la información requerida por el usuario.

Inicialmente se generó la interfaz para gestionar los 3 diferentes perfiles que permite la aplicación y la gestión básica de las diferentes opciones de los recorridos virtuales, ya sea por medio de fotografías en HD, HDR, vídeos en HD o recorridos 3D personalizados.

Desde ese punto se inició la integración con el servicio de almacenamiento Amazon S3 para guardar los archivos generados y la integración con el servicio de edición de fotografía eWarp. Además se integró el servicio de pagos online Stripe para permitir a los agentes inmobiliarios realizar el pago de las solicitudes directamente en el sitio.

Una vez integrado estos tres pilares fundamentales, se incluyo la reproducción de vídeos mediante JWPlayer y se continuó mejorando el flujo de trabajo que se realiza dentro de la aplicación, integramos mejoras visuales y también aumentamos la performance en tiempos de respuesta manejando tareas complejas y pesadas mediante colas de trabajo que se ejecutan en segundo plano, mejorando notablemente la respuesta de cada solicitud.

Durante todo el proceso de desarrollo se utilizaron herramientas de pruebas automatizadas, casos de pruebas con Codeception y PHPUnit para asegurar funcionamiento en los servicio de la REST API.

Tecnologías

  • Laravel 5: Framework MVC utilizado como servidor REST API y comunicación las otras API externas.
  • MySQL: Base de datos relacional utilizando MariaDB para consultas relacionales.
  • AngularJS: Se utilizó este framework para generar la interfaz para los visitantes como para todos los usuarios que interactúan con el sistema.
  • Amazon AWS SDK para integración PHP: Version 3 del SDK de AWS para PHP.
  • Amazon S3: Se utilizó este servicio para realizar el almacenamiento de todos los archivos de medios utilizados.
  • Amazon SQS: Se utilizó este servicio para gestionar todos los trabajos de fondo que son necesarios para la aplicación.
  • Amazon CloudFront: Se utilizó este servicio para facilitar la distribución de el contenido multimedia mejorando la velocidad de acceso.
  • InfusionSoft: Integración del CRM de esta plataforma.
  • Stripe: Integramos este servicio para gestionar los pagos on-line dentro de la aplicación.
  • eWarp: La integración con este servicio mediante una comunicación JSON-RCP nos provee los archivos procesados para ser mostrados en el sistema.
  • JWPlayer: Permite mostrar los vídeos generados para cada propiedad en una manera amigable para el usuario.
  • Composer: Esta herramienta nos permitió manejar fácilmente la actualización de dependencias de librerías dentro del proyecto.
  • Bower – Gulp – Sass – Grunt – Yoman: El conjunto de estas herramientas nos permitió generar todos los elementos necesarios para realizar la interfaz de usuario de manera amena y administrar fácilmente las modificaciones y dependencias dentro del proyecto.
  • Bootstrap – GoogleFonts – JQuery: Estas herramientas permiten generar una interfaz amigable e intuitivas para el usuario siguiendo los estándares de programación adaptables para escritorio y móvil.
  • Codeception – PHPUnit: Estas herramientas nos permitieron verificar el funcionamiento de la aplicación mediante pruebas automatizadas.

Etiquetado como

Etiquetas