felipeweb / distributedcalc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calculadora distribuida

Funcionalidades Implementadas

  • expressões matemáticas simples
  • expressões matemáticas com variáveis

Serviços internos

  • Add: Serviço GRPC responsável pela operação de soma
  • Sub: Serviço GRPC responsável pela operação de subtração
  • Mul: Serviço GRPC responsável pela operação de multiplicação
  • Quo: Serviço GRPC responsável pela operação de divisão

Serviços publicos

  • Calc: Serviço REST responsável por receber as expressões e as variaveis fazer o parse distribuir as operações e devolver o resultado em formato JSON

Executando o sistema

docker-compose up

Exemplo de chamada

curl -i -X PUT \
   -H "Content-Type:application/json" \
   -d \
'{"expression": "X+(2Y+(X/Y))","variables":{"X":8,"Y":4}} ' \
 'http://localhost:8080'

Rodando os testes

Os testes do pacote parser são de unidade e rodam sem o sistema estar de pé porém os resto dos testes simulam o uso da API. Por isso para rodar todos os testes precisamos dos sistemas rodando para podemos executar o comando de testes com sucesso

API_ADDR=http://localhost:8080 go test ./... 

About


Languages

Language:Go 89.7%Language:Dockerfile 10.3%