Devem estar instalados:
Esta opção é recomendada porque resolve geração de certificados.
Simplesmente abra o projeto no Visual Studio e aperte F5
, responda que sim para as opções de gerar certificados e aguardo a janela do navegador aparecer.
cd $RAIZ_DO_PROJETO/src/Kobold.TodoApp.Api
docker-compose up
- Descubra o endpoint da requisição:
- Se executou pelo Visual Studio (opção 1), Copie o endereço do navegador, sem o trecho final (todoapp), e.g.,
https://localhost:NUMERO_DA_PORTA/
- Se executou pela linha de comando, no terminal, digite
docker-ps
e veja o número da porta que aparece ao lado do containerteste-api-todo
, e.g.: abaixo é59115
:
faf7aa23c9e8 koboldtodoappapi "dotnet Kobold.TodoA…" 13 minutes ago Up 13 minutes 0.0.0.0:59116->80/tcp, 0.0.0.0:**59115**->443/tcp teste-api-todo-kobold.todoapp.api-1`
- Abra o postman;
- Faça requisições para localhost, na porta descoberta no passo2, item 1 (anterior a este), e.g.,
https://localhost:NUMERO_DA_PORTA/
, acrescentando ao finaltodo
, para consultar todos sem agrupamento, outodo/collections
, para consultar por agrupamentos.
- ORM
- API
- Repositório público no GitHub
- Banco de dados em container docker
- Interface Web
- Agrupamento em grupos/categorias;
- As categorias são
Todo
andDone
; - Cada tarefa só pertence a uma categoria.
- Tratamento de mensagens de erro para usuário;
- ORM
- API agrupando por
coleções
: 2.1. É agregado deTodos
. Ficará no mesmo controlador. - Trata erros
- banco no docker (branch: docker)
- teste unitário
- view com viewmodel
Este repositório define uma web API para gerenciamento de tarefas. O código fonte está organizado da seguinte forma:
-
Controllers:
-
Models:
-
Services:
-
run.sh: arquivo de inicialização da aplicação.
Para iniciar a aplicação execute o comando:
> dotnet run -p src/Kobold.TodoApp.Api
O exercício é composto de duas partes, a primeira obrigatória e a segunda opcional.
Altere o código da aplicação, implementando um mecanismo de agrupamento das tarefas (definidas pela classe
Todo
) em coleções, expondo as novas funcionalidades implementadas para consumo na web API.A aplicação não define um mecanismo de tratamento de erros, e exceções no processamento são expostas na resposta ao usuário. Implementar mecanismo de tratamento de erros na aplicação, de forma que as respostas apresentadas ao usuário não exponham detalhes da aplicação, e apresentem mensagens claras.
No processo de avaliação do código, avaliaremos as seguintes características:
-
Aderência da implementação ao código existente.
-
Clareza do código implementado.
-
Documentação das alterações efetuadas.
-
Estrutura das mensagens de commit.
A solução para o problema não é única. O candidato deve analisar o código existente, definir as funcionalidades a serem implementadas e implementa-las. A avaliação da solução apresentada será realizada em conversa com o candidato, com o objetivo de entender o processo de análise e tomada de decisões que levou àquela solução.