Skip to content

rhuanpk/pointers-angle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pointers Angle API

Essa API calcula o menor ângulo arredondado entre os ponteiros da hora e minuto de um relógio.

Ela recebe os valores via param paths (parâmetros de caminho), ou seja, os valores são informados como se fossem parte do endpoint. Seu retorno é um objeto json com um atributo nomeado de angle e seu conteúdo é o resultado do cálculo.

Utilização

A requisição pode ser feita por qualquer cliente que consiga abrir uma conexão HTTP:

  • Browser's: Qualquer navegador moderno deverá ser capaz de requisitar a rota, basta digitar a URL na barra de endereços e buscar;

  • Swagger: Esta API conta com a implementação do swagger, na qual, por dentro da própria interface dele é possível realizar as requisições (depois de executar a API, o swagger se encontrará disponível na URL: http://localhost:8080/swagger/index.html;

  • cURL: Com o comando curl <url> também é possível fazer a requisição via terminal ou em scripts. Ou com qualquer outra ferramenta CLI que possa ser um cliente HTTP.

URL

A URL para realizar as requisições via browser ou CLI:

[http://]localhost:8080/v1/rest/clock/<hour>[/<minute>]

Retorno

O modelo de json a ser retornado:

{
	"angle": <value>
}

Execução

A infraestrura da API foi projetada para rodar agnosticamente a qualquer "software externo" ou sistema operacional, sendo necessário somente a presença do Docker e Docker Compose. Sendo assim, basta clonar o repositório do projeto e estando na raiz, executar:

docker-compose up -d

Além de colocar a API de pé, este docker compose file criará a instância de um banco de dados PostgreSQL e também de um leve gerenciador de DBMS (Adminer).

Se desejar subir por conta própria o seu banco de dados e gerênciador gráfico, bastará trocar os valores do arquivo de configuração (config.yml) localizado na raiz do projeto e na hora de executar o compose, chamar somente a API:

docker-compose up -d api

Sem Docker

Caso ainda deseje executar a API standalone (sem docker), na raiz do projeto há um shell script (run.sh) para ser executado com "./":

./run.sh

Para esse caso, é necessário previamente que tenha o Golang instalado no seu sistema operacional e execute apenas para a primeira vez:

go install 'github.com/swaggo/swag/cmd/swag@latest'

DBMS

Para entrar no gerênciador gráfico, acesse:

[http://]localhost:8888

E no formulário de login defina os valores:

  • System: PostgreSQL;
  • Server: database;
  • Username: root;
  • Password: root.

OBSERVAÇÕES:

  • O que está envolvido em colchetes ([]) é opcional.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published