Skip to content

luizotcarvalho/openapi-spot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAPI SPOT (Single Point Of Truth)

Motivação

Garantir a coesão de dados entre backend, frontend e mock sem nenhuma ajuda é díficil, o que pode ocasionar bugs e diminuir a velocidade de desenvolvimento. Ao utilizar o padrão OpenAPI para documentar os endpoints da API conseguimos também fazer uso de ferramentas específicas para gerar código e validar dados afim de garantir que todas as camadas da aplicação estão em sincronia, veja algumas da funcionalidades que conseguimos alcançar com essas ferramentas:

Backend

Frontend

  • Geração automática de tipos a partir do openapi com openapi-typescript;
  • Inferência de tipo em toda aplicação;

Servidor mock

  • Validação de request e response com @oas-tools/core;
  • Métodos implementam paths do openapi;
  • Server de verdade com express;

Testes

Instruções

Backend

Na pasta back rode pip install -r requirements.txt para instalar todas as depêndencias e depois python manage.py runserver para iniciar o backend, qualquer alteração no api.yaml irá reiniciar o servidor automaticamente.

Frontend

Na pasta front rode npm install para instalar todas as depêndencias, npm run dev para subir a aplicação e npm run watch para observar mudanças no api.yaml e gerar os tipos automaticamente.

Servidor mock

Na pasta mock rode npm install para instalar todas as depêndencias e depois npm run watch para subir o servidor mock, qualquer alteração no api.yaml irá reiniciar o servidor automaticamente.

Testes

Na raiz rode pip install schemathesis e depois st run api.yaml --base-url http://localhost:PORT com a porta correta do servidor que deseja testar (mock: 3000, real: 8000)

About

OpenAPI Single Point Of Truth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published