RESTful API Camino Mobile App

REST API encargada de almacenar, mantener y gestionar el progreso de los usuarios, como asi tambien gestionar archivos multimedia y otros contenidos que son requeridos desde y enviados desde una aplicación mobile que permite estudiar español utilizando los cursos de audio con toda la ayuda y descripción necesaria para que sea una experiencia única. Es una manera rápida y sencilla de aprender este idioma donde ademas permite monitorizar el progreso en todo momento.

Fase inicial

Con el objetivo de extender su servicio, nuestro cliente nos acercó la idea de implementar una aplicación móvil para mejorar una funcionalidad del sitio web existente StudySpanish.com (Camino del Exito). Particularmente se necesitaba una interfaz de comunicacion que integre una potencial aplicación mobile y el sitio web Wordpress desarrollado por Serfe en el año 2016. Dentro de los requerimientos iniciales el cliente planteo la necesidad de poder realizar subscripciones en cualquier plataforma (Android, iOS o Website) con un único usuario dentro de la aplicación.

Serfe propuso un sistema custom similar a un enfoque SSO donde Wordpress actuaría como proveedor de identificaciones. Para esto se diseño e implementó un plugin de Wordpress personalizado.


Fase de desarrollo

Para dar soporte a esta API se utilizo el servicio de hosting Linode, donde se implemento un VPS utilizando la tecnología Docker para mantener un espacio de trabajo totalmente seguro, encapsulado y fácil de mantener y actualizar. Ademas, para poder ofrecer un servicio en el cual esta API RESTFul responda de manera rapida y eficiente se decidió utilizar NodeJS y el framework de desarrollo ExpressJS con el ORM Sequelize. Se extendió esta arquitectura con una capa personalizada en la estructura de archivos y configuraciones para lograr una arquitectura de sistema simple, eficiente, segura y escalable.

Para comunicar la aplicación con el sitio web (implementado actualmente en WordPress) la WP API Rest. La funcionalidad REST API de WordPress consiste básicamente en que podemos hacer uso de todo nuestro contenido sin necesidad de consultarlo solo a través de un sitio web, si no a través del REST API que provee. Esto lo convierte en un servicio consumible desde cualquier otra plataforma de una manera muy simple.

La persistencia de los datos en el servidor fue realizada mediante la base de datos MySQL con facil accesibilidad a traves del panel de administracion PHPMyAdmin. Ademas para mantener mayor velocidad de respuesta en las peticiones de datos estáticos y de mayor frecuencia de utilizacion se implemento dos niveles de memoria cache. El primero a nivel aplicación utilizando Redis y el segundo nivel utilizando como proxy de seguridad CloudFlare.

Se realizo la integración con algunos paquetes de Node para poder gestionar las compras dentro de la aplicación y poder verificar las mismas ya sean desde Google Play, Apple iTunes o desde el sitio web. Para esto se desarrollo una estructura interna capaz de mantener esta integración.

Otra de las integraciones solicitada por el cliente, fue la de realizar campañas de emails fue con Mailchimp para lo cual tambien se utilizo un paquete de NodeJS que utiliza el API que provee el servicio Mailchimp mejorar para este tipo de integraciones.

Todo el proceso de desarrollo se llevo a cabo con la retroalimentacion del cliente y terceros, quienes debían utilizar el servicio del API que desarrollamos. Para poder facilitar un seguimiento de cada endpoint del API se utilizo Swagger, que provee un conjunto de herramientas para documentaciones de APIs.

QA final y publicación

Como parte del proyecto estuvimos dando seguimiento con el equipo encargado de desarrollar la aplicación móvil. En este caso participamos de la etapa del QA testing para la validación final y lograr confirmar la correcta integración con el sitio web existente. 

Una vez finalizadas las pruebas, implementamos optimizaciones para mejorar el performance del REST API, identificando cuellos de botella y aplicando mejoras para que la aplicación móvil tenga un mejor desempeño. 

Actualmente seguimos en etapa de mantenimiento. 

 

Link a Apple Store

Link a Google Play


Etiquetado como


Sep 2021 - RESTful API Camino Mobile App

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
Cookies & Privacy: 
This website uses cookies to ensure you get the best experience on our website.


Privacy Policy