API REST para Jogos de RPG
API REST para Jogos de RPG
Se preferir, clique no vídeo para ver o funcionamento do software de forma audiovisual
Tecnologias Utilizadas
Linguagem C#
.NET 6
ASP .NET Core 6
API Web
JSON Web Token (JWT)
Data Transfer Object (DTO)
AutoMapper
Swagger
Entity Framework Core
Banco de Dados SQL Server
Link do Código: Acessar Código
Objetivo da API
A API construída baseia-se em um jogo de RPG, onde é possível fazer autenticação com registros e login de novos usuários através do sistema de Tokens (JWT). Cada usuário pode criar infinitos personagens dentre as classes estabelecidas: Cavaleiro, Mago ou Clérico, podendo também adicionar armas e skills para esses personagens.
No carrossel de imagens abaixo está a explicação da ideia central da API. Clique nos botões ao lado para avançar.
Essa é a tela inicial da API. Para começar, cria-se um novo usuário para poder ter acesso a todas as funcionalidades que a API oferece.
Na Seção "Auth" e clicando no método POST em registrar podemos criar um novo usuário.
Com o novo usuário cadastrado, podemos então fazer o login com as mesmas informações registradas anteriormente.
No método POST de login, após preencher as informações do usuário e clicar em "Execute", um Token é gerado. Esse Token é responsável por fazer a autenticação na API.
Clicando em "Authorize" no canto direito superior direito e inserindo o Token gerado, o usuário é então autenticado no sistema da API podendo ter acesso a outras funcionalidades.
Clicando no método POST em Character, podemos criar um novo personagem e escolher uma classe na qual esse personagem pertence.
Podemos perceber que o personagem foi cadastrado com sucesso ao banco de dados da API. No entanto, os campos "Weapon" e "Skills" permanecem vazios. Vamos então adicionar as armas e as skills do persongem.
Clicando no método POST de Weapon, podemos então adicionar uma arma ao personagem que acabamos de criar.
Podemos perceber então que a arma foi adicionado. Falta então as Skills.
As Skills são adicionadas de acordo com o ID específico de cada Skill predefinida no banco de dados. E elas podem ser associadas aos personagens de acordo com o ID específico do personagem.
Podemos perceber então que a Skill "Sabedoria" foi adicionada. Mas pode-se também adicionar diversas skills diferentes a um mesmo personagem.
E assim fica o personagem preenchido com todas as informações.
Podemos então modificar ou adicionar mais informações ao personagem com o método "Update". No caso em exemplo, atualizamos o nome do personagem.
Podemos também excluir o personagem fornecendo seu ID.
Na comparação acima, os personagens pertencem a dois usuários diferentes. Onde cada usuário só tem acesso exclusivamente aos seus personagens, não podendo interferir nos personagens de outros usuários.