Skip to content

Commit 8ae3c34

Browse files
Criado READ-ME com as instruções para execução do projeto
1 parent 779a35f commit 8ae3c34

File tree

1 file changed

+22
-71
lines changed

1 file changed

+22
-71
lines changed

README.md

Lines changed: 22 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,27 @@
1-
# Show me the code
1+
# Desafio Santander Way
22

33
### # DESAFIO:
44

55
API REST para Gestão de Gastos!
66

7-
```
8-
Funcionalidade: Integração de gastos por cartão
9-
Apenas sistemas credenciados poderão incluir novos gastos
10-
É esperado um volume de 100.000 inclusões por segundo
11-
Os gastos, serão informados atraves do protoloco JSON, seguindo padrão:
12-
{ "descricao": "alfanumerico", "valor": double americano, "codigousuario": numerico, "data": Data dem formato UTC }
13-
```
14-
```
15-
Funcionalidade: Listagem de gastos*
16-
Dado que acesso como um cliente autenticado que pode visualizar os gastos do cartão
17-
Quando acesso a interface de listagem de gastos
18-
Então gostaria de ver meus gastos mais atuais.
19-
20-
*Para esta funcionalidade é esperado 2.000 acessos por segundo.
21-
*O cliente espera ver gastos realizados a 5 segundos atrás.
22-
```
23-
```
24-
Funcionalidade: Filtro de gastos
25-
Dado que acesso como um cliente autenticado
26-
E acessei a interface de listagem de gastos
27-
E configure o filtro de data igual a 27/03/1992
28-
Então gostaria de ver meus gastos apenas deste dia.
29-
```
30-
```
31-
Funcionalidade: Categorização de gastos
32-
Dado que acesso como um cliente autenticado
33-
Quando acesso o detalhe de um gasto
34-
E este não possui uma categoria
35-
Então devo conseguir incluir uma categoria para este
36-
```
37-
```
38-
Funcionalidade: Sugestão de categoria
39-
Dado que acesso como um cliente autenticado
40-
Quando acesso o detalhe do gasto que não possui categoria
41-
E começo a digitar a categoria que desejo
42-
Então uma lista de sugestões de categoria deve ser exibida, estas baseadas em categorias já informadas por outro usuários.
43-
```
44-
```
45-
Funcionalidade: Categorização automatica de gasto
46-
No processo de integração de gastos, a categoria deve ser incluida automaticamente
47-
caso a descrição de um gasto seja igual a descrição de qualquer outro gasto já categorizado pelo cliente
48-
o mesmo deve receber esta categoria no momento da inclusão do mesmo
49-
```
50-
### # Avaliação
51-
52-
Você será avaliado pela usabilidade, por respeitar o design e pela arquitetura da API.
53-
É esperado que você consiga explicar as decisões que tomou durante o desenvolvimento através de commits.
54-
55-
* Springboot - Java - Maven (preferêncialmente) ([https://projects.spring.io/spring-boot/](https://projects.spring.io/spring-boot/))
56-
* RESTFul ([https://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/](https://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/))
57-
* DDD ([https://airbrake.io/blog/software-design/domain-driven-design](https://airbrake.io/blog/software-design/domain-driven-design))
58-
* Microservices ([https://martinfowler.com/microservices/](https://martinfowler.com/microservices/))
59-
* Testes unitários, teste o que achar importante (De preferência JUnit + Mockito). Mas pode usar o que você tem mais experiência, só nos explique o que ele tem de bom.
60-
* SOAPUI para testes de carga ([https://www.soapui.org/load-testing/concept.html](https://www.soapui.org/load-testing/concept.html))
61-
* Uso de diferentes formas de armazenamento de dados (REDIS, Cassandra, Solr/Lucene)
62-
* Uso do git
63-
* Diferencial: Criptografia de comunicação, com troca de chaves. ([http://noiseprotocol.org/](http://noiseprotocol.org/))
64-
* Diferencial: CQRS ([https://martinfowler.com/bliki/CQRS.html](https://martinfowler.com/bliki/CQRS.html))
65-
* Diferencial: Docker File + Docker Compose (com dbs) para rodar seus jars.
66-
67-
### # Observações gerais
68-
69-
Adicione um arquivo [README.md](http://README.md) com os procedimentos para executar o projeto.
70-
Pedimos que trabalhe sozinho e não divulgue o resultado na internet.
71-
72-
Faça um fork desse desse repositório em seu Github e nos envie um Pull Request com o resultado, por favor informe por qual empresa você esta se candidatando.
73-
74-
### # Importante: não há prazo de entrega, faça com qualidade!
75-
76-
# BOA SORTE!
7+
### # ETAPAS
8+
9+
Faça o clone do projeto
10+
Execute o comando
11+
~~~~
12+
mvn clean package
13+
~~~~
14+
Depois execute o docker apontando para o dockerfile da aplicação
15+
~~~~
16+
docker build -t .
17+
docker run -d -p 8080:8080 -p 8983:8983 -t santanderway:latest
18+
~~~~
19+
Caso o solr não tenha sido executado com sucesso, entre no bash e execute manualmente com o comando:
20+
~~~~
21+
./solr-8.1.1/bin/solr start -force
22+
~~~~
23+
24+
Agora você pode navegar pelo contrato da aplicação
25+
26+
### # Link do Swagger
27+
http://localhost:8080/swagger-ui.html

0 commit comments

Comments
 (0)