gfpaiva / wishlist-api

Wishlist API É uma API pública para criar e gerenciar listas de desejos.

Home Page:https://gfpaiva-wishlist-api.herokuapp.com/docs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python application CodeFactor codecov StackShare

WISHLIST API

Wishlist Api É uma API Pública (com autenticação de aplicação) para criar e gerenciar listas de desejos.

Criado como side project para estudo e diversão 🤓.
Desenvolvido a partir das especificações técnicas do desafio técnico do LuizaLabs, consumindo API externa para detalhe dos produtos.

⚙️ Requisitos

Recomendado (principalmente para desenvolvimento local):

Ou instalação a parte dos serviços:

* Dica para linux: Post-installation recomendado para não precisar rodar comandos docker com sudo 😉

🏃🏽‍♂️ Rodando local

Primeiro de tudo você precisa criar um arquivo .env na raiz do projeto.
Você pode usar o arquivo .env.example, apenas duplicá-lo e renomeá-lo para .env já te deixa preparado para o desenvolvimento local.

Scripts:

comando descrição
make dev Encerra processo anterior, e cria novo através do docker-compose (python, postgres e redis)
make dev-logs Exibe logs dos serviços do docker-compose caso estejam rodando

Caso seu sistema não tenha suporte para rodar comandos do make você pode copiar e rodar manualmente as receitas que estão no arquivo ./Makefile.
Após os serviços e aplicação rodando, você pode acessar http://localhost:3000 para desenvolvimento e teste da API. Todos os endpoints estão documentados via SwaggerUI, que pode ser acessado no endereço http://localhost:3000/docs.

Uma autenticação inicial é criada para realizar os testes local:

  • usuário wishlist
  • senha wishlist

(receitas podem ser conferidas em db/init.sql)

✔️ Qualidade

Alguns checks feitos no código assegurando mais qualidade:

🔍 Testes

Scripts:

comando descrição
make test Roda testes de unidade dos services da aplicação
make test-cov Roda testes de unidade dos services da aplicação e gera relatórios de coverage
make test-integration Inicia serviços através do docker-compose e roda testes de integração dos endpoints da aplicação

🚀 Deploy

Hospedado no Heroku. E pode ser acessado no endereço https://gfpaiva-wishlist-api.herokuapp.com/docs (Documentação)
Processo de deploy e build são feitos automaticamente após sucesso dos checks do Github Actions na branch main.

About

Wishlist API É uma API pública para criar e gerenciar listas de desejos.

https://gfpaiva-wishlist-api.herokuapp.com/docs


Languages

Language:Python 98.6%Language:Makefile 0.9%Language:Shell 0.3%Language:Dockerfile 0.2%