Padrões arquiteturais
Utilizamos o padrão arquitetural MTV (Model Template View). O Model faz a interface entre as classes do modelo e o banco de dados, as Views são definidas as classes que processam as requisições e o Template é uma linguagem criada pelo Django a fim de ser utilizada nos arquivos html fazendo a comunicação com a framework através das views. Comparado com o padrão MVC, o Model tem o mesmo papel, a View corresponde aos templates do Django e o Controller são as views criadas no Django mais as rotas definidas no arquivo de urls.
Utilizamos uma arquitetura de micro serviços para o LedsZeppellin. Cada micro serviço será responsável por fornecer uma interface para utilizar uma das ferramentas que o LedsZeppellin proverá suporte. Implementamos um micro serviço para a ferramenta Github. Este micro serviço é responsável por criar repositórios, alocar e remover colaboradores. Para utilizá-lo deve ser cadastrado, no LedsZeppelin, um novo projeto e em seguida clicar no botão “cadastrar projeto” assim um repositório com o nome do projeto será criado bem como adicionado os colaboradores e criado um arquivo “.gitignore” com a linguagem escolhida no cadastro do projeto. A aplicação principal faz requisições ao micro serviço através do protocolo HTTP que por sua vez se comunica com a API do Github.
Não foi possível realizar a implementação do micro serviço do Google Drive, pois tivemos muita dificuldade de lidar diretamente com a API. Não conseguimos entender direito como funcionava seus componentes para realizar a comunicação.