Let's Plum

Let's Plum Descripción

Let's Plum es una empresa líder que brinda servicios de diseño gráfico proporcionando una solución integral, desde ilustraciones hasta vectorizaciones. Con el continuo crecimiento de la empresa, con empleados y freelancer se hizo indispensable un sistema de gestión para sus mas de 600 trabajos de diseño que ejecutan diariamente.

Fase Inicial / Inception Phase

La primer etapa del proyecto consistió en recolectar todos los requerimientos del sistema con nuestros analistas. Luego de tener un completo entendimiento de las necesidades del cliente, se documentó y se diseño la solución que íbamos a implementar.

Fase de Desarrollo

En la etapa de desarrollo, se ha implementado cada requerimiento según lo diseñado en la etapa de análisis. El framework utilizado fue CakePHP y se complementó con AngularJS para las secciones dinámicas, Bootstrap para las plantillas/templates y aplicar el diseño web, utilizamos varios plugins de Jquery que permitieron validar formularios y tipos de datos, subir múltiples archivos, arrastrar imágenes para las muestras/preview, también combinamos varios componentes de npm, Bower y Grunt que proveen diferentes opciones al momento de implementar nuestra solución. El proyecto fue completado en su primer versión estable y luego seguimos trabajando en mejoras, optimizaciones, nuevas funcionalidad y tareas de mantenimiento tanto en el sistema como en el servidor.

El servidor fue instalado completamente desde cero, es así que nuestro Administrador de servidores instalo la ultima versión de CentOS y todas las dependencias necesarias para configurar Apache, MySQL, MongoDB, Elastic Search, Repositorio de archivos GIT entre otros módulos. También se implementó una integración con el API de Dropbox donde cada diseñador puede compartir a través del sitio web cada uno de sus trabajos terminados que luego se enviaran por email a los clientes. En Dropbox también se pueden subir archivos con un formato preestablecido, estos permitirán al sitio web escanearlos y crear automáticamente el seguimiento de los trabajos. Durante todo el desarrollo utilizamos un enfoque de Integración Continua, a su vez implementamos testing automático utilizando Codeception y cada caso de pruebas fue pensado para validar y verificar un requerimiento o un flujo completo de trabajo (workflow) Todas las tecnologías que fueron utilizadas en este proyecto han sido de gran utilidad y dieron soporte a nuestro equipo de desarrollo para lograr un producto de alta calidad y con la mayor eficiencia.

En una de las ultimas fases, implementamos un API que permite a otras aplicaciones conectarse con el app principal de Let's Plum para crear y gestionar trabajos de manera automatizada. En este caso se desarrollo un plugin de CakePHP totalmente desde cero que permite gestionar las conexiones externas, validar y autenticar usuarios a través de OAuth 2.0. Una vez validada la conexión, la aplicación cliente debe enviar un request REST para crear y monitorizar trabajos de arte. Estos request están ajustado a la documentación online que se provee, la cual fue generada a partir de nuestro desarrollo.

Tecnologías

  • VPS con CentOS 7 y PHP 5.5: Ultima version estable del sistema operativo open source mas usado en servidores web.
  • CakePHP 2.x: Framework PHP que utiliza patron de diseño MVC.
  • AngularJS: Excelente framework javascript, de código abierto, que permite implementar interfaces de usuarios dinamicas, manejar datos en tiempo real mucho mas rápidamente, reduce la necesidad de conectar con el servidor para procesarlos, con nuevos efectos visuales y totalmente complatibles con dispositivos moviles.
  • MongoDB 2.4: Base de datos NoSQL que permite mayor cantidad de transferencias de datos en menor tiempo que una base de datos SQL.
  • Elastic Search 1.5.2 / Lucene v4.10.4: Motor de busquedas interno del sistema, ofrece distintas funcionalidades para optimizar busquedas y devolver resultados casi instantaneo.
  • Dropbox: Integración con el sistema, permite enviar y gestionar archivos de dropbox directo desde la aplicacion, de esta manera no es necesario pagar por cada usuario sino que un único usuario de Dropbox (asignado para el website) realiza la gestion de los archivos. De esta manera se pueden subir por cualquier medio a dropbox y sincronizar con el panel de administrador del website, entre otras cosas para poder entregar trabajos realizados y automatizar procesos que antes eran realizados manualmente.
  • OAuth 2.0: Es un protocolo que provee un flujo para autenticar conexiones remotas en aplicaciones web, móviles y también de escritorio que necesitan conectarse con un servidor.

 


Etiquetado como

Etiquetas

Serfe info(at)serfe.com https://www.serfe.com/images/serfe_logo_text.png https://www.serfe.com/images/serfe_logo_text.png FALUCHO 2032, S3016LDB, SANTO TOME, SANTA FE, ARGENTINA 1-305-5375397