Esta é uma API para listar Pokémon utilizando a PokeAPI. Permite também cadastrar um mestre Pokémon e registrar Pokémon capturados.
- .NET 8 SDK
- SQLite
- Ambiente Linux Ubuntu
- Instale o .NET SDK: Instalação do .NET SDK
- Configure o Visual Studio Code com a extensão C#.
O projeto segue uma arquitetura em camadas com as seguintes pastas principais:
- src/api: Contém os controladores e a configuração da API.
- src/domain: Contém as entidades e interfaces do domínio.
- src/services: Contém as implementações dos serviços.
- src/infrastructure: Contém a configuração do banco de dados e a implementação do repositório.
- Clone o repositório.
- Execute
dotnet restore
para instalar as dependências. - Execute
dotnet run
para iniciar o servidor.
- cd src/infrastructure => dotnet ef migrations add InitialCreate
- cd src/infrastructure => dotnet ef database update.
GET /pokemon/{id}
: Obtém um Pokémon pelo ID.GET /pokemon/random
: Obtém 10 Pokémon aleatórios.POST /trainer
: Cadastra um mestre Pokémon.POST /trainer/{trainerId}/capture/{pokemonId}
: Registra um Pokémon capturado.GET /trainer/{trainerId}/captured
: Lista os Pokémon capturados por um mestre Pokémon.
- A API interage com a PokeAPI para obter dados de Pokémon.
- Utiliza Entity Framework Core com SQLite para armazenar dados de mestres Pokémon e Pokémon capturados.
- Implementar cache para reduzir chamadas à PokeAPI.
- Adicionar autenticação para proteger os endpoints.