Uma livraria da cidade teve um aumento no número de seus exemplares e está com um problema para identificar todos os livros que possui em estoque. Para ajudar a livraria foi solicitado a você desenvolver uma aplicação web para gerenciar estes exemplares.
- O sistema deverá mostrar todos os livros cadastrados ordenados de forma ascendente pelo nome.
- Ao persistir, validar se o livro já foi cadastrado.
- O sistema deverá permitir criar, editar e excluir um livro.
- Os livros devem ser persistidos em um banco de dados.
- Criar algum mecanismo de log de registro e de erro.
- Para a persistência dos dados deve ser utilizado o Dapper ou EF Core.
- Configurar o Swagger na aplicação(fundamental)
- Usar Microsfot SqlServer 2014 ou superior.
- Utilizar migrations ou Gerar Scripts e disponibilizá-los um uma pasta.
- O sistema deverá ser desenvolvido na plataforma .NET com C#, usando o framework ASP.NET CORE (preferêncialmente 3.0+, caso for usado outra versão, informar no pull-request)
- Deve conter autenticação com dois níveis de acesso, um administrador e um público, o usuário de nível público não terá autenticação, ou seja, terá acesso livre.
- Atenção aos princípio do SOLID.
- Implementar front-end para consumir a API em Angular como framework Javascript.
- obs: Teste terá como avaliação principal os requisitos solicitados para o backend, porém o frontend poderá ser critério de desempate.
- Aplicação das boas práticas do DDD, TDD, Design Patterns, SOLID e Clean Code.
1. Faça um fork deste repositório;
2. Realize o teste;
3. Adicione seu currículo na raiz do repositório;
4. Envie-nos o PULL-REQUEST para que seja avaliado;