Este projeto foi desenvolvido como parte de um desafio da plataforma Digital Innovation One (DIO), com o objetivo de criar uma API utilizando a técnica de Minimal APIs para o registro de veículos.
O sistema desenvolvido visa gerenciar o registro de veículos, oferecendo funcionalidades para CRUD (Create, Read, Update, Delete) de veículos e gerenciamento de administradores com autenticação JWT.
Para explorar o funcionamento da API, foi utilizada a ferramenta Swagger, facilitando a interação e teste das requisições. Além disso, testes unitários foram aplicados para garantir a robustez e a confiabilidade do sistema.
-
Registro de Veículos: Operações de CRUD para veículos com informações como Nome, Marca, e Ano.
-
Gerenciamento de Administradores: Controle de acesso e autenticação de administradores utilizando JWT.
-
Autenticação JWT: Implementação de autenticação com tokens JWT para proteger as rotas da API e garantir que apenas administradores autorizados possam acessar certos recursos.
-
Documentação via Swagger: Exploração da API com uma interface visual amigável oferecida pelo Swagger.
-
Testes Unitários: Testes aplicados para validar as funcionalidades principais da aplicação e garantir a qualidade do código.
-
CRUD de Veículos: As operações de criação, leitura, atualização e exclusão de veículos são controladas e protegidas por autenticação JWT.
-
JWT para Administradores: Apenas administradores autenticados podem realizar certas ações, garantindo um controle seguro do sistema.
-
Validações de Dados: Todas as informações fornecidas para o registro de veículos são validadas, como o formato da placa e o ano do veículo.
- .NET Core com Minimal APIs
- Autenticação JWT
- Swagger para documentação da API
- Testes unitários com MSTest
- Entity Framework Core para manipulação de dados
- SQL Server como banco de dados
O projeto foi desenvolvido a partir do zero, utilizando as práticas modernas de desenvolvimento de APIs com .NET Core. O uso de Minimal APIs permitiu uma abordagem simplificada e eficiente, focada no desempenho e na facilidade de implementação.
Além disso, a segurança foi reforçada com o uso de JWT, e a documentação automática via Swagger permitiu a fácil exploração das funcionalidades da API durante o desenvolvimento.
Siga os passos abaixo para executar o projeto localmente:
Antes de começar, certifique-se de que você tenha instalado o seguinte:
-
.NET SDK 6.0+ (Utilizei o .NET SDK 7.0.404 no projeto).
-
SQL Server (ou outra base de dados configurável).
-
Postman ou outra ferramenta para testar requisições HTTP (opcional, além do Swagger).
Clone o projeto para o seu ambiente local:
git clone https://github.com/seu-usuario/minimal-api.git
cd minimal-api
Abra os arquivos
appsettings.json
dentro das pastasApi/
eTest/
e configure a string de conexão com seu banco de dados SQL Server:
"ConnectionStrings": {
"DefaultConnection": "Server=SEU_SERVIDOR;Database=NomeDoBanco;Uid=seu_usuario;Pwd=sua_senha;"
}
Navegue até o diretório do projeto e execute o comando para restaurar os pacotes NuGet necessários:
dotnet restore
Aplique as migrações do banco de dados para criar as tabelas necessárias:
dotnet ef database update
Execute a aplicação para inicializar a API:
dotnet run --project Api
A API estará disponível em
https://localhost:5001
ouhttp://localhost:5000
.
Abra o navegador e acesse o Swagger para interagir com a API:
https://localhost:5001/swagger
No Swagger, você poderá visualizar e testar as rotas da API diretamente.
Para rodar os testes unitários e garantir que a aplicação está funcionando corretamente:
dotnet test
Agora você tem o projeto configurado e funcionando no seu ambiente local. Sinta-se à vontade para modificar e expandir conforme necessário!