Trata-se de uma API que integra com o serviço público SWAPI para complementar informações a respeito dos planetas de StarWars.
A aplicação desenvolvida utiliza Flask como framework web e MongoDB como banco de dados para o armazenamento de informações pertinentes aos planetas. Ambas as tecnologias estão containerizadas.
Para rodar a aplicação, a máquina deve possuir as seguintes ferramentas:
Os seguintes pacotes foram utilizados para a construção da aplicação Flask containerizada:
docker==4.2.0
docker-compose==1.25.4
Flask==1.1.1
Flask-PyMongo==2.3.0
pymongo==3.10.1
Primeiramente deve clonar o repositório em seu computador:
https://github.com/adornodev/desafio-bit-starwars.git
Com o repositório clonado, na raiz principal do projeto há um arquivo chamado requirements_txt. Nele consta todas as dependências necessárias para a execução do projeto.
Para iniciar a aplicação junto ao banco de dados pela primeira vez execute o comando:
docker-compose build
Após ter realizado o build da imagem, basta
docker-compose up -d
para iniciar a aplicação e
docker-compose stop
para interromper a execução.
Pronto, a aplicação está exposta localmente na porta 5000!
Caso tenha o Insomnia instalado, clique no botão abaixo para carregar todos os exemplos possíveis de requests
Resource: /planets
Tipo de Request | Descrição | Route Params | Query Params | Body de exemplo |
---|---|---|---|---|
DELETE | Deleta um planeta da base de dados | id do planeta da SWAPI ou nome do planeta | ||
POST | Insere um planeta na base de dados. Campos possíveis: name, terrain, climate |
{"name":"Alderaan", "climate": "temperature","terrain": "grasslands, mountains"} |
||
GET | Busca todos os planetas da base de dados | page, page_size (default 5) | Payload | |
GET | Busca por um planeta em específico | id do planeta da SWAPI ou nome do planeta |