Vivemos num mundo cada vez mais consumista que tende a efetuar progressivamente
mais compras online.
Deste modo, o mundo do ecommerce possui uma estrutura própria com muitos intervenientes
e consequentemente processos logísticos complexos. Sendo a Huub uma empresa tecnológica de
logística que atua no setor da moda, o ecommerce é uma área importante para o seu
negócio que tem como finalidade encurtar a distância entre as marcas e os seus clientes sendo o
centro de um ecossistema que conecta toda uma cadeia de abastecimento.
Desta forma, tinha-se como objetivo desenvolver uma mashup de third party APIs
que automatizem e melhorem alguns processos internos da empresa como o processo de shipping
e a sincronização das principais plataformas de \textit{ecommerce} com o ERP da empresa.
O desenvolvimento foi partido em três partes: automatização de todo o processo de shipping,
que envolve recolher rates de transporte dos diferentes carriers, comprar e
produzir a label de transporte e fazer tracking da encomenda; integração das
principais plataformas de ecommerce, como o Woocommerce e o Shopify
com o ERP da empresa de modo a que seja possível existir uma sincronização bidirecional da
informação; e um sistema para notificação de alertas.
Esta dissertação marca o início da mudança do paradigma de desenvolvimento da Huub, partindo do
atual sistema monolítico para uma arquitetura baseada em micro serviços, tendo sempre em mente
boas práticas de desenho e desenvolvimento de software orientado por objetos.
Dissertação
Planeamento
PDIOutubro 2016 - Novembro 2016
Primeiro contacto com a Huub e orientadores e análise das tecnologias.
PDINovembro 2016 - Janeiro 2017
Escrita do Estado da Arte
DISSFevereiro 2017
Desenvolvimento de um Painel Administrativo e estudo do Easypost
DISSMarço 2017
Implementação da API para integração com as transportadoras - Easypost
DISSAbril, Maio 2017
Implementação da API para integração com as lojas de ecommerce - Shopify e Woocommerce
DISSMaio 2017
Implementação da API para alertas - Mailgun
DISSJunho 2017
Escrita da dissertação
Objetivos
Desenvolver uma Representational State Transfer (REST) API que interage com o ERP da
Huub servindo de camada de abstração para integrar com diversas API de terceiros;
Integrar com as principais plataformas de transporte servindo-se da API dos mesmos. Aqui
estão incluídas transportadoras como a UPS e a TNT ou até mesmo um serviço já
existente de integração como o Shiphawk e o EasyPost;
Integrar com as principais plataformas de ecommerce usadas pelos clientes como Woocommerce,
Shopify, entre outras;
Desenvolver um sistema de notificação email e/ou sms automático consoante certas mudan-
ças na base de dados como encomendas expedidas ou stock insuficiente.
Recursos e Tecnologias
Para que os objetivos sejam alcançados, serão várias as tecnologias que terão de ser usadas, bem
como os conhecimentos que advém desse uso.
Algumas dessas tecnologias foram impostas pela Huub para que a aplicação a desenvolver
facilmente se integre com o Spoke.
Dito isto, será usado PHP em conjunto com Laravel, linguagem de programação e
framework, respetivamente. Para gerir os pacotes e dependências será usado o Composer.
No servidor encontra-se já uma base de dados construída em PostgreSQL e, para aceder
de modo gráfico, será usado o PgAdmin.
Para simplificar todo o processo de integração destas tecnologias, decidiu-se usar Vagrant [26]
com a box oficial do Laravel, Homestead.
O Vagrant é um software open source que, em conjunto com a VirtualBox, fornece as fer-
ramentas necessárias para ter um ambiente de desenvolvimento dedicado e de fácil uso. Montando
o Homestead, consegue-se uma imagem de uma máquina com as características pretendidas pela
Huub e que estão acima descritas previamente instaladas. A grande vantagem de usar o Vagrant
prende-se com a abstração existente, bastando um comando para ligar a máquina e em caso de
problemas, um comando só é também suficiente para destruir a máquina.