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.
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
😉
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
)
Alguns checks feitos no código assegurando mais qualidade:
- Github Actions (Lint e testes)
- CodeCov (Cobertura de testes)
- CodeFactor (CodeScanner verificando vulnerabilidades e code smells)
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 |
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
.