Completed

Integração com o Mercado livre

Published on the June 14, 2021 in IT & Programming

About this project

Open

Nesse projeto é requerido o desenvolvimento de um sistema que realize a integração entre dois sistemas externos, o primeiro deles é a API do Mercado Livre e o outro é um sistema proprietário nosso, cujo a interface de comunicação é em GraphQL. O sistema a ser desenvolvido, denominado AdapterML, tem dois servidores dependentes entre si através do banco de dados. O primeiro servidor é o de comandos, que tem por objetivo receber comandos na linguagem do GraphQL e traduzir esses comandos para a API do Mercado Livre.
A lista de comandos e como traduzi-los aparecem nas próximas seções. O segundo servidor é o de notificações, que tem por finalidade receber as notificações enviadas pelo mercado livre e a posteriori traduzi-las e enviá-las para o nosso servidor principal, que utiliza a linguagem GraphQL para se comunicar.
Esses dois servidores do AdapterML usarão um sistema de gerenciamento de tarefas (Celery), pois todos os comandos disparados para o servidor GraphQL e todas as notificações que chegarão no servidor de notificações terão que disparar em seguida uma tarefa através do celery (o celery usa um banco de memória que deverá ser o RabbitMQ).
Dessa forma cada servidor terá uma pasta para agrupar as tarefas das quais são responsáveis.
O orquestramento do sistema usando docker e docker-compose é opcional, porém facilita bastante o desenvolvimento e os testes. O docker será usado quando esse sistema for para a próxima etapa de evolução, um arquivo Dockerfile para construir a imagem do sistema pode ser passado já no início do projeto.


Nas próximas seções falaremos quais são os casos de comunicação que deverão ser desenvolvidos, em seguida quais dados precisam ser salvos no banco de dados(postgres:11). Após trataremos sobre quais são as tarefas a serem implementadas com o celery, por último falaremos sobre como deve ser desenvolvida o servidor GraphQL do AdapterML apresentando a interface de comunicação e também sobre como serão enviadas as notificações para o servidor Thoculi novamente apresentando a interface de comunicação em GraphQL.
As tecnologias necessárias conhecer ou aprender para o desenvolvimento desse sistema são:

Django
Graphene-Django
Django REST framework
Celery
JWCripto
Docker
Docker compose
RabbitMQ

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have the design
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: June 30, 2021

Skills needed

Other projects posted by T. F.