https://github.com/brenonsc/baldursgamestoreapi
Repositório criado com o objetivo de armazenar a API de uma loja de games criada em ASP.NET.
https://github.com/brenonsc/baldursgamestoreapi
Last synced: over 1 year ago
JSON representation
Repositório criado com o objetivo de armazenar a API de uma loja de games criada em ASP.NET.
- Host: GitHub
- URL: https://github.com/brenonsc/baldursgamestoreapi
- Owner: brenonsc
- License: mit
- Created: 2023-09-28T11:53:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-19T03:30:23.000Z (almost 2 years ago)
- Last Synced: 2024-07-19T11:56:23.328Z (almost 2 years ago)
- Language: C#
- Homepage: https://baldursgamestore.onrender.com
- Size: 73.2 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BaldursGameStoreAPI :space_invader::video_game:




Esta é a documentação para a API de uma loja de games que permite a manipulação de dados de produtos e categorias relacionadas a jogos. Esta API foi construída seguindo as melhores práticas do ASP.NET e oferece funcionalidades completas para gerenciar produtos e categorias.
## Tecnologias e Ferramentas utilizadas 💻
## Testando a API :man_scientist:
### Na nuvem ☁️
Para fazer os testes de forma online e sem necessidade de configurações, basta acessar o link do deploy e começar a utilizar.
### Localmente (utilizando Docker) :whale:
Para configurar a aplicação para executar em ambiente local, é necessário ter instalado o Docker e o .NET 7 SDK, e assim seguir o passo a passo abaixo:
#### 1. Clone o Projeto
```bash
git clone https://github.com/brenonsc/BaldursGameStoreAPI.git
cd BaldursGameStoreAPI
```
#### 2. Inicialize o contêiner do Docker
```bash
docker compose up
```
#### 3. Configure o appsettings.json
Certifique-se de alterar a variável "Environment":"Start" no arquivo `appsettings.json` do projeto (localizado dentro da pasta BaldursGame). A mesma está com o valor "PROD", que deve ser alterado para "DEV" para ser usado localmente, como representado abaixo:
```json
"Environment": {
"Start": "DEV"
},
```
#### 4. Execute a aplicação
Volte ao Terminal ou CMD e execute os seguintes comandos:
```bash
cd BaldursGame
dotnet run
```
Outra opção é usar uma IDE .NET de sua preferência, como Visual Studio ou Jetbrains Rider. A aplicação estará disponível em [localhost://5000](http://localhost:5000/swagger/index.html), no seu navegador.
A API está documentada no Swagger. Certifique-se de testar todas as operações CRUD para os recursos "Produto", "Categoria" e "Usuários", bem como os endpoints de busca por intervalo de preço e título ou console.
## Autenticação com JWT :key:
Para usar o método de login e obter um token JWT válido, faça uma solicitação POST para `/api/usuarios/logar` com as credenciais do usuário no corpo da solicitação. O servidor irá gerar um token JWT que deve ser incluído no cabeçalho das solicitações subsequentes como Bearer Token para autenticar o usuário. O token é válido por 1 hora, após o qual será necessário fazer login novamente.
Exemplo de cabeçalho de autenticação:
```
Authorization: Bearer
```
## Segurança de Acesso aos Recursos :lock:
A fim de garantir a segurança dos recursos e dados da API, foram implementadas regras de acesso que restringem determinadas operações com base na autenticação do usuário. Abaixo, estão as restrições de acesso para os recursos "Produto" e "Categoria":
### Recurso Produto e Categoria
- Todos os métodos CRUD relacionados ao recurso "Produto" requerem autenticação com um token JWT válido no cabeçalho da solicitação. Isso garante que apenas usuários autenticados tenham acesso a essas operações.
### Recurso Usuário
Para o recurso "Usuário", a seguinte política de segurança foi implementada:
- **Cadastro de Usuário**: O método de cadastro de usuário (`POST /api/usuarios/cadastrar`) pode ser acessado de forma anônima, ou seja, sem a necessidade de autenticação. Isso permite que novos usuários se registrem na plataforma.
- **Login de Usuário**: O método de login (`POST /api/usuarios/logar`) também pode ser acessado de forma anônima. No entanto, ao fazer login com sucesso, um token JWT válido é gerado e fornecido ao usuário. Este token deve ser usado para autenticar todas as outras operações subsequentes que exigem autenticação.
Lembrando que a segurança é fundamental para proteger os dados e garantir a integridade da plataforma. Certifique-se de incluir o token JWT válido no cabeçalho das solicitações sempre que necessário.
## Licença
Este software está licenciado sob a [Licença MIT](https://github.com/brenonsc/BaldursGameStoreAPI/blob/main/LICENSE).