Desafio backend --> Análise de documentos
- Criar análise
- Listar todas análises
- Buscar uma análise
- Cache
- Tratamento de Erros
- Testes automatizados
- Build para produção
Para executar a aplicação, precisaremos instalar as seguintes ferramentas: Git, Node.js, Yarn e Docker.
O projeto foi desenvolvido no sistema operacional Linux Mint 20.0 com o editor VSCode.
# Crie o container para o banco de dados Postgres:
$ docker run --name luppa_api -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
# Crie o container para o cache Redis:
$ docker run --name luppa_cache -p 6379:6379 -d -t redis:alpine
# Clone este repositório:
$ git clone <https://github.com/RoberManuki/Luppa_api.git>
# Acesse a pasta do projeto no terminal/cmd:
$ cd Luppa_api
# Dentro da pasta raiz, instale as dependências:
$ yarn
# Execute o servidor:
$ yarn dev:server
# O servidor inciará na porta:3333 - acesse <http://localhost:3333> para fazer as requisições.# Crar análise
POST --> https://localhost:3333/analysis/
Body --> JSON
{
"fullName": "Robson da Silva Oliveira",
"cpf": "13223653694",
"documents": [
"https://document.com/example/Luppa_1",
"https://document.com/example/Luppa_2",
"https://document.com/example/Luppa_3"
]
}
# Listar todas análises
GET --> https://localhost:3333/analysis/list
No Body
# Listar uma análise
GET --> https://localhost:3333/analysis/
Body --> JSON
{
"analyze_id": "id retornado na criação",
}As seguintes ferramentas foram usadas na construção do projeto:
Robson da Silva Oliveira
Este projeto foi baseado no GoBarber_api, que é usado pela RocketSeat para ensinar Node, React e React-Native.
Em modo geral, o desafio foi MUITO proveitoso.
Foi a primeira vez que participei de um exercício nesse formato, e ele realmente colocou meus conhecimentos à prova.
Ou seja, além de ser útil para me avaliarem, ele também serviu para minha auto avaliação, deixando evidente os pontos em que preciso me aperfeiçoar.
Tecnicamente, tive dificuldade em:
- Resgatar os dados do cache, quando em Array;
- Criação e configuração dos relacionamentos;
- Montar corretamente a estrutura dos testes automatizados.
Enfim, agradeço a oportunidade de participar desse desafio! Procuro uma organização que possibilite um desenvolvedor iniciante a tornar-se um grande desenvolvedor, podem me ajudar!?!?