Rafael-Bessa /
CSHARP
Repositório direcionado ao C#
Loading repository data…
ViniHubb / repository
Repositório direcionado ao desenvolvimento de um backend em C# utilizando .NET 9 para um aplicativo que mapeia todas as localizações presentes na série Rick and Morty
Desenvolvimento de um backend em C# utilizando .NET 9 para um aplicativo que mapeia todas as localizações presentes na série Rick and Morty.
O backend fornece uma API RESTful que permite a consulta de informações sobre as localizações, incluindo detalhes como nome, tipo, dimensão e os personagens associados a cada localização.
Esse aplicativo também se conecta a api rickandmortyapi.com recebendo e tratando os dados das requisições realizadas.
Cadastro de Localizações e Personagens
Consultas sofisticadas
Associação de Personagens às Localizações
Autenticação e Autorização
Cache
Persistência de Dados
Arquitetura Domain Driven Design (DDD)
www.sqlite.orggit clone https://github.com/DevCoonnect/ViniciusDeJesus.git
cd ViniciusDeJesus
O projeto principal está nomeado como RickAndMorty
dotnet run --project RickAndMorty
A API será iniciada automaticamente no seu navegador padrão no endereço: https://localhost:7177
Primeiramente precisaremos criar uma SecretKey do tipo SHA256 e configurar os segredos do usuário dentro da IDE da seguinte forma:
{
"Settings": {
"SecretKey": "<sua-secretKey-SHA256-aqui>"
}
}
A autenticação é feita via JWT. Para acessar endpoints protegidos, inclua o token no cabeçalho da requisição:
Authorization: Bearer <seu-token-jwt>
Tokens válidos podem ser gerados através do endpoint api/Authentication/Login onde é necessário enviar o "name" e a "password" do usuário no body da requisição, como no exemplo abaixo:
{
"name": "admin",
"password": "admin"
}
Execute os testes unitário e de integração com o seguinte comando:
dotnet test
A cobertura inclui testes de integração completos utilizando CustomWebApplicationFactory, banco SQLite em memória e autenticação fake personalizada (TestAuthHandler).
Regra geral de todas as requisições: O retorno do erro 404 foi utilizado para os casos em que nenhum objeto foi encontrado no banco.
manager, employee e guest, sempre que um usuário é criado ele automaticamente recebe o perfil guest que possui o menor nível de acesso possível.
rickandmortyapi.com, onde podemos buscar todas as localizações e personagens.
api/ExternalApi/Location e api/ExternalApi/Character, será armazenado o retorno de todas as requisições que utilizarem o parâmetro name.Após executar o projeto conseguiremos interagir com o programa localmente através da url:
https://localhost:7177/api/{entidade}/{endpoint}?{parametros}
Os endpoints referentes a cada entidade são
GET Busca de todas -> endpoint = GetAllGET Busca por Id -> endpoint = GetId & parametro Id = 1DELETE Deleção por Id -> endpoint = Delete & parametro Id = 1POST Criação -> endpoint = CreatePATCH Atualização por Id -> enpoint = Update & parametro Id = 1GET Busca de todos -> endpoint = GetAllGET Busca por Id -> endpoint = GetId & parametro Id = 1DELETE Deleção por Id -> endpoint = Delete & parametro Id = 1POST Criação -> endpoint = CreatePATCH Atualização por Id -> enpoint = Update & parametro Id = 1GET Busca por Id -> endpoint = GetId & parametro Id = 1DELETE Deleção por Id -> endpoint = Delete & parametro Id = 1POST Criação -> endpoint = CreatePATCH Atualização por Id -> enpoint = Update & parametro Id = 1GET Busca por Localizações -> endpoint = Location
GET Busca por Character -> endpoint = Character
alive, dead ou unknown).female, male, genderless ou unknown).Parâmetros disponíveis para ambas as requisições
true ou false).POST Login do usuário -> endpoint = Loginbody deve conter name e passwordInício do desenvolvimento do projeto (08/08/2024), finalização (08/05/2025) Autor: Vinicius Niquini Andrade de Jesus Mentor: Lucas Pederzini Silva Créditos: Axel Fuhrmann
Selected from shared topics, language and repository description—not editorial ratings.
Rafael-Bessa /
Repositório direcionado ao C#